From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9) Gecko/20020412 Debian/0.9.9-6 Description of problem: I can build CDs with updates up to 20020310, but adding the updates from 20020315 causes lots of cd swapping during install. Including the rpm update for 4.0.4-7 (20020315) causes pkgorder to generate an invalid order file (I think). This causes anaconda to install about half of the packages and then get to mutt, ask for the 2nd cd, install mutt, ask for the 1st cd again, install raidtools and anacron packages, go back to the 2nd cd for minicom, etc. This swapping continues throughout the install. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Add update packages through 20020315 or later 2. Rebuild CDs 3. Try install with freshly build ISOs Actual Results: Asked for 2nd cd to install mutt, and promptly asked for the 1st cd again. Expected Results: It should install all the packages it needs on CD1, ask for CD2 to finish out the install process. Additional info: The build environment is RH72+updates+extra packages. Have also tried RH72
You'll also need to rebuild anaconda to use rpm 4.0.4 or continue to use 4.0.3 on the machine that you run pkgorder on. rpm changed to using chainsaw ordering instead of presentation, so you don't get the same order unless you use the same librpm both places.
I was able to sucessfully build working iso's by downgradeing my build envrionment to rpm 4.0.3 and removing the rpm 4.0.4 upgrade from the build tree. I am still having problems with 4.0.4 though. Here is what I did: 1. Upgrade build environment to rpm 4.0.4 2. Rebuild anaconda from srpm and --rebuild (so they should link aginst 4.0.4) 3. Install the newly created anaconda and anaconda-runtime packages. 4. Put new anaconda* pkgs in build tree. 5. Put rpm 4.0.4 update back in build tree. 6. Rebuild CDs I still get the swapping problem at the same place. Did I not compleate step 2 correctly? Do I have to modify anaconda? If so, can you please point me in the right direction? Thanks
I tried your suggestions above in two build environments. They are exactly the same other than one has rpm 4.0.3 installed and the other has rpm 4.0.4 installed. I did it in both environments simultaneously to ensure I would not make a mistake that would cause 4.0.4 to break. Here is the process I used: . Create 2 identical build environments (be403 and be404) . Downgrade one to rpm 4.0.3 (be403) . This inclues swapping out the following: popt-1.6.4-7x.i386.rpm for popt-1.6.3-1.03.i386.rpm rpm-4.0.4-7x.i386.rpm for rpm-4.0.3-1.03.i386.rpm rpm-build-4.0.4-7x.i386.rpm for rpm-build-4.0.3-1.03.i386.rpm rpm-devel-4.0.4-7x.i386.rpm for rpm-devel-4.0.3-1.03.i386.rpm rpm-perl-4.0.4-7x.i386.rpm for rpm-perl-4.0.3-1.03.i386.rpm rpm-python-4.0.4-7x.i386.rpm for rpm-python-4.0.3-1.03.i386.rpm kdeadmin, gnorpm, rpmfind, and rpm2html were not installed . Put rpm 4.0.3 in the build tree for be403 . Uninstall anaconda and anaconda-runtime from each environment . Rebuild anaconda in each environment . Install the newly built anaconda packages in their respective environments . Put the new anaconda packages in their respective build trees . build both distros and creat ISOs The ISOs built in the 4.0.3 environment worked just fine, where the ISOs built in the 4.0.4 environment have the cd swapping bug. I also tooked at a diff between anaconda-7.2-7 and anaconda-7.2.93 to see if if I could find anything that may need to be upgraded in anaconda itself, but I didn't see anything that looked like it would fix this problem. Thanks for your help,
By rebuilding anaconda, I don't mean the package. I mean you need to rebuild the stage2 images used by anaconda during the install via buildinstall. Otherwise, the new librpm isn't being used by the rpmmodule during the install.
I am rebuilding the images with buildinstall. This is done in the last step of my previous post. Here is an overview version of my build script. For this overview assume $PYTHONPATH is set to "/usr/lib/anaconda" and the build tree is in /cd/i386 genhdlist /cd/i386 pkgorder /cd/i386 i386 > pkgorderfile buildinstall --comp /cd/i386/RedHat/base/comps /cd/i386 # In the past I have also tried using the --pkgorder flag here, # but it did not fix the problem then. I did not use it on this last test. splitdistro --fileorder pkgorderfile /cd i386 genhdlist --withnumbers /cd/i386-disc1 /cd/i386-disc2 Several other people on the anaconda-devel list seem to have seen this same bug. Could this problem be caused by a comps file that does not have everything in it? Thanks for the quick response.
There are a variety of issues here and none of them are really anything that can be "fixed". There's the issue of a new ordering method being used by RPM which causes changes to the dependency tree. There's the issue of new dependency loops causing the dependency tree to be out of whack. This is a large part of why we can't support this rebuilding install trees with all errata that people seem to like to do so much. There are just too many variables of things that have to be carefully worked around. If you put rpm 4.0.3 in, everything will be happier, but the dependency loops in some of the released errata may still come out to cause problems.
I just found what was causing the CD shuffel. On the last genhdlist, the one that generates the lists on the CDs, I had not had a --fileorder <pkgorderfile> argument. It is intresting that that flag was not necessary under rpm 4.0.3, but the build breaks under rpm 4.0.4. This was pointed out to me by Johns Summerfield (see anaconda-devel list). Thanks for your help.