I have solved my problem by re-arranging things in the pkgorder file.
Previously, I was not generating, nor using a pkgorder file at all.
i.e. I did not call genhdlist with the --fileorder arg. Now I do this:
1. pkgorder <myroot> i386 > /tmp/pkgorder.txt
2. move e1000 to the end of /tmp/pkgorder.txt
3. genhdlist --withnumbers --fileorder /tmp/pkgorder.txt <myroot>
Now, e1000 gets installed last, and therefore correctly.
Thanks to Alain Tauch for the tip.
Regards,
--Steve.
Alain TAUCH wrote:
On Fri, 30 Jan 2004 08:35:34 -0500
Stephen Malowany [Stephen] wrote:
Stephen>
Stephen> Alain TAUCH wrote:
Stephen> >
Stephen> > I think stephen made a rpm with both modules, using postinstall
Stephen> > scripts to see wether kernel or kernel + kernel-smp were installed
Stephen> > and install his modules accordingly (this is how I do it).
Stephen>
Stephen> That is correct, except it was Intel that made the rpm, not me :-)
Stephen>
Stephen> IMO, anaconda should be smart enough to do this. That is, if a package
Stephen> specifies a dependency on kernel, and anaconda has decided to install
Stephen> both kernel and kernel-smp, then it should install *both* of the kernel
Stephen> rpms first.
maybe you could check your pkorder file, and see if the pkgorder/buildinstall
script hasn't inserted your e1000 package in the wrong place.
in my pkgorder script (rh9) I see:
----8<------------------------8<-----------------------------------
# We always want all the kernels-.* in our package list, except for a few
for package in hdlist.keys():
if (package.startswith("kernel") and
not package.startswith("kernel-doc") and
not package.startswith("kernel-source") and
not package.startswith("kernel-debug")):
hdlist[package].selected = 1
pkgOrder.append(hdlist[package].h)
pkgHash[hdlist[package].h] = None
----8<------------------------8<-----------------------------------
this means that if you got a kernel-module-e1000-* package it will
be added here, with kernel and kernel-smp. if sorted alphabetically
you get: kernel, kernel-bigmem, kernel-module-xxx, kernel-smp.
I quickly checked the sources so I may be wrong but if it works
like I said, you could:
1- just change your pkgorder file before re-running genhdlist
or
2- patch pkgorder, so it won't insert your kernel-module-xxx package
with the other kernel* but later.