Bug 1002342

Summary: redhat-lsb-core pulls in the graphical stack due to cups
Product: [Fedora] Fedora Reporter: Steve Baker <sbaker>
Component: cupsAssignee: Tim Waugh <twaugh>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: hliu, jpopelka, ovasik, pnemade, tools-bugs, twaugh
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: cups-1.7.1-9.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-04-02 15:44:14 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:
Bug Depends On:    
Bug Blocks: 1115057    
Attachments:
Description Flags
rpmdep -dot redhat-lsb-core.dot redhat-lsb-core
none
dot -Tsvg -o redhat-lsb-core.svg < redhat-lsb-core.dot
none
cups-client.patch jpopelka: review+

Description Steve Baker 2013-08-29 00:02:08 UTC
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

Comment 1 Steve Baker 2013-08-29 00:03:31 UTC
Created attachment 791554 [details]
dot -Tsvg -o redhat-lsb-core.svg < redhat-lsb-core.dot

Comment 2 Ondrej Vasik 2013-12-19 07:10:15 UTC
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.

Comment 3 Ondrej Vasik 2014-03-26 06:26:33 UTC
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 ?

Comment 4 Ondrej Vasik 2014-03-26 06:31:24 UTC
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.

Comment 5 Tim Waugh 2014-03-26 16:44:55 UTC
Potentially the CUPS client binaries could be in a sub-package.

Comment 6 Tim Waugh 2014-03-26 16:50:26 UTC
Created attachment 879123 [details]
cups-client.patch

How does this spec file change look?

Comment 7 Jiri Popelka 2014-03-31 12:42:57 UTC
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

Comment 8 Jiri Popelka 2014-03-31 12:54:36 UTC
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' ?

Comment 9 Ondrej Vasik 2014-03-31 13:34:10 UTC
Moved to cups, as the package split will happen there (with no change in redhat-lsb-core)

Comment 10 Tim Waugh 2014-04-01 13:48:00 UTC
(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.

Comment 12 Jiri Popelka 2014-04-02 15:44:14 UTC
Should be fixed in cups-1.7.1-9.fc21

http://pkgs.fedoraproject.org/cgit/cups.git/commit/?id=7d8f9987c26661757aa8b4e27a3badb273a37e27