Bug 1499140

Summary: samba-client-libs should not depend on samba-dc-libs
Product: [Fedora] Fedora Reporter: Lukas Slebodnik <lslebodn>
Component: sambaAssignee: Guenther Deschner <gdeschner>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 27CC: abokovoy, anoopcs, asn, gdeschner, jarrpa, lmohanty, madam, sbose, ssorce
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: samba-4.7.1-0.fc27 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-11-11 02:59:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lukas Slebodnik 2017-10-06 08:26:44 UTC
Description of problem:
I noticed such error after re-basing krb5 in rawhide. There are problem to resolve few dependencies for sssd. And sssd depends only on samba-client-libs
Therefore I would not expect that server related libraries are pulled as a dependency.

IMHO there should be reverse dependency. samba-dc-libs requires samba-client-libs

Version-Release number of selected component (if applicable):
sh$ rpm -q samba-client-libs
samba-client-libs-4.7.0-12.fc27.x86_64

How reproducible:
Deterministic

Steps to Reproduce:
1. dnf install -y samba-client-libs
2. rpm -q --requires samba-client-libs | grep server

Actual results:
//output should not contains any libraries from samba-dc-libs 
sh$ rpm -q --requires samba-client-libs | grep server
libdfs-server-ad-samba4.so()(64bit)
libdfs-server-ad-samba4.so(SAMBA_4.7.0)(64bit)
libserver-id-db-samba4.so()(64bit)
libserver-id-db-samba4.so(SAMBA_4.7.0)(64bit)
libserver-role-samba4.so()(64bit)
libserver-role-samba4.so(SAMBA_4.7.0)(64bit)

sh$ rpm -q --whatprovides "libdfs-server-ad-samba4.so()(64bit)" "libdfs-server-ad-samba4.so()(64bit)" "libserver-role-samba4.so()(64bit)"
samba-dc-libs-4.7.0-12.fc27.x86_64
samba-dc-libs-4.7.0-12.fc27.x86_64
samba-client-libs-4.7.0-12.fc27.x86_64

Expected results:
sh$ rpm -q --requires samba-client-libs | grep server
libserver-role-samba4.so()(64bit)
libserver-role-samba4.so(SAMBA_4.7.0)(64bit)


Additional info:
Anyway there is circular dependency between samba-client-libs and samba-dc-libs
Here is output from rpmreaper:

  o    18.5M samba-client-libs         4.7.0-12.fc27.x86_64
        146K ├─> avahi-libs                0.7-3.fc27.x86_64
        891K ├─> cups-libs                 2.2.4-5.fc27.x86_64
  o    13.5M ├─> glibc                     2.26-8.fc27.x86_64
        2.2M ├─> gnutls                    3.6.0-1.fc28.x86_64
        2.1M ├─> krb5-libs                 1.15.2-2.fc27.x86_64
         36K ├─> libacl                    2.2.52-18.fc27.x86_64
         20K ├─> libattr                   2.4.47-21.fc27.x86_64
        108K ├─> libcap                    2.25-7.fc27.x86_64
         59K ├─> libcom_err                1.43.5-2.fc27.x86_64
        372K ├─> libldb                    1.2.2-1.fc27.x86_64
         84K ├─> libtalloc                 2.1.10-4.fc27.x86_64
         89K ├─> libtdb                    1.3.15-1.fc27.x86_64
         69K ├─> libtevent                 0.9.33-3.fc27.x86_64
  o      72K ├─>+libwbclient               4.7.0-12.fc27.x86_64
        995K ├─> openldap                  2.4.45-3.fc27.x86_64
  o     2.5M ├─> pam                       1.3.0-6.fc28.x86_64
        125K ├─> samba-common              4.7.0-12.fc27.noarch
  o     1.7M ├─>+samba-dc-libs             4.7.0-12.fc27.x86_64                                                                                                                            
  o    13.5M │   ├─> glibc                     2.26-8.fc27.x86_64
        2.2M │   ├─> gnutls                    3.6.0-1.fc28.x86_64
        2.1M │   ├─> krb5-libs                 1.15.2-2.fc27.x86_64
         59K │   ├─> libcom_err                1.43.5-2.fc27.x86_64
        217K │   ├─> libkadm5                  1.15.2-2.fc27.x86_64
        372K │   ├─> libldb                    1.2.2-1.fc27.x86_64
         84K │   ├─> libtalloc                 2.1.10-4.fc27.x86_64
         69K │   ├─> libtevent                 0.9.33-3.fc27.x86_64
       25.0M │   ├─> python2-libs              2.7.13-17.fc27.x86_64
  o    18.5M │   ├─>+samba-client-libs         4.7.0-12.fc27.x86_64
  o     243K │   ├─>+samba-common-libs         4.7.0-12.fc27.x86_64
  o     740K │   └─>+samba-libs                4.7.0-12.fc27.x86_64
  o     740K ├─>+samba-libs                4.7.0-12.fc27.x86_64
        1.3M ├─> systemd-libs              234-8.fc27.x86_64
        190K └─> zlib                      1.2.11-4.fc27.x86_64

Comment 1 Lukas Slebodnik 2017-10-06 08:36:44 UTC
And there is much better reproducer even though it takes a little bit longer (maybe due to recursive dependencies)

sh$# time dnf repoquery --arch x86_64 --resolve --requires samba-client-libs
Last metadata expiration check: 0:43:40 ago on Fri 06 Oct 2017 09:44:50 AM CEST.
avahi-libs-0:0.7-3.fc27.x86_64
cups-libs-1:2.2.4-6.fc27.x86_64
glibc-0:2.26-8.fc27.x86_64
gnutls-0:3.5.15-1.fc27.x86_64
krb5-libs-0:1.15.2-2.fc27.x86_64
libacl-0:2.2.52-18.fc27.x86_64
libattr-0:2.4.47-21.fc27.x86_64
libcap-0:2.25-7.fc27.x86_64
libcom_err-0:1.43.5-2.fc27.x86_64
libldb-0:1.2.2-1.fc27.x86_64
libtalloc-0:2.1.10-4.fc27.x86_64
libtdb-0:1.3.15-1.fc27.x86_64
libtevent-0:0.9.33-3.fc27.x86_64
libwbclient-2:4.7.0-12.fc27.x86_64
openldap-0:2.4.45-3.fc27.x86_64
pam-0:1.3.0-6.fc27.x86_64
samba-dc-libs-2:4.7.0-12.fc27.x86_64
samba-libs-2:4.7.0-12.fc27.x86_64
systemd-libs-0:234-8.fc27.x86_64
zlib-0:1.2.11-4.fc27.x86_64

real    2m40.973s
user    2m39.635s
sys     0m1.049s

Comment 2 Lukas Slebodnik 2017-10-06 14:17:52 UTC
BTW samba-common-libs requires samba-client-libs as well which is not ideal.

[root@host ~]# time dnf repoquery --arch x86_64 --resolve --requires samba-common-libs
Last metadata expiration check: 0:23:56 ago on Fri 06 Oct 2017 03:50:25 PM CEST.
glibc-0:2.26-8.fc27.x86_64
libtalloc-0:2.1.10-4.fc27.x86_64
libtdb-0:1.3.15-1.fc27.x86_64
libwbclient-2:4.7.0-12.fc27.x86_64
openldap-0:2.4.45-3.fc27.x86_64
popt-0:1.16-11.fc27.x86_64
samba-client-libs-2:4.7.0-12.fc27.x86_64

real    1m50.045s
user    1m49.147s
sys     0m0.715s

Comment 3 Andreas Schneider 2017-10-13 08:30:57 UTC
Samba is a dependency hell and will be for a long long time!

However libdfs-server-ad-samba4.so is a library needed by smbd and not by the DC so it should be in samba-libs.

Comment 4 Fedora Update System 2017-10-23 12:10:29 UTC
samba-4.7.0-14.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-eccb41c764

Comment 5 Fedora Update System 2017-10-23 16:22:44 UTC
samba-4.7.0-14.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-eccb41c764

Comment 6 Fedora Update System 2017-10-26 17:56:26 UTC
samba-4.7.0-16.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-517bb72df7

Comment 7 Fedora Update System 2017-10-27 13:31:57 UTC
samba-4.7.0-17.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-c8663d6898

Comment 8 Fedora Update System 2017-10-27 18:50:11 UTC
samba-4.7.0-17.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-c8663d6898

Comment 9 Fedora Update System 2017-10-31 17:23:53 UTC
libldb-1.3.0-2.fc27 samba-4.7.0-18.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-18d849bd06

Comment 10 Fedora Update System 2017-10-31 19:08:40 UTC
libldb-1.3.0-2.fc27, samba-4.7.0-18.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-18d849bd06

Comment 11 Fedora Update System 2017-11-03 12:28:35 UTC
libldb-1.3.0-2.fc27 samba-4.7.1-0.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-18d849bd06

Comment 12 Fedora Update System 2017-11-04 19:04:26 UTC
libldb-1.3.0-2.fc27, samba-4.7.1-0.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-18d849bd06

Comment 13 Fedora Update System 2017-11-11 02:59:32 UTC
libldb-1.3.0-2.fc27, samba-4.7.1-0.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.