Created attachment 791553 [details] rpmdep -dot redhat-lsb-core.dot redhat-lsb-core redhat-lsb-core pulls in the graphical stack as dependencies due to the dependency on cups -> cups-filters redhat-lsb-core was created as a minimal subset of redhat-lsb for situations where it was inappropriate to pull in the entire graphical stack that redhat-lsb depends on. For background on this see https://bugzilla.redhat.com/show_bug.cgi?id=835919 Currently installing redhat-lsb-core-4.1-14.fc19 results in an 87M installed size. This makes using lsb_release impractical in many scenarios such as a fedora cloud image. Attached is the outputs of the following commands: yum install rpmorphan rpmdep -dot redhat-lsb-core.dot redhat-lsb-core dot -Tsvg -o redhat-lsb-core.svg < redhat-lsb-core.dot Below is the yum output for installing redhat-lsb-core on a pristine Fedora 19 cloud image ========================================================================================================================= Package Arch Version Repository Size ========================================================================================================================= Installing: redhat-lsb-core x86_64 4.1-14.fc19 fedora 36 k Installing for dependencies: at x86_64 3.1.13-12.fc19 fedora 65 k avahi x86_64 0.6.31-11.fc19 fedora 260 k avahi-glib x86_64 0.6.31-11.fc19 fedora 24 k avahi-libs x86_64 0.6.31-11.fc19 fedora 60 k bc x86_64 1.06.95-9.fc19 fedora 114 k binutils x86_64 2.23.52.0.1-9.fc19 updates 4.5 M cairo x86_64 1.12.14-2.fc19 fedora 689 k cups x86_64 1:1.6.3-4.fc19 updates 1.3 M cups-filesystem noarch 1:1.6.3-4.fc19 updates 87 k cups-filters x86_64 1.0.36-2.fc19 updates 352 k cups-filters-libs x86_64 1.0.36-2.fc19 updates 89 k cups-libs x86_64 1:1.6.3-4.fc19 updates 345 k ed x86_64 1.9-1.fc19 updates 71 k fontconfig x86_64 2.10.93-1.fc19 fedora 224 k fontpackages-filesystem noarch 1.44-7.fc19 fedora 9.8 k gettext x86_64 0.18.2.1-1.fc19 fedora 958 k gettext-libs x86_64 0.18.2.1-1.fc19 fedora 424 k ghostscript x86_64 9.07-12.fc19 updates 4.3 M ghostscript-cups x86_64 9.07-12.fc19 updates 54 k ghostscript-fonts noarch 5.50-30.fc19 fedora 324 k hwdata noarch 0.255-1.fc19 updates 1.1 M lcms2 x86_64 2.5-1.fc19 updates 143 k libICE x86_64 1.0.8-5.fc19 fedora 62 k libSM x86_64 1.2.1-5.fc19 fedora 37 k libX11 x86_64 1.6.0-1.fc19 updates 594 k libX11-common noarch 1.6.0-1.fc19 updates 181 k libXau x86_64 1.0.8-1.fc19 fedora 29 k libXdamage x86_64 1.1.4-3.fc19 fedora 20 k libXext x86_64 1.3.2-1.fc19 fedora 37 k libXfixes x86_64 5.0.1-1.fc19 fedora 18 k libXfont x86_64 1.4.5-4.fc19 fedora 139 k libXrender x86_64 0.9.7-6.20130524git786f78fd8.fc19 fedora 25 k libXt x86_64 1.1.4-5.fc19 fedora 168 k libXxf86vm x86_64 1.1.3-1.fc19 fedora 17 k libcroco x86_64 0.6.8-2.fc19 fedora 102 k libdaemon x86_64 0.14-5.fc19 fedora 29 k libdrm x86_64 2.4.46-1.fc19 updates 115 k libfontenc x86_64 1.1.1-3.fc19 fedora 28 k libgomp x86_64 4.8.1-1.fc19 fedora 94 k libpciaccess x86_64 0.13.1-3.fc19 fedora 25 k libpng x86_64 2:1.5.13-2.fc19 fedora 210 k libunistring x86_64 0.9.3-7.fc19 fedora 290 k libusbx x86_64 1.0.16-3.fc19 updates 57 k libwayland-client x86_64 1.2.0-1.fc19 updates 24 k libwayland-server x86_64 1.2.0-1.fc19 updates 29 k libxcb x86_64 1.9-3.fc19 fedora 160 k m4 x86_64 1.4.16-7.fc19 fedora 254 k mailx x86_64 12.5-8.fc19 fedora 242 k mesa-libEGL x86_64 9.2-0.14.20130723.fc19 updates 73 k mesa-libGL x86_64 9.2-0.14.20130723.fc19 updates 132 k mesa-libgbm x86_64 9.2-0.14.20130723.fc19 updates 28 k mesa-libglapi x86_64 9.2-0.14.20130723.fc19 updates 33 k openjpeg-libs x86_64 1.5.1-5.fc19 fedora 88 k patch x86_64 2.7.1-6.fc19 fedora 109 k pixman x86_64 0.30.0-1.fc19 fedora 251 k poppler x86_64 0.22.1-4.fc19 updates 726 k poppler-data noarch 0.4.6-2.fc19 fedora 2.2 M poppler-utils x86_64 0.22.1-4.fc19 updates 155 k psmisc x86_64 22.20-2.fc19 fedora 139 k qpdf-libs x86_64 5.0.0-1.fc19 updates 315 k redhat-lsb-submod-security x86_64 4.1-14.fc19 fedora 14 k spax x86_64 1.5.2-5.fc19 fedora 258 k time x86_64 1.7-43.fc19 fedora 30 k urw-fonts noarch 2.4-15.fc19 fedora 3.0 M xorg-x11-font-utils x86_64 1:7.5-17.fc19 updates 86 k Transaction Summary ========================================================================================================================= Install 1 Package (+65 Dependent packages) Total size: 26 M Total download size: 1.1 M Installed size: 87 M
Created attachment 791554 [details] dot -Tsvg -o redhat-lsb-core.svg < redhat-lsb-core.dot
Sounds strange. I don't see explicit cups requirement in redhat-lsb-core of f19 - http://koji.fedoraproject.org/koji/rpminfo?rpmID=4020867 and http://koji.fedoraproject.org/koji/rpminfo?rpmID=4020866 ... it would be really good to find out what dependency brings it in.
I see, /usr/bin/lp and /usr/bin/lpr explicit binary requirement. Adding Tim Waugh to cc - Tim, are you aware of any reason why these have to be in the lsb-core instead of the printing module ?
Hmmms, I see... /usr/bin/lpr is required binary in the core specification. Can we have the core cups binaries in some subpackage? Otherwise, the graphical stack will likely stay in dependency tree - I have to require /usr/bin/lpr in -core.
Potentially the CUPS client binaries could be in a sub-package.
Created attachment 879123 [details] cups-client.patch How does this spec file change look?
Comment on attachment 879123 [details] cups-client.patch Looks good to me. I'd just make the Requires arch-specific, i.e. Requires: %{name}-client%{?_isa} = %{epoch}:%{version}-%{release} We miss it also in '%package lpd', so could you do [1] - Requires: %{name} = %{epoch}:%{version}-%{release} + Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} when you are in it ? [1] https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Requiring_Base_Package
Actually it won't be that easy I think - we use alternatives for these binaries. Shouldn't the installing of alternatives be moved from %post to '%post client' ?
Moved to cups, as the package split will happen there (with no change in redhat-lsb-core)
(In reply to Jiri Popelka from comment #8) > Actually it won't be that easy I think - we use alternatives for these > binaries. > Shouldn't the installing of alternatives be moved from %post to '%post > client' ? Oh, you're right, thanks for spotting that. Luckily all of the 'alternatives' commands will move to the sub-package, so we can just move the alternatives handling to the client sub-packages. Let's make those changes, along with the {?_isa} addition and the lpd sub-package fix.
Should be fixed in cups-1.7.1-9.fc21 http://pkgs.fedoraproject.org/cgit/cups.git/commit/?id=7d8f9987c26661757aa8b4e27a3badb273a37e27