From: Brian Reichert reichert@numachi.com Our ISO boots, and installs our RPMs, but out of order, and does not preserve the dependancies. (_Mostly_ does, but some critical misses.)
I've been running into that problem too. I think Anaconda re-orders the packages as it works out dependencies, so (as far as I can tell) you can't rely on pkgorder or comps.xml to give the final install order. (If I'm wrong about that, I would be very grateful if someone would tell me how to do it.)
The key to the solution is the difference between the rpm directives "Requires" and "PreReq" in the .spec files.
"Requires: x" means "this package requires the x package in order to _run_". If both packages appear in the same rpm transaction, the transaction will succeed _but x may not be installed first_.
"PreReq: x" means "this package requires x to be present _before it will install properly_". In this case, if both packages appear in the same transaction, rpm will ensure that x is installed first.
Moray. "To err is human. To purr, feline" http://members.aol.com/edgwddirk
On Thu, Jun 19, 2008 at 04:15:36PM -0000, Moray Henderson (ICT) wrote:
I've been running into that problem too. I think Anaconda re-orders the packages as it works out dependencies, so (as far as I can tell) you can't rely on pkgorder or comps.xml to give the final install order. (If I'm wrong about that, I would be very grateful if someone would tell me how to do it.)
The key to the solution is the difference between the rpm directives "Requires" and "PreReq" in the .spec files.
Indeed, this is a useful (ableit unexpected) distinction; using PreReq instead of Requires (in my case) does yield the desired results.
Thanks for the feedback!
"Requires: x" means "this package requires the x package in order to _run_". If both packages appear in the same rpm transaction, the transaction will succeed _but x may not be installed first_.
"PreReq: x" means "this package requires x to be present _before it will install properly_". In this case, if both packages appear in the same transaction, rpm will ensure that x is installed first.
I'm kind of surpised the wad of magical dependancy determination in the RPM packaging did not infer the dependancies of pre- and post-install scripts. But, not very surpised...
Moray. "To err is human. To purr, feline" http://members.aol.com/edgwddirk
anaconda-devel@lists.fedoraproject.org