文章二
Processing files: php-debuginfo-5.3.10-1.x86_64
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/php-5.3.10-1.x86_64
error: Installed (but unpackaged) file(s) found:
/.channels/.alias/pear.txt
/.channels/.alias/pecl.txt
/.channels/.alias/phpdocs.txt
/.channels/__uri.reg
/.channels/doc.php.net.reg
/.channels/pear.php.net.reg
/.channels/pecl.php.net.reg
/.depdb
/.depdblock
/.filemap
/.lock
RPM build errors:
Installed (but unpackaged) file(s) found:
/.channels/.alias/pear.txt
/.channels/.alias/pecl.txt
/.channels/.alias/phpdocs.txt
/.channels/__uri.reg
/.channels/doc.php.net.reg
/.channels/pear.php.net.reg
/.channels/pecl.php.net.reg
/.depdb
/.depdblock
/.filemap
/.lock
网上查询,解决办法有:
1. (这个方法实验了一下,不好用,可能我姿势不对)
在/usr/lib/rpm/macros文件中有一个定义:
%_unpackaged_files_terminate_build 1
把1改为0只警告
====================
2.
找到 /usr/lib/rpm/macros 文件中
%__check_files /usr/lib/rpm/check-files%{buildroot} 注释掉
3.
make install后删除这些文件:
rm -rf %{buildroot}
make INSTALL_ROOT=%{buildroot} install
rm -rf %{buildroot}/.channels/.alias/pear.txt %{buildroot}/.channels/.alias/pecl.txt %{buildroot}/.channels/__uri.reg %{buildroot}/.channels/pear.php.net.reg %{buildroot}/.channels/pecl.php.net.reg %{buildroot}/.depdb %{buildroot}/.depdblock %{buildroot}/.filemap %{buildroot}/.lock
4. (这个方法是好使的,但是对于文件夹特别多的情况下,操作太多了,不如使用方法一)
把这些文件加进去
%files
%dir %{_prefix}/.channels
%dir %{_prefix}/.channels/.alias/
%{_prefix}/.channels/.alias/pear.txt
可以你在编译的时候会出现类似下面的错误:
error: Installed (but unpackaged) file(s) found:
。。。。。。。。。。。。。
RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/bin/gnome-appearance-properties
/usr/bin/gnome-at-mobility
/usr/bin/gnome-at-properties
。。。。。。。。。。。
其实这和你spec文件中写的“%file”那一块有关,意思是说:你有这些文件没有在spec文件中没有被包含,但是又被安装,解决办法是:
1. 如果显示很多文件,将这些文件你可以分门别类,用%doc、%config这些宏来指定,其实如果它报错的时候,只显示一两个文件,可以直接把那个文件写在%file下面
2. 进入文件/usr/lib/rpm/macros,找到
%__check_files %{_rpmconfigdir}/check-files %{buildroot}
这一行,把这一行注释掉,然后重新编译。
这两种方法,还是根据自己的需要来选择。