RPM spec file - Is it possible to dynamically populate a spec file variable

前端 未结 1 1434
无人共我
无人共我 2021-02-03 21:51

I have a spec file. I need to %define a spec variable that gets its value from a one line file on the system.

For example

%define path `cat /home/user/pa         


        
1条回答
  •  有刺的猬
    2021-02-03 22:15

    You can define rpmbuild variables with %(cmd) at the top of the spec file. Notice the command is in parenthesis, not curly brackets. An example:

    %define whoami %(whoami)
    

    And elsewhere in the spec file, such as a script or the build/install sections, use the variable as normal in the curly brackets like this:

    echo "The user that built this is %{whoami}"
    

    The cmd can be anything, including your cat command. Be careful - when another user rebuilds the spec file it may not find the file. So it'll be preferable to use the %{sourcedir} macro like this:

    %define path %(cat %{sourcedir}/path_file)
    

    And make sure that path_file is in the source directory and included as a source in the spec file.

    0 讨论(0)
提交回复
热议问题