Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pass user defined parameters to rpmbuild to fill variables

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 
like image 932
mat1010 Avatar asked Feb 04 '14 17:02

mat1010


2 Answers

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

and refer it within the spec as %{_foobar}

(the _ is a convention, not a must)

like image 145
Eran Ben-Natan Avatar answered Oct 23 '22 02:10

Eran Ben-Natan


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 .

like image 38
smani Avatar answered Oct 23 '22 01:10

smani