On Wed 16 Aug 2006 13:03, Frank Cusack wrote:
On August 16, 2006 12:22:01 PM +0300 Peter Nixon <listuser@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.
Yes. It creates that of course.
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.
Thanks. Nice solution. I have added it to the spec. -- Peter Nixon http://www.peternixon.net/ PGP Key: http://www.peternixon.net/public.asc