Debian’s FreeRADIUS packages are a little out of date, but thankfully it’s easy building packages from source. Instructions below tested on Debian Squeeze, but should also apply to Lenny (you should upgrade), or Ubuntu and other Debian-derivatives.
You’ll need git and the Debian development packages installed:
user@fr:~$ sudo apt-get install git-core dpkg-dev
Get a copy of the FreeRADIUS repository:
user@fr:~$ git clone git://github.com/FreeRADIUS/freeradius-server.git Cloning into freeradius-server... Receiving objects: 100% (78345/78345), 15.52 MiB | 671 KiB/s, done. Resolving deltas: 100% (61479/61479), done.
Now you can pick which version you want to build. This example is for version 2.1.12, the current latest stable version. Use git tag to see the versions available, or git branch -r to see the development branches. For the latest version 2 branch, you’d do git checkout origin/v2.1.x instead.
user@fr:~$ cd freeradius-server/ user@fr:~/freeradius-server$ git checkout release_2_1_12 Note: checking out 'release_2_1_12'. ... HEAD is now at 70c2285... Last set of changes
We need to install any packages that the build process depends on. First get a list of the packages, then install them:
user@fr:~/freeradius-server$ dpkg-checkbuilddeps dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 6.0.7) quilt autotools-dev libtool libltdl3-dev libssl-dev libpam0g-dev libmysqlclient-dev libgdbm-dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev libperl-dev libpcap-dev python-dev libsnmp-dev libpq-dev user@fr:~/freeradius-server$ sudo apt-get install debhelper quilt autotools-dev libtool libltdl3-dev libssl-dev libpam0g-dev libmysqlclient-dev libgdbm-dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev libperl-dev libpcap-dev python-dev libsnmp-dev libpq-dev
Now, build the packages. This doesn’t take that long on a recent machine.
user@fr:~/freeradius-server$ dpkg-buildpackage -us -uc -rfakeroot ... dpkg-buildpackage: full upload; Debian-native package (full source is included)
You’re done – packages are now available, ready to install with dpkg -i.
user@fr:~/freeradius-server$ cd .. user@fr:~$ ls -l *deb -rw-r--r-- 1 root root 269510 Jan 23 16:24 freeradius-common_2.1.12+git_all.deb -rw-r--r-- 1 root root 1162088 Jan 23 16:23 freeradius-dbg_2.1.12+git_amd64.deb -rw-r--r-- 1 root root 134858 Jan 23 16:24 freeradius-dialupadmin_2.1.12+git_all.deb -rw-r--r-- 1 root root 34936 Jan 23 16:23 freeradius-iodbc_2.1.12+git_amd64.deb -rw-r--r-- 1 root root 35756 Jan 23 16:23 freeradius-krb5_2.1.12+git_amd64.deb -rw-r--r-- 1 root root 54024 Jan 23 16:23 freeradius-ldap_2.1.12+git_amd64.deb -rw-r--r-- 1 root root 43252 Jan 23 16:23 freeradius-mysql_2.1.12+git_amd64.deb -rw-r--r-- 1 root root 53966 Jan 23 16:23 freeradius-postgresql_2.1.12+git_amd64.deb -rw-r--r-- 1 root root 99578 Jan 23 16:23 freeradius-utils_2.1.12+git_amd64.deb -rw-r--r-- 1 root root 1486262 Jan 23 16:23 freeradius_2.1.12+git_amd64.deb -rw-r--r-- 1 root root 156212 Jan 23 16:23 libfreeradius-dev_2.1.12+git_amd64.deb -rw-r--r-- 1 root root 116128 Jan 23 16:23 libfreeradius2_2.1.12+git_amd64.deb
(21 Aug 2013: edited with new github location)
(24 Apr 2014: corrected dpkg-buildpackage command)
buildpackage -us -uc -rfakeroot
should be
dpkg-buildpackage -us -uc -rfakeroot
Oops, thanks! Corrected.