> 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
|