gpt4 book ai didi

tcl - 当从 tcl 调用 rpmbuild 时,为什么 topdir 设置为其默认值?

转载 作者:行者123 更新时间:2023-12-02 02:17:28 25 4
gpt4 key购买 nike

我有一个“执行”rpmbuild 的 tcl 脚本。这样做时,rpmbuild 使用的“topdir”是错误的。我的主目录中有一个 .rpmmacros 文件,如果我手动调用 rpmbuild,它工作正常,即。 “topdir”不是默认的。

我在 tcl 脚本中添加了 [exec rpmbuild "--showrc"] 来检查 topdir 的值,它显示 '-14: _topdir %{_usrsrc }/redhat' 这是默认值。

有人可以解释一下为什么会出现这种情况以及如何解决吗?

我不想用 --define 指定它,因为它实际上是在 makefile 中完成的,我不想碰它(如果没有其他选择,我会这样做)。

最佳答案

有两种方法可以更改默认的 rpmbuild topdir:

  1. 每用户:通过在 $HOME/.rpmmacros 中配置 RPM topdir

    %_topdir    %{getenv:HOME}/rpmbuild
  2. 每个项目:通过在 Makefile 或命令行中配置 RPM topdir

    rpmbuild --define '_topdir build' -ba package.spec

注意:在这两种情况下,您都需要确保您的 topdir 目录具有适当的目录(BUILD、SRPM、RPM、SPECS 和 SOURCES)

关于tcl - 当从 tcl 调用 rpmbuild 时,为什么 topdir 设置为其默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/416983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com