18

我有一个.spec文件,它依赖于一个名为_topdir.

现在,当您从 git 签出 SRPM 源代码时,您必须更改_topdir指向的位置以rpmbuild使其正常运行。

# We need the following line so that RPM can find the BUILD and SOURCES and RPMS dirs.
%define _topdir /root/projects/my-project/my-project-srpm/

你如何指定_topdir应该相对于.spec文件的位置,这样_topdir就不会被硬编码?

4

3 回答 3

17

像这样在命令行上指定你的topdir ...

rpmbuild --define "_topdir \`pwd\`" ...
于 2011-09-03T04:46:16.697 回答
11

您可以在规范文件中定义 _topdir 变量(例如,在顶部)

%define _topdir %(echo $PWD)/
于 2011-11-23T13:57:52.000 回答
-3

在您的 ~/.rpmmacros 文件中,执行以下操作:

%_topdir      %(echo $PWD)/subdir

我不确定您是否可以在规范文件本身中执行此操作,我不明白为什么不这样做,但我不确定如何注释它。

于 2011-06-23T22:07:45.830 回答