How to pass user defined parameters to rpmbuild to fill variables


Solution 1

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

and refer it within the spec as %{_foobar}

(the _ is a convention, not a must)

Solution 2

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

rpmbuild -ba newpackage.spec --with feature

see .

Solution 3

could add this into the SPEC file:

%define _topdir %(echo $PWD)/
Author by


Updated on August 02, 2021


  • mat1010
    mat1010 about 1 year

    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
  • mat1010
    mat1010 over 8 years
    thank you - this sounds like an option. I will try this.