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.
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