rpmbuild: error: Installed (but unpackaged) file(s) found Solution

Posted on in Categories last updated August 22, 2011

I‘m trying to build a RHEL 6 rpm of nginx server. But, I get the following error:

+ /usr/lib/rpm/brp-strip-comment-note
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/nginx-1.0.5-1.el6.x86_64
error: Installed (but unpackaged) file(s) found:
/usr/local/nginx/conf/fastcgi.conf
/usr/local/nginx/conf/fastcgi.conf.default

….
.
/usr/local/nginx/html/50x.html
/usr/local/nginx/html/index.html
/usr/local/nginx/sbin/nginx

RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/local/nginx/conf/fastcgi.conf
/usr/local/nginx/conf/fastcgi.conf.default

..
.
/usr/local/nginx/html/50x.html
/usr/local/nginx/html/index.html
/usr/local/nginx/sbin/nginx

How do I fix this problem and build rpm file?

To fix this error you need to specify the list of files that will be installed. This is done usong “%files” section. The syntax is as follows:

%files
%defattr(-,root,root,-)
/path/to/dir/
/path/to/file/

The above files can be set as follows in your .spec file (add before %changelog):

%files
%defattr(-,root,root,-)
%config(noreplace) /usr/local/nginx/conf/*
/usr/local/nginx/html/
/usr/local/nginx/sbin/nginx

The %files section identifies what files and directories were added by the package. Save and close the file. Now, you can rebuild an rpm as follows:
$ rpmbuild --bb nginx.spec

Recommend readings:

6 comment

  1. I got this error for a different reason. I defined my BuildRoot as %{_topdir}/%{name}-%{version}-root . rpmbuild had left some files in my BuildRoot , and didn’t remove them. I had to remove these files manually.

    Several people on IBM Developerworks had the same problem. See http://www.ibm.com/developerworks/linux/library/l-rpm1/index.html#icomments. The solution proposed by bluebloodpole worked for me, but so did a simple `rm`.

    In fact, the instructions in that article didn’t work for me without some modifications.

  2. A had the same issue as Stefan Lasiewski. Simply cleaning the buildroot dir solves the problem (of course, steps described in the article should be done too).

  3. If you don’t need those files/directories then just add %exclude macros with the paths and you are sorted – no need to delete from within spec file as when the RPM is built the buld and buildroot are deleted anyway …

Leave a Comment