I need to build one rpm package, that should be dependent on the installation of another rpm package.

On my PC, the dependent package has been installed, with a name like abcd-1425-a.x86_64.

I wrote my .spec file like following:

Requires: abcd = 1425-a.x86_64

However, it shows an error during installation.

error: Failed dependencies:
     abcd = 1425-a.x86_64 is needed by patch_xxxxxx

According to rpm dependency rule, I thought 1425 should be the rpm version, where a.x86_64 should be the release. I also tried to delete x86_64, which didn't work.

How to define this rule?


Your version numbering is odd, it could be it confuses rpm.

usually requirements are declared like this: perl >= 1:5.6.0.

I advise fixing the numbering, or using serial tags.

With serial tags, you can effectively ignore the version number.

More on this argument here : http://ftp.rpm.org/max-rpm/s1-rpm-depend-manual-dependencies.html

PS: max-rpm is all you should ever need as a reference to build rpm packages

  • how to get serial number? – buaafree Jul 3 '14 at 22:03
  • I posted a link. Did you even follow it? – Bruno9779 Jul 4 '14 at 13:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.