12
votes

I'm trying to build an RPM from binaries on a REDHAT 6 system. I have all the files included in the %files section (find /path/to/fake/install -type f >> specfile)

When I run rpmbuild -bb specfile --target x86_64 I get

Checking for unpackaged file(s): /usr/lib/rpm/check-files /path/to/rpmbuild/BUILDROOT/Package-1.0.0-1.el6.x86_64 error: Installed (but unpackaged) file(s) found:

RPM build errors: Installed (but unpackaged) file(s) found:

Note that no files are listed in the error message. I'm not sure what's wrong, and ideas?

3

3 Answers

21
votes

You can ignore this kind of errors by

%define _unpackaged_files_terminate_build 0

See also http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s05s07.html

8
votes

I would guess your /path/to/fake/install is not correct.

The path in the %files section must be the path where the files will eventually be installed, e.g. /usr/local/bin/myprog. During the rpm build, in the %build section you need to make sure you put the files to the very same place you specify in the %files section, or you use the buildroot option of rpmbuild and use $RPM_BUILD_ROOT variable in your spec file with a sub-path matching the %files list, in this example $RPM_BUILD_ROOT/usr/local/bin/myprog. See http://www.rpm.org/max-rpm-snapshot/ch-rpm-anywhere.html for details.

0
votes

One example where this may happen: Supposing in the %post section there is a %install_info and in the %postun section there is an associated %install_info_delete. This requires in the %install section an explicit removal of the intermediate directory of the info-files with a command like rm -f %{buildroot}/%{_infodir}/dir.