将多个变量作为 spec 文件的参数传递到 rpmbuild
Pass multiple variables into rpmbuild as parameters for spec file
问题
我的 buildspec.yml
中有两个环境变量
env:
variables:
BUILD_VERSION: "0.0.1"
BUILD_RELEASE: "1"
我想将它们传递到 rpmbuild
命令中,但我似乎无法获得正确的语法。
我的尝试
- rpmbuild --define "_topdir `pwd`" --define "_version '$BUILD_VERSION'" --define "_release '$BUILD_RELEASE'" -bb ./mydirectory/myspecfile.spec
我已经尝试了其他几个版本,但都没有成功。如果能提供帮助,我们将不胜感激。
你应该可以使用
rpmbuild --define '_version 0.0.1'
但在那种情况下,您需要在规范文件中定义变量 _version;类似于:
%{!?_version: %define _version 0.0.0 }
Version: %{_version}
我也遇到过这个问题,并且能够用这个语法解决
rpmbuild --bb --define "_topdir ${rpmdir}" --define "PRODUCT_VERSION 1.0" --buildroot /home/devuser/buildTest/buildroot --target x86_64 ./SPECS/html5.spec
注意双引号很重要。
问题
我的 buildspec.yml
中有两个环境变量env:
variables:
BUILD_VERSION: "0.0.1"
BUILD_RELEASE: "1"
我想将它们传递到 rpmbuild
命令中,但我似乎无法获得正确的语法。
我的尝试
- rpmbuild --define "_topdir `pwd`" --define "_version '$BUILD_VERSION'" --define "_release '$BUILD_RELEASE'" -bb ./mydirectory/myspecfile.spec
我已经尝试了其他几个版本,但都没有成功。如果能提供帮助,我们将不胜感激。
你应该可以使用
rpmbuild --define '_version 0.0.1'
但在那种情况下,您需要在规范文件中定义变量 _version;类似于:
%{!?_version: %define _version 0.0.0 }
Version: %{_version}
我也遇到过这个问题,并且能够用这个语法解决
rpmbuild --bb --define "_topdir ${rpmdir}" --define "PRODUCT_VERSION 1.0" --buildroot /home/devuser/buildTest/buildroot --target x86_64 ./SPECS/html5.spec
注意双引号很重要。