Re: Dependency problem when "post" runs command from the rpm
"Michael A. Peters" <[email protected]> Mon, 15 Sep 2008 20:24:00 -0700
| Newsgroups | gmane.linux.redhat.rpm.general |
|---|---|
| Message-ID | <[email protected]> |
Toralf Lund wrote: > I've run into an installation order issue related to the "post" > scriptlet in one of my packages. Basically, this scripts executes a > (command-line only) program installed by the package, and this program > pretty much needs everything required by the package. The problem is, if > I install my package along with some of the required software, the > requirements are often installed *after* the "main" package - which > means the "post" script won't work because some of what the program > needs isn't installed yet. > > So, this is when I use "Requires(post)", isn't it? But how do I set it > up? The Requires of the package is a very long list, and most of the > entries are added via the "AutoReqProv" mechanism, so duplicating the > info by hand for "Requires(post)" is rather hard. Is there an > alternative? Can I somehow say that everything in the main Requires list > is also required by "post"? Or alternatively, can I enable automatic > search for shared objects etc. for Requires(post) just like for Requires? Perhaps my understanding is wrong - but I believe: Requires(pre) is when something is required for a pre-install script. Requires(post) is when something is required for a post-install script but not necessarily for the package itself - IE you could remove the dependency after the post script has run. When installing a group of RPMs together, the post scripts are not run until after all the packages are installed - so if foo requires bar and the foo post script needs bar installed - just Requires: bar should ensure that bar is actually installed before the foo post scriptlet runs. My understanding of this may not be 100%