Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RPM Spec file conditional Requires per distribution AFTER build

I want to build RPM files and I want them to be commonly used and beeing not depending on which distribution is installed. Now I found a requirement which name is different on RHEL and SLES. I found this as possible solution:

%if 0%{?suse_version}
 Requires:       jdk >= 2000:1.8.0_00-fcs, netcat, telnet, at
%else
 Requires:       jdk >= 2000:1.8.0_00-fcs, nc, telnet, at
%endif

But my problem with is, that it's an if query for the Build process, what I wish to have is depending on the distribution I install, the already build rpm file would solve this. Because with this solution, I would need to build RPM files for every kind of centos and rhel and sles distribution on all these different OSes while only the name of nc and netcat differ as Required packages.

Any idea how I can do that?

Thanks

like image 469
Andreas Hubert Avatar asked Dec 13 '25 21:12

Andreas Hubert


1 Answers

rpm-4.13 will solve my issue: http://www.rpm.org/wiki/PackagerDocs/BooleanDependencies

or - requires one of the operands to be fulfilled
Requires: (pkgA >= 3.2 or pkgB)
like image 96
Andreas Hubert Avatar answered Dec 16 '25 05:12

Andreas Hubert



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!