Bug 508139 - livecd-creator doesn't create on rawhide
livecd-creator doesn't create on rawhide
Product: Fedora
Classification: Fedora
Component: yum (Show other bugs)
All Linux
low Severity medium
: ---
: ---
Assigned To: Seth Vidal
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2009-06-25 15:34 EDT by Matthias Clasen
Modified: 2014-01-21 18:10 EST (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 508659 (view as bug list)
Last Closed: 2009-07-23 17:30:53 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Matthias Clasen 2009-06-25 15:34:00 EDT
This is a problem because we need live cds to run the f12 test days.

[mclasen@planemask spin-kickstarts]$ sudo livecd-creator --config fedora-livecd-desktop.ks 
mke2fs 1.41.6 (30-May-2009)
Filesystem label=fedora-livec-x86
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
196608 inodes, 786432 blocks
7864 blocks (1.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
tune2fs 1.41.6 (30-May-2009)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
filespec_eval:  hash table stats: 12 elements, 12/65536 buckets used, longest chain length 1
/usr/lib/python2.6/site-packages/imgcreate/errors.py:45: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
  return unicode(self.message)
Error creating Live CD : Failed to find package 'kernel' : No package(s) available to install
Comment 1 Matthias Clasen 2009-06-25 15:40:50 EDT
The same result with the f11 repos instead of rawhide.
Comment 2 Jeremy Katz 2009-06-25 16:26:23 EDT
Builds are working for me here although bug 505121 is still present.

Is this an i386 or x86_64 host?  Does 'yum install kernel' do the right thing?
Comment 3 Matthias Clasen 2009-06-25 16:35:09 EDT
x86_64 host.

> Does 'yum install kernel' do the right thing?  

Seems to:

[mclasen@planemask gnome-panel-2.26.2]$ sudo yum install kernel
Loaded plugins: dellsysidplugin2, presto, refresh-packagekit
Setting up Install Process
Package kernel-2.6.31-0.28.rc1.fc12.x86_64 already installed and latest version
Nothing to do
Comment 4 Jeremy Katz 2009-06-26 12:12:16 EDT
This is broken by commit 5216a27d35d60e46f028b1fbba58acae5b9e79d2 in yum -- if you initially set up without any repos (==> len(ayum.pkgSack)=0) and then add repos, yum no longer adds to the pkgSack on the first access with the new repos.

It's a side effect, but it's a side effect that both livecd-creator and anaconda depend on working (and thus, probably that other tools do as well)
Comment 5 James Antill 2009-06-26 12:53:42 EDT
Crap ... this just went into the RHEL-5.4 candidate too.

Ok, so here's what I think we can do (to fix both bugs):

commit 0e9c56de28596bad95c13fee15187df3249f4be1
Author: James Antill <james@and.org>
Date:   Fri Jun 26 12:51:12 2009 -0400

    Re-setup the pkgSack whenever the sacks change

diff --git a/yum/__init__.py b/yum/__init__.py
index be98aae..ef793f6 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -480,8 +480,11 @@ class YumBase(depsolve.Depsolve):
         """populates the package sacks for information from our repositories,
            takes optional archlist for archs to include"""
-        if self._pkgSack is not None and thisrepo is None:
+        pkgSack_count = len(self.repos.pkgSack.sacks)
+        if (self._pkgSack is not None and
+            pkgSack_count == self._old_pkgSack_count and thisrepo is None):
             return self._pkgSack
+        self._old_pkgSack_count = pkgSack_count
         if thisrepo is None:
             repos = 'enabled'

...can you confirm, if so I'll puch it everywhere.
Comment 6 James Antill 2009-06-26 12:58:51 EDT
Ok, that's insane ... because the sacks come from populateSacks, which is inside that function ... I think the only way we can do this is test to see if listEnabled() has changed.
Probably the fastest way to do that is put some timestamp in the repos object, and then check if timestamp == old_timestamp.
Comment 7 seth vidal 2009-06-26 13:24:53 EDT
How about we fix the problem separately in package-cleanup and not modify yum?
Comment 8 James Antill 2009-06-26 14:42:00 EDT
It's not just package-cleanup that hits it, it also hit at least versionlock ... and generally anything 485578 that uses .pkgSack when they are empty due to excludes (I think). I'm also not sure how we can fix it at a higher level.
 I've pushed a patch which is almost all comment and I think fixes it with no bad side effects ... Jeremy can you have a look?

Comment 9 James Antill 2009-06-26 14:43:10 EDT
Yep, I'm on top form ... I pasted the above BZ number into the wrong place and pushed the commit without adding it to the summary. I shall now go drink some cherry coke and wait for my holiday to start.
Comment 10 Matthias Clasen 2009-06-28 19:45:34 EDT
The patch in comment 8 at least allows livecd-creator to get to the point where it falls over broken dependencies in rawhide. I guess thats progress...
Comment 11 Matthias Clasen 2009-07-02 11:48:46 EDT
Can we get this patch in rawhide to make some progress towards buildable live cds ?
Comment 12 seth vidal 2009-07-02 11:50:41 EDT
yes. I'll put something in today.
Comment 13 seth vidal 2009-07-02 12:25:11 EDT
yum-3.2.23-9.fc12 which should be in koji, now, has this patch. Please let me know if it does not correct the problem for you
Comment 14 Jeremy Katz 2009-07-23 17:30:53 EDT
Looking okay

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