RPM packaging

Sandworm sandworm at mepd.hush.com
Mon Sep 11 10:01:36 CEST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Saturday, 2 September 2006 6:09 AM, Nicolas Baradakis wrote:

>> In order to preserve the Makefile-installed docs, you'd have to
install
>> docs in the %install section rather than use %doc in the %files
section.
>> I hope that makes sense.
>
> Thanks for the hint. I've fixed redhat/freeradius.spec in CVS
head
> as it's unlikely we'll need branch 1.1 anymore.

That doesn't appear to work. I got the SPEC file from CVS and tried
to
build 1.1.3 with it. (As a SPEC file, if it was OK, it should have
worked regardless of whether I was trying 1.1.3 or later). However,
we
fall into the same situation that started this whole discussion -
that
of "Installed (but unpackaged) file(s) found".

One line fixes this though - see below...

An extract from the build:

RPM build errors:
    Installed (but unpackaged) file(s) found:
   /usr/share/doc/freeradius-1.1.3/Acct-Type
   /usr/share/doc/freeradius-1.1.3/Autz-Type
   /usr/share/doc/freeradius-1.1.3/COPYRIGHT
   /usr/share/doc/freeradius-1.1.3/CREDITS
   /usr/share/doc/freeradius-1.1.3/CYGWIN
   /usr/share/doc/freeradius-1.1.3/ChangeLog
   /usr/share/doc/freeradius-1.1.3/DIFFS
......

This is because the files are present in the right spot (whether
installed
by the Makefile or by the %install section), but nothing has told
RPM to
package these in the %files section.

The addition of one line, however, fixes this, shown below:

- --- freeradius.orig.spec 2006-09-11 14:44:55.000000000 +1000
+++ freeradius.spec      2006-09-11 17:50:46.000000000 +1000
@@ -108,6 +108,7 @@
 %config /etc/logrotate.d/radiusd
 %config /etc/rc.d/init.d/radiusd
 %config (noreplace) /etc/raddb/*
+%doc %{_datadir}/doc/%{name}-%{version}
 %{_bindir}/*
 %{_datadir}/%{name}
 %{_libdir}/*

It actually uses all the files installed by the Makefile in the
right
doc directory as well as the three files installed in the %install
section. As the diff file shows above, it just designates the
directory
we installed the docs into as the documentation directory and the
build completes properly as shown:

Checking for unpackaged file(s): /usr/lib/rpm/check-files
/var/tmp/freeradius-root
Wrote: /usr/src/redhat/SRPMS/freeradius-1.1.3-0.src.rpm
Wrote: /usr/src/redhat/RPMS/i386/freeradius-1.1.3-0.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/freeradius-debuginfo-1.1.3-
0.i386.rpm

If this one line is put into the CVS head redhat/freeradius.spec,
this would be great.

Thanks
SW
-----BEGIN PGP SIGNATURE-----
Note: This signature can be verified at https://www.hushtools.com/verify
Version: Hush 2.5

wkYEARECAAYFAkUFF98ACgkQmw4BJyaatJ2yzQCglmdu+5vVVUlJ4CBL38vQjqdWyIUA
n0bPILX/xqHYNob1z2SK1AtNOVid
=U2Sn
-----END PGP SIGNATURE-----





More information about the Freeradius-Devel mailing list