rpmbuild freeradius-server-2.0.3.tar.gz
CentOS 4.6 (final) per instructions I received when rpmbuilding 2.0.1, I added "%_incdir /usr/include" to my .rpmmacros file. I was unsure whether or not the dir in the tgz still needed renaming to freeradius-2.0.3 so I left it as is. Now, I get the following error returned after running rpmbuild -bb freeradius.spec: RPM build errors: File not found: /var/tmp/freeradius-server-root/usr/share/freeradius-server Any clues? - Andrew
RPM build errors: File not found: /var/tmp/freeradius-server-root/usr/share/freeradius-server
[along@host SPECS]$ ls /var/tmp/freeradius-server-root/usr/share/ doc freeradius man
freeradius is freeradius-server - so change the rpmbuild accordingly.
Can you be a little more specific for me, I already tried renaming the dir inside the tgz to freeradius-2.0.3 but that yields even more errors. I am not sure where to make the required change. Andrew
Hi,
RPM build errors: File not found: /var/tmp/freeradius-server-root/usr/share/freeradius-server
[along@host SPECS]$ ls /var/tmp/freeradius-server-root/usr/share/ doc freeradius man
freeradius is freeradius-server - so change the rpmbuild accordingly.
Can you be a little more specific for me, I already tried renaming the dir inside the tgz to freeradius-2.0.3 but that yields even more errors. I am not sure where to make the required change.
the RPM build expects to see /var/tmp/freeradius-server-root/usr/share/freeradius-server but you only have /var/tmp/freeradius-server-root/usr/share/freeradius if this is, indeed, what gets extracted, then edit the .spec file accordingly alan
if this is, indeed, what gets extracted, then edit the .spec file accordingly
nano SPEC/freeradius.spec -- change -- Name: freeradius-server TO Name: freeradius save changes cd ../SOURCES tar xzf freeradius-server-2.0.3.tar.gz rm freeradius-server-2.0.3.tar.gz mv freeradius-server-2.0.3 freeradius-2.0.3 tar czf freeradius-2.0.3.tar.gz freeradius-2.0.3 rm -rf freeradius-2.0.3 CD ../SPECS rpmbuild -bb freeradius.spec ...lots of output... Wrote: /home/along/rpmbuild/RPMS/i386/freeradius-2.0.3-0.i386.rpm Wrote: /home/along/rpmbuild/RPMS/i386/freeradius-debuginfo-2.0.3-0.i386.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.22417 + umask 022 + cd /home/along/rpmbuild/BUILD + cd freeradius-2.0.3 + '[' /var/tmp/freeradius-root '!=' / ']' + rm -rf /var/tmp/freeradius-root + exit 0 All good. Andrew
if this is, indeed, what gets extracted, then edit the .spec file accordingly
nano SPEC/freeradius.spec -- change -- Name: freeradius-server TO Name: freeradius save changes
cd ../SOURCES tar xzf freeradius-server-2.0.3.tar.gz rm freeradius-server-2.0.3.tar.gz mv freeradius-server-2.0.3 freeradius-2.0.3 tar czf freeradius-2.0.3.tar.gz freeradius-2.0.3 rm -rf freeradius-2.0.3
CD ../SPECS rpmbuild -bb freeradius.spec
...lots of output... Wrote: /home/along/rpmbuild/RPMS/i386/freeradius-2.0.3-0.i386.rpm Wrote: /home/along/rpmbuild/RPMS/i386/freeradius-debuginfo-2.0.3-0.i386.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.22417 + umask 022 + cd /home/along/rpmbuild/BUILD + cd freeradius-2.0.3 + '[' /var/tmp/freeradius-root '!=' / ']' + rm -rf /var/tmp/freeradius-root + exit 0
All good.
Andrew
Just hoping that these changes get written into the next release OR that someone can point out my stupidity and where I am erring in the build process that the initial rpmbuild fails with the supplied spec file. Also, I think I am not alone in using CentOS, so a note might be nice in the INSTALL or README regarding the need to add %_incdir /usr/include to .rpmmacros on Cent (or, to change it to _includedir - as pointed out by Richard Siddal). - Andrew
Andrew Long wrote:
Just hoping that these changes get written into the next release OR that someone can point out my stupidity and where I am erring in the build process that the initial rpmbuild fails with the supplied spec file.
I think it's because the server installs dictionaries in /usr/share/freeradius, and the spec file expects to see them in /user/share/freeradius-server. Change this line: %{_datadir}/%{name} to: %{_datadir}/freeradius The spec file *should* then work with the freeradius-server-2.0.3.tar.gz file, subject to the _incdir comments below.
Also, I think I am not alone in using CentOS, so a note might be nice in the INSTALL or README regarding the need to add %_incdir /usr/include to .rpmmacros on Cent (or, to change it to _includedir - as pointed out by Richard Siddal).
Ok... Alan DeKok.
Change this line:
%{_datadir}/%{name} to: %{_datadir}/freeradius
The spec file *should* then work with the freeradius-server-2.0.3.tar.gz file, subject to the _incdir comments below.
On Cent, this means change _incdir to _includedir in freeradius.spec. And now the rpmbuild does indeed complete without error. And a question... I had 2.0.1 installed from an rpmbuild. Now, I built 2.0.3 with the caveats above, so the rpm is freeradius-server-2.0.3.rpm. When I tested the upgrade I got conflicts with files from freeradius-2.0.1. Is this because when I built that (2.0.1) server, I went about fixing the .spec file in the "other way" ie, by renaming the dir inside the tarball as freeradius-2.0.1? To get this install going, I ended up erasing 2.0.1 and doing a clean install of 2.0.3, but I wonder if in the future an upgrade should work again now that the package name is left as intended. - Andrew
Andrew Long wrote:
And now the rpmbuild does indeed complete without error.
And a question... I had 2.0.1 installed from an rpmbuild. Now, I built 2.0.3 with the caveats above, so the rpm is freeradius-server-2.0.3.rpm. When I tested the upgrade I got conflicts with files from freeradius-2.0.1. Is this because when I built that (2.0.1) server, I went about fixing the .spec file in the "other way" ie, by renaming the dir inside the tarball as freeradius-2.0.1?
You are getting the errors because two different packages (freeradius and freeradius-server) are both claiming to own the same files (because you renamed the package). To correct this problem simply remove the first package (rpm -e freeradius) and the conflicts should go away. However, you might want to consider using a package name of freeradius and not freeradius-server so the names are consistent with the rpm names in use on RHEL, Cent, and Fedora systems. -- John Dennis <jdennis@redhat.com>
Andrew Long wrote:
And now the rpmbuild does indeed complete without error.
OK, thanks.
And a question... I had 2.0.1 installed from an rpmbuild. Now, I built 2.0.3 with the caveats above, so the rpm is freeradius-server-2.0.3.rpm. When I tested the upgrade I got conflicts with files from freeradius-2.0.1. Is this because when I built that (2.0.1) server, I went about fixing the .spec file in the "other way" ie, by renaming the dir inside the tarball as freeradius-2.0.1?
Yes.
To get this install going, I ended up erasing 2.0.1 and doing a clean install of 2.0.3, but I wonder if in the future an upgrade should work again now that the package name is left as intended.
Yes. Alan DeKok.
participants (4)
-
A.L.M.Buxey@lboro.ac.uk -
Alan DeKok -
Andrew Long -
John Dennis