我有一个tcl脚本,其中使用了'exec'命令执行rpmbuild。在这样做时,rpmbuild使用的'topdir'是错误的。我在家目录中有一个.rpmmacros文件,如果我手动调用rpmbuild,则可以正常工作,即'topdir'不是默认值。
我在tcl脚本中添加了一个[exec rpmbuild "--showrc" ],来检查topdir的值,它显示为“-14:_topdir %{_usrsrc}/redhat”,这是默认值。
有人能解释一下这种情况是为什么以及如何解决吗?
我更倾向于不使用--define指定它,因为实际上是在一个makefile中完成的,我不想去修改它(如果没有其他选择,我会这样做)。
$HOME
是不起作用的 - 你应该使用%{getenv:HOME}
。 - abyss.7pwd
/../foo)。 - Blaskovicz_topdir
:%_topdir %{getenv:HOME}/rpmbuild/%{name}/
- 而且它起作用了!在处理多个软件包时,文件的混合一直困扰着我,现在我可以将它们分开了。 - undefined