我正在制作一些由Jenkins构建的配置包,然后在需要时检出。包本身已经构建并运行良好。我现在的问题是rpmbuild用于实际构建项目的目录。当我从我的工作目录调用rpmbuild SPECS / package.spec时,rpmbuild在/home/user/rpmbuild
创建一个新目录。当我运行测试时,这很好,但我宁愿我能够从Jenkins进程调用的任何文件构建。
我看到在线人员说要制作一个~/.rpmmacros
文件来覆盖$_topdir
变量。这种方法并不适用于Jenkins构建。有没有办法简单地调用rpmbuild并在当前目录中构建?结构就在那里,它会更好地满足我的目标。感谢。
答案 0 :(得分:2)
是的,只需直接覆盖_topdir
。
rpmbuild -D '_topdir /new/value/for/_topdir'
或
rpmbuild --define='_topdir /new/value/for/_topdir'
那些应该是相同的,但我已经知道它们并不总是出于某种原因(并且在快速测试中rpm -D '_topdir /opt/tnstmp' --showrc | grep _topdir
没有显示修改后的值,但rpm --define '_topdir /opt/tnstmp' --showrc | grep _topdir
没有。