On 9 Sep 2013, at 14:24, Alan DeKok <aland@deployingradius.com> wrote:

Stefan Winter wrote:
The idea is that make install is not supposed to touch my production
config in any way. I don't want it to generously add directories without
me knowing.

There's also:

#!/bin/sh
make clean
if ! git pull; then
        exit 1;
fi
hash=`git log -n 1 --pretty=format:%h`
./configure -C --prefix="/usr/local/freeradius-$hash" --enable-developer
make -j8
if ! sudo make install; then
exit 1;
fi

sudo rm /usr/local/freeradius
sudo ln -s "/usr/local/freeradius-$hash" /usr/local/freeradius

# Bootstrap configuration directory
if [ ! -d "/usr/local/etc/raddb" ]; then
        if [ ! -d /usr/local/etc ]; then
                 sudo mkdir /usr/local/etc/
        fi

        sudo cp -ra /usr/local/freeradius-$hash/etc/raddb /usr/local/etc/
fi

sudo rm -rf /usr/local/freeradius/etc/raddb
sudo ln -s /usr/local/etc/raddb /usr/local/freeradius/etc/raddb
sudo service radiusd restart

Which is what I use to deploy GIT versions on production servers. It allows you to quickly fail back to a previous version if there are issues.
This negates problems caused by installing over the top of a previous installation, which IMHO is always an extremely bad idea with any unpackaged software.

-Arran

Arran Cudbard-Bell <a.cudbardb@freeradius.org>
FreeRADIUS Development Team