How to pass user defined parameters to rpmbuild to

2019-01-23 02:47发布

问题:

is it possible to pass parameters to rpmbuild to fill user defined variables that are called inside the spec file?

Example: The user defined variable %{foobar} which is called in the .spec file (but empty) should be filled with the variable which is passed when executing the rpmbuild command

rpmbuild -bb --foobar="Foo" somespecfile.spec

回答1:

rpmbuild -bb --define '_foobar Foo' somespecfile.spec

and refer it within the spec as %{_foobar}

(the _ is a convention, not a must)



回答2:

The closest you can get AFAIK are conditional builds, which allow you to do things like

rpmbuild -ba newpackage.spec --with feature

see http://rpm.org/user_doc/conditional_builds.html .