在构建 RPM 时,如何使 _topdir 相对于 .spec 文件的位置?

发布于 2024-11-14 07:34:57 字数 451 浏览 3 评论 0原文

我有一个 .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 不被硬编码?

I have a .spec file that relies on a variable called _topdir.

Right now when you checkout the SRPM source from git, you have to go and change where _topdir is pointing to to get the rpmbuild to function correctly.

# 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/

How do you specify that _topdir should be relative to the location of the .spec file so that _topdir isn't hard coded?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

下雨或天晴 2024-11-21 07:34:57

在命令行上指定您的topdir,如下所示...

rpmbuild --define "_topdir \`pwd\`" ...

specify your topdir on the command line like so ...

rpmbuild --define "_topdir \`pwd\`" ...
孤星 2024-11-21 07:34:57

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

%define _topdir %(echo $PWD)/

You can define the _topdir variable in your spec file (e.g., at the top)

%define _topdir %(echo $PWD)/
只有一腔孤勇 2024-11-21 07:34:57

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

%_topdir      %(echo $PWD)/subdir

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

In your ~/.rpmmacros file, do this:

%_topdir      %(echo $PWD)/subdir

I'm unsure if you can do this inside the spec file itself, I don't see why not, but I'm unsure how to notate it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文