broken --prefix=/

Frank Cusack fcusack at fcusack.com
Wed Aug 16 12:03:03 CEST 2006


On August 16, 2006 12:22:01 PM +0300 Peter Nixon <listuser at peternixon.net> wrote:
> Hmm. It turns out that this is actually a false alarm. When installed on a
> clean system the rpm works as expected, however on a currently working system
> the rpm does not overwrite radiusd.conf and of course the existing
> radiusd.conf has "libdir = /usr/lib/freeradius" not "libdir
> = /usr/lib64/freeradius"

But you should get a radiusd.conf.rpmnew, yes?  Not that this helps.

> I am not quite sure how to handle this change cleanly as it is definitely
> impolite to replace people's radiusd.conf but this will bite anyone upgrading
> on 64bit platforms. (At least using the SUSE rpms, I dont know about other
> platforms).

You could write a %post script that changes libdir (perl -i -pe) on the
existing radiusd.conf if the current value differs only in 32/64 bitness.

%post

%ifarch x86_64 [ other 64-bit arches you want to support ]
libdir32=${%{_libdir}%%64}/freeradius
/usr/bin/perl -i -pe "s:$libdir32:%{_libdir}/freeradius:" /etc/raddb/radiusd.conf
%endif

And you'd need a 'PreReq: perl' as well unless you have one of the
very latest rpm versions that automatically figures out scriptlet deps.

Probably not the cleanest solution but maybe it's good enough.

-frank



More information about the Freeradius-Devel mailing list