dependenciesrpmyumrpmbuildrequires

rpmbuild Requires(post) does not work as expected, require a local package


My understanding from everything I read about spec files is that the Requires(post) statement would make it so any library following it would not be required until after the installation has finished. It doesn't seem to be the case. Am I misunderstanding this command?

My main objective is to download another rpm in the %pre section and then require it later so that it will install it from the local copy. If there is another way to go about this than what I am doing, I would greatly appreciate the help?


Solution

  • The Requires(post) tag tells rpm that your package requires that package to be installed before the %post scriplet of your RPM can run (presumably because you depend on a file from that package in your %post scriptlet in some fashion).

    This is used for ordering of package installation within a transaction.

    As far as I am aware (and I believe the verbose debug output from yum will confirm this) the full set of required package information is assembled before the transaction begins not willy-nilly as packages are installed.

    So, as I indicated in my comment, everything else here aside I don't believe you can make a package available for the transaction from within the transaction.