构建rpm时出错 - glob未找到文件:
我正在RHEL-6/64位服务器上构建rpm。
# rpmbuild -bb extras/rpm/neatx.spec
RPM build errors:
File not found by glob: /root/rpmbuild/BUILDROOT/neatx-0.1-1.el6.x86_64/usr/lib/python2.6/site-packages/neatx/*
我确实在 /root/rpmbuild/BUILDROOT/neatx-0.1-1.el6.x86_64/usr/lib/python2.7/site-packages
目录下看到了相同的文件。
# ls -l /root/rpmbuild/BUILDROOT/neatx-0.1-1.el6.x86_64/usr/lib/
drwxr-xr-x 3 root bin 4096 Apr 19 14:45 python2.7
# ls -l /root/rpmbuild/BUILDROOT/neatx-0.1-1.el6.x86_64/usr/lib/python2.7/site-packages
drwxr-xr-x 3 root bin 4096 Apr 19 14:45 neatx
这些是在 neatx.spec
文件中的与python相关的条目。
# grep -i python extras/rpm/neatx.spec
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
BuildRequires: python-devel
BuildRequires: python-docutils
Requires: python >= 2.4
Requires: python-simplejson
%python_sitelib/%{name}/*
希望能得到你的帮助或建议来解决这个问题。
提前感谢你。 - Shashi Divekar
1 个回答
1
命令 rpmbuild
出现错误是因为你需要在你的 .spec
文件中提供一个已安装文件的列表,具体位置在:
%files
%defattr(-,root,root,-)
%python_sitelib/%{name}/*
而路径 %python_sitelib
会被解析成
/usr/lib/python2.6/site-packages
但是在你的 .spec
文件的 %install
部分,文件被放到了另一个目录,具体是:
/usr/lib/python2.7/site-packages
你应该在 %install
部分使用与 %files
部分相同的宏 %python_sitelib
。