我正在拉我的头发在一个问题上,我正在建设通过LTIB的rpms。我正在尝试编写自己的规范文件,由于某种原因,我定义的简单宏似乎不会在%Files部分中展开。
例如,在我的spec文件顶部,我有以下内容:
%define myfilepath %{pfx}/lib/python%{pyver}/site-packages/wx-2.8-gtk2-unicode/
我的%Files部分如下所示:
%Files
%defattr(-,root,root)
%{myfilepath}
然而,当我运行./ltib -m scdeploy -p时,我会得到以下错误
RPM构建错误:文件必须以“/”开头:%{myfilepath}构建时间为wxPython: 0秒
我遗漏了什么吗?在文档中的任何地方,我都看不到宏在%Files部分中是不受欢迎的。预定义宏在% file部分中似乎很好地展开,但是我在spec文件头中使用%define定义的任何宏在运行ltib时似乎都没有定义。当使用when、scbuild和scinstall模式执行ltib时,宏都按预期工作。
编辑:使用ltib版本9.1.1,rpmbuild版本4.0.4
发布于 2013-11-11 15:44:24
在查看了ltib源代码之后,设法找出了它。结果表明,ltib在scdeploy模式下运行时会生成一个规范文件。这个伪造的规范文件只保留了您编写的spec文件中的% file部分的内容,这样就会丢失您在其中定义的头和所有宏。
不知道为什么LTIB的行为是这样的,而不是sbuild,scinstall等等。我有一个问题要问LTIB邮件列表。
https://stackoverflow.com/questions/19867600
复制相似问题