36

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
BenMorel
  • 34,448
  • 50
  • 182
  • 322
mat1010
  • 756
  • 1
  • 9
  • 17

3 Answers3

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

and refer it within the spec as %{_foobar}

(the _ is a convention, not a must)

Eran Ben-Natan
  • 2,515
  • 2
  • 16
  • 19
5

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 .

Community
  • 1
  • 1
smani
  • 1,953
  • 17
  • 13
1

could add this into the SPEC file:

%define _topdir %(echo $PWD)/
张馆长
  • 1,321
  • 10
  • 11