coreos / fedora-coreos-tracker

Issue tracker for Fedora CoreOS
https://fedoraproject.org/coreos/
264 stars 59 forks source link

Fedora 32 samba-client-libs now pulls in Unicode data #452

Closed jlebon closed 4 years ago

jlebon commented 4 years ago

This came up in the f32 FCOS rebase in https://github.com/coreos/fedora-coreos-config/pull/306: https://github.com/coreos/fedora-coreos-config/pull/306#discussion_r403247325.

Looks like we're now pulling in a new package (libicu) which contains a lot of Unicode data. 33M worth to be exact:

# du -sh /usr/lib64/libicu* --total
0       /usr/lib64/libicudata.so.65
27M     /usr/lib64/libicudata.so.65.1
0       /usr/lib64/libicui18n.so.65
3.1M    /usr/lib64/libicui18n.so.65.1
0       /usr/lib64/libicuio.so.65
64K     /usr/lib64/libicuio.so.65.1
0       /usr/lib64/libicutest.so.65
84K     /usr/lib64/libicutest.so.65.1
0       /usr/lib64/libicutu.so.65
224K    /usr/lib64/libicutu.so.65.1
0       /usr/lib64/libicuuc.so.65
2.0M    /usr/lib64/libicuuc.so.65.1
33M     total

Need to investigate whether this is something we could shed or have to live with.

dustymabe commented 4 years ago

I wonder if we made a conscious decision to include samba or not. Looks like it boils down to libsmbclient being needed by sssd-ad:

[core@ibm-p8-kvm-03-guest-02 ~]$ rpm -e samba-common
error: Failed dependencies:
        samba-common = 2:4.11.7-0.fc31 is needed by (installed) samba-client-libs-2:4.11.7-0.fc31.x86_64
        samba-common = 2:4.11.7-0.fc31 is needed by (installed) samba-common-libs-2:4.11.7-0.fc31.x86_64
        samba-common = 2:4.11.7-0.fc31 is needed by (installed) libsmbclient-2:4.11.7-0.fc31.x86_64
[core@ibm-p8-kvm-03-guest-02 ~]$ rpm -e libsmbclient
error: Failed dependencies:
        libsmbclient.so.0()(64bit) is needed by (installed) sssd-ad-2.2.3-13.fc31.x86_64
        libsmbclient.so.0(SMBCLIENT_0.1.0)(64bit) is needed by (installed) sssd-ad-2.2.3-13.fc31.x86_64
dustymabe commented 4 years ago

We discussed this in the community meeting today.

12:52:33* dustymabe | #action cyberpear to take a look to see if we can change the libicu dep in samba-client-libs to a recommends (#452)

Thanks @jamescassell for helping out with this!

jamescassell commented 4 years ago

5 years ago introduction of libsmbclient https://src.fedoraproject.org/rpms/sssd/c/c9a7a9b259c1cb9068897275b5afcd718a3d48b4

to support AD-GPO feature https://www.redhat.com/archives/freeipa-interest/2014-July/msg00001.html

Not sure what else it's needed for. @sumit-bose might know if we can downgrade libsmbclient to an RPM "Recommends" for sssd-ad or if it must remain a hard dep. Theoretically, sssd-ad is just a wrapper of sssd-krb5 and sssd-ldap, but maybe there's more going on.

In rawhide (fc33), the dep chain to the newly-added libicu is sssd-ad -> samba-client-libs -> libicu

4 months ago, the samba libicu dep was added here with message "Add dependent packages to get spotlight support": https://src.fedoraproject.org/rpms/samba/c/80747c7e03fee89ede287ee0e837bf21e537caa2

so if anything, my guess is the samba->libicu could be made a recommend somehow, but I don't have any further insight. Perhaps the samba-client-libs package could be split into smaller packages, as that is itself a large package at 21.4M

dustymabe commented 4 years ago

Thanks for looking at this @jamescassell.

so if anything, my guess is the samba->libicu could be made a recommend somehow

Could you PR the spec and we'll see what the maintainers say?

jamescassell commented 4 years ago

Thanks for looking at this @jamescassell.

so if anything, my guess is the samba->libicu could be made a recommend somehow

Could you PR the spec and we'll see what the maintainers say?

Sorry, I don't really have the bandwidth to figure out what it looks like.

jlebon commented 4 years ago

so if anything, my guess is the samba->libicu could be made a recommend somehow

Could you PR the spec and we'll see what the maintainers say?

Hmm, I don't think it'd be that simple. Just checking on my f32 Silverblue, which also has libicu as a dep from sssd-ad, I see:

$ ldd /usr/lib64/sssd/libsss_ad.so | grep icu
        libicui18n.so.65 => /lib64/libicui18n.so.65 (0x00007f6d406e3000)
        libicuuc.so.65 => /lib64/libicuuc.so.65 (0x00007f6d404fb000)
        libicudata.so.65 => /lib64/libicudata.so.65 (0x00007f6d3debc000)

One thing we could try is get sssd-ad downgraded to a Recommends. Though actually, it looks like samba-client-libs is also a dep of sssd-common-pac and sssd-ipa (which I think we do want?). So it might not be that straight-forward.

Looking further now on what else requires libicu on my Silverblue (using https://github.com/jlebon/files/blob/master/bin/whatrequires):

$ whatrequires libicu
libicu-65.1-2.fc32.x86_64

evolution-data-server-3.36.2-1.fc32.x86_64
harfbuzz-icu-2.6.4-3.fc32.x86_64
ibus-qt-1.3.3-24.fc32.x86_64
libical-3.0.8-1.fc32.x86_64
libicu-65.1-2.fc32.x86_64
libtracker-sparql-2.3.4-1.fc32.x86_64
qt5-qtbase-5.13.2-5.fc32.x86_64
samba-client-libs-4.12.2-0.fc32.1.x86_64
tracker-2.3.4-1.fc32.x86_64
tracker-miners-2.3.3-1.fc32.x86_64
vte291-0.60.2-1.fc32.x86_64
webkit2gtk3-2.28.2-2.fc32.x86_64
webkit2gtk3-jsc-2.28.2-2.fc32.x86_64

samba-client-libs is the only thing that we ship right now in FCOS, though clearly there's a bunch of other things that also make use of it, so it might end up coming back again. So... not sure if this is worth it.

dustymabe commented 4 years ago

So... not sure if this is worth it.

i'm fine with leaving it in assuming it's probably going to get brought in in the future anyway.

sumit-bose commented 4 years ago

5 years ago introduction of libsmbclient https://src.fedoraproject.org/rpms/sssd/c/c9a7a9b259c1cb9068897275b5afcd718a3d48b4

to support AD-GPO feature https://www.redhat.com/archives/freeipa-interest/2014-July/msg00001.html

Not sure what else it's needed for. @sumit-bose might know if we can downgrade libsmbclient to an RPM "Recommends" for sssd-ad or if it must remain a hard dep. Theoretically, sssd-ad is just a wrapper of sssd-krb5 and sssd-ldap, but maybe there's more going on.

Hi,

thanks for making me aware of this. The dependency in libsss_ad.so is imo not needed, I already opened https://github.com/SSSD/sssd/pull/5174 about this. But unfortunately there is a strict dependency of the gpg_child helper process to libsmbclient, so it is really required and cannot be made Recommends.

bye, Sumit

dustymabe commented 4 years ago

Closing this out. Not much left to discuss.