Bug 923547 - Packages listed as 'optional' or 'conditional' in comps being pulled into F19 live composes and net installs
Summary: Packages listed as 'optional' or 'conditional' in comps being pulled into F19...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: 19
Hardware: All
OS: All
unspecified
high
Target Milestone: ---
Assignee: James Antill
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException
: 923549 (view as bug list)
Depends On:
Blocks: F19Alpha-accepted, F19AlphaFreezeException F19Beta, F19BetaBlocker
TreeView+ depends on / blocked
 
Reported: 2013-03-20 04:56 UTC by Adam Williamson
Modified: 2013-04-04 05:28 UTC (History)
17 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-04-04 05:28:20 UTC


Attachments (Terms of Use)

Description Adam Williamson 2013-03-20 04:56:13 UTC
This is an odd one. In all the F19 live images I've done so far, some packages have showed up for no reason I can figure out.

Both KDE and GNOME lives seem to contain cups-pdf. It is not listed as 'mandatory' or 'default' in any group in comps, and it is not mentioned in any spin-kickstarts .ks at all. Nothing requires it:

[root@adam spin-kickstarts (f19 *)]# repoquery --whatrequires cups-pdf
[root@adam spin-kickstarts (f19 *)]# 

It only provides:

config(cups-pdf)
cups-pdf
cups-pdf(x86-64)

and nothing else, so far as I can tell, requires any of those.

After installing the live image, I can run 'yum remove cups-pdf' and no other packages get removed at all - it comes out clean. So why is it winding up in the images? I have no idea, neither does bcl. It's a mystery.

Comment 1 Adam Williamson 2013-03-23 06:41:51 UTC
OK, so this turns out to be pretty simple. I thought I'd already discovered it, but must have had a brain fart.

For some reason, packages listed as 'optional' in comps are being pulled into the live composes. a2ps is listed as 'optional' in the @printing group, which is in fedora-live-base.ks , so it gets pulled in. This was not the case in the past, only 'default' and 'mandatory' packages were pulled in.

This is probably what's to blame for almost all the crazy size explosion of the F19 images. There's all sorts of wacky stuff marked as 'optional' in the core groups. a2ps alone pulls the whole of perl and texlive onto the lives, for instance.

Proposing as a blocker for Beta, as this bug makes it almost impossible to force the images below their target sizes, which is a Beta requirement:

"The network installation image, DVD image, and live images for release-blocking desktops must meet current size requirements"

Also proposing as an FE for Alpha, as having all this crap in the lives just makes them more of a pain to build, more of a pain to download and test, and more fragile.

Comment 2 Adam Williamson 2013-03-23 06:57:12 UTC
Let's blame this one on yum, as all livecd-tools really does is call yum (via python-imgcreate's yuminst.py , which is very short and simple). I can't see any really obvious smoking guns in the yum stuff, though - most obviously I was looking for changes to the group_package_types parameter, but it doesn't seem to have been touched at all since August and those changes were in F18.

The obvious first step here is to add group_package_types=default,mandatory to the yum.conf created by yuminst.py and re-spin and see if that solves the problem, which would indicate the default setting of that parameter has somehow gotten borked in yum. That's just what I'd do except my F19 live composes are currently failing with a completely vague and useless error:

Error creating Live CD : Dependency check failed!

so I can't do that. le sigh. I will continue to try and think of ways to figure out what's busted, here.

Comment 3 Adam Williamson 2013-03-23 06:58:05 UTC
er, in case it's not blindingly obvious from comment #1, cups-pdf is also listed as 'optional' in @printing, and that appears to be why it's winding up in all the live images.

Comment 4 Adam Williamson 2013-03-23 08:28:18 UTC
adding:

conf += "group_package_types=default,mandatory\n"

to the obvious spot in yuminst.py and re-running a live compose does not fix the problem. I'm somewhat stuck, now.

Comment 5 Adam Williamson 2013-03-23 09:11:04 UTC
changing to group_package_types=mandatory makes no difference; neither, apparently does passing --nodefaults to the @printing group in fedora-live-base.ks (which should make it only include mandatory packages).

Comment 6 Jan Zeleny 2013-03-25 08:43:36 UTC
Re-assigning to James, as he did some modifications in groups code lately, this is probably related.

Comment 7 Adam Williamson 2013-03-27 18:22:05 UTC
Discussed at 2013-03-27 blocker review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-03-27/f19alpha-blocker-review-3.2013-03-27-16.01.log.txt . Accepted as a freeze exception: the oversized lives make it harder to test, and clearly will include stuff that we don't really _want_ to be in a default live / installed environment. Anything listed as optional is something that someone has explicitly thought 'well, that shouldn't be installed by default' about, so having them all installed by default is kind of significantly bad.

Comment 8 Kevin Kofler 2013-03-28 18:54:52 UTC
The same applies to packages being marked as conditional, even if the package they're supposed to be conditional on is not being pulled in, e.g. this drags in libreoffice-kde onto the KDE spin.

Comment 9 Kevin Kofler 2013-03-29 00:04:24 UTC
Also FYI, we found on #fedora-kde that yum groupinstall also behaves that way on F19, so the issue is not specific to the live CD compose.

Comment 10 John Reiser 2013-03-29 04:20:35 UTC
Is there a temporary partial work-around of comparing the package list for a given spin between Fedora 18 and Fedora 19 alpha TC2, then explicitly excluding or removing the extra packages before making the next Fedora 19 spin?

Comment 11 Adam Williamson 2013-03-29 04:25:03 UTC
christ on a bike, no. that would be hideous.

Comment 12 Jan Zeleny 2013-03-29 11:50:03 UTC
*** Bug 923549 has been marked as a duplicate of this bug. ***

Comment 13 Jan Zeleny 2013-03-29 11:51:38 UTC
Note that a fix has been proposed upstream:

http://lists.baseurl.org/pipermail/yum-devel/2013-March/010021.html

Comment 14 James Antill 2013-03-29 15:56:32 UTC
Ok, this should be fixed with:

Building yum-3.4.3-81.fc19 for f19-candidate
Created task: 5186065
Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=5186065

Comment 15 Dan Mashal 2013-03-30 02:35:13 UTC
Trying to compose a live cd now.

Comment 16 John Reiser 2013-03-30 03:49:34 UTC
The Fedora 19 Alpha TC3 composes were performed with the fix mentioned in Comment 13 and Comment 14, so they are back to "normal" sizes:
      Fedora-19-Alpha-TC3-i686-Live-Desktop.iso 29-Mar-2013 03:34  1.1G  
      Fedora-19-Alpha-TC3-i686-Live-KDE.iso     29-Mar-2013 03:30  862M  
      Fedora-19-Alpha-TC3-i686-Live-LXDE.iso    29-Mar-2013 03:51  707M  
      Fedora-19-Alpha-TC3-i686-Live-SoaS.iso    29-Mar-2013 04:18  617M  
      Fedora-19-Alpha-TC3-i686-Live-XFCE.iso    29-Mar-2013 03:59  720M

I reproduced independently the 1.1GB Live-Desktop this morning after "yum update" to yum-3.4.3-81.fc19, before I inspected the TC3 listings (because I saw nothing new in the announcement.)

Comment 17 Dan Mashal 2013-03-30 09:45:27 UTC
And the DVD?

Comment 18 John Reiser 2013-03-30 15:15:04 UTC
The sizes of the non-Live media are almost unchanged (within 100MB out of 4.7GB):

https://dl.fedoraproject.org/pub/alt/stage/19-Alpha-TC3/Fedora/i386/iso/
      Fedora-19-Alpha-TC3-i386-DVD.iso         29-Mar-2013 03:20  4.7G  
      Fedora-19-Alpha-TC3-i386-netinst.iso     29-Mar-2013 03:12  348M  

https://dl.fedoraproject.org/pub/alt/stage/19-Alpha-TC2/Fedora/i386/iso/
      Fedora-19-Alpha-TC2-i386-DVD.iso         26-Mar-2013 01:57  4.7G  
      Fedora-19-Alpha-TC2-i386-netinst.iso     26-Mar-2013 01:50  347M  

The DVD and netinst are composed by a different process (pungi) than the Live spins (livecd-creator).

Comment 19 Jens Petersen 2013-04-03 02:48:15 UTC
I really feel this ought to be blocker - it also affects net installs,
and installing all optional packages from groups can affect defaults
etc meaning that Alpha testing is less effective also.

Comment 20 Jens Petersen 2013-04-03 04:06:32 UTC
TC3 media contains yum-3.4.3-77.fc19 btw, so I guess this will be
fixed in TC4 anyway.

Comment 21 Jens Petersen 2013-04-04 04:51:32 UTC
TC4 looks good to me.

Default (gnome) net install pulls in 1249 packages (TC4) compared to 1958 (TC3).
So I believe this is indeed fixed with yum-3.4.3-81.fc19 in TC4.

Comment 22 Adam Williamson 2013-04-04 05:28:20 UTC
3.4.3-81 is already tagged stable, so we can close this.


Note You need to log in before you can comment on or make changes to this bug.