From: Roger B. <ro...@ro...> - 2002-05-22 18:55:10
|
> I noticed while getting Redhat7.3.p running for my local system that you > process all the RPMS individually I have always found it much easier to > process them as a group as this eliminates the circular dependency problem. Actually it doesn't. Many many rpms are circularly dependent, and the rpm binary cannot figure them out either. It just leaves them in the same order (but does reorder ones that aren't mutually dependent). I tried really hard to get things working by letting rpm deal with it all, and ran into so many problems that I gave up and did the ordering myself. > temp="" > for rpm in rpms: > temp=temp+" "+rpm > runcommand("rpm -ivh "+temp) The default value for maximum command line length on Linux is pitifully small compared to other platforms (128KB IIRC). Consequently the more full featured installs will actually fall over since you won't be able to specify all rpms in one command line. It would need to be sorted into smaller groups. UML Builder also has the ability to do actions before and after particular RPMs, as well as supplying different installation flags to some. This turns out necessary on some distros. It all seems insane that UML Builder goes to these lengths, as well as completely unnecessary. However if you actually dig behind the scenes in all distros, you will discover that they actually install the RPMs one a time, usually come with a presorted ordering list that completely ignores the dependencies stated in the RPMs themselves, and have many installation error/warning messages printed. Little wonder UML Builder has to repeat that. > I still have not figured out why the automated linux kernel boot fails on my > system but I get a segfault with no mm or a kernel panic with 2.4.18-28um It is probably the initial ramdisk. Delete the initrd-um file and the control script won't try to use it. The next release of UML Builder includes my own code for making initial ramdisks and it actually works correctly in all the distros. Roger |