我正在尝试为 python setuptools-12.0.3
构建 RPM
包,但出现连线错误,
它看起来像与 SPEC
文件 %files -f INSTALLED_FILES
有关,但如何修复它?或者这是一个错误?我可以在一行中看到两个文件路径,我该如何解决?
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
这是我使用 python2.7 setup.py bdist_rpm
构建 RPM 的命令
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
Bytecompiling .py files below /root/rpmbuild/SOURCES/setuptools-12.0.3/build/bdist.linux-x86_64/rpm/BUILDROOT/setuptools-12.0.3-1.x86_64/usr/lib/python2.6 using /usr/bin/python2.6
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: setuptools-12.0.3-1.noarch
error: Two files on one line: /usr/lib/python2.6/site-packages/setuptools/script
error: File must begin with "/": (dev).tmpl
RPM build errors:
Two files on one line: /usr/lib/python2.6/site-packages/setuptools/script
File must begin with "/": (dev).tmpl
error: command 'rpmbuild' failed with exit status 1
最佳答案
解决方案
花了几个小时后我弄清楚出了什么问题:
将 setuptools.spec
文件复制到我自己的 rpmbuild 环境中,位于 /root/rpmbuild/SPECS/
将 %files -f INSTALLED_FILES
更改为 %files
运行 rpmbuild -ba setuptools.spec
它生成需要添加到 %files
部分的文件列表,但是在该列表中有一个文件 space in filename
哎哟!!
脚本(dev).tmpl
我已经使用通配符来匹配所有文件并且问题已解决。不知何故 rpmbuild
不理解 escap
字符(不知道有没有更好的方法)
%files
%defattr(-,root,root)
...
...
/usr/local/lib/python2.7/site-packages/setuptools/script*
...
关于Python Setuptools 构建 RPM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28048133/