2

In my RPM spec file I have declared that my software package requires a C++ compiler to build:

BuildRequires: gcc-c++

Now I want to make it possible to build this package using devtoolset-8 (or even clang in the future). How can I make the dependency resolver to fail if none of gcc-c++ nor devtoolset-8 have found? I am looking for some sort of OR requirements:

BuildRequires: ( gcc-c++ || devtoolset-8 ) # ?
sorush-r
  • 10,490
  • 17
  • 89
  • 173

1 Answers1

5

RPM > 4.13 has support for boolean dependencies. You can just give,

BuildRequires: (gcc-c++ or devtoolset-8)

It's documented here, https://rpm.org/user_doc/boolean_dependencies.html

traintraveler
  • 351
  • 2
  • 9
  • 1
    Although it's not recommended, if both packages have a common file, say /usr/bin/X, you could specify that in the requires as a workaround. – traintraveler Aug 26 '19 at 22:47