3 # debian/rules file for freeradius
11 debiandir = $(shell pwd)/debian
12 radiusd_freeradius_dir = $(debiandir)/radiusd-freeradius
16 mandir = $(exec_prefix)/share/man
17 libdir = $(exec_prefix)/lib/freeradius
18 logdir = /var/log/radiusd-freeradius
19 pkgdocdir = $(exec_prefix)/share/doc/radiusd-freeradius
20 raddbdir = $(prefix)/etc/raddb
23 # Builds the binary package.
26 ./configure --prefix=$(prefix) --exec-prefix=$(exec_prefix) --libdir=$(libdir) --mandir=$(mandir) --with-logdir=$(logdir) --with-thread-pool --with-system-libtool="`which libtool`" --enable-ltdl-install=no --enable-strict-dependencies `find src/modules -type d |grep rlm_ |sed -e "s%.*/\(rlm_[^/]*\)\(/.*\)*%\\1%" |sort |uniq |while read dir; do egrep ^$dir\$ src/modules/stable >/dev/null || echo --disable-$dir; done`
30 # Architecture independant files.
33 # Make a binary package (.deb file)
37 make install prefix=$(prefix) exec_prefix=$(exec_prefix) mandir=$(mandir) libdir=$(libdir) R=$(radiusd_freeradius_dir)
39 # rename radius binary to play nicely with others
40 mv $(radiusd_freeradius_dir)/usr/sbin/radiusd $(radiusd_freeradius_dir)/usr/sbin/freeradiusd
41 ln -s freeradiusd $(radiusd_freeradius_dir)/usr/sbin/radiusd
43 # clean up install cruft. $$&@!%
44 test ! -d $(radiusd_freeradius_dir)/$(execprefix)/include || rm -rf $(radiusd_freeradius_dir)/$(execprefix)/include
45 rm $(radiusd_freeradius_dir)/$(execprefix)/usr/sbin/rc.radiusd
46 test ! -d $(radiusd_freeradius_dir)/var/run/radiusd || rmdir $(radiusd_freeradius_dir)/var/run/radiusd
48 # split out inconvenient/controversal modules to other places
49 for modname in krb5 ldap mysql postgresql; do \
50 mkdir -p $(debiandir)/radiusd-freeradius-$${modname}/$(libdir); \
51 mv $(radiusd_freeradius_dir)/$(libdir)/rlm*_$${modname}* $(debiandir)/radiusd-freeradius-$${modname}/$(libdir)/; \
56 install -g root -m 644 CREDITS $(radiusd_freeradius_dir)/$(pkgdocdir)/credits
57 dh_installdocs `find doc -type f -maxdepth 1 ! -path doc/ChangeLog`
58 dh_installdocs `find src/modules/rlm_sql/drivers -type f -name \*.sql`
59 #dh_installchangelogs doc/ChangeLog
64 install -g root -m 755 $(debiandir)/initscript $(radiusd_freeradius_dir)/$(prefix)/etc/init.d/freeradius
65 TEMPFILE=`mktemp /tmp/radconf-XXXXXX`; \
66 cp $(radiusd_freeradius_dir)/$(raddbdir)/radiusd.conf $$TEMPFILE; \
69 | sed -e '/^ example {/,/^ }/s/^/#/' \
70 | sed -e 's/# shadow = /shadow = /' \
71 | sed -e 's/^#?group = nobody/group = freerad/' \
72 | sed -e 's/^#?user = nobody/user = freerad/' \
73 | sed -e 's@/run/radiusd@/run/radiusd-freeradius@' \
74 > $(radiusd_freeradius_dir)/$(raddbdir)/radiusd.conf; \
89 rm -f build debian/{files,substvars} debian/*.debhelper
90 [ -f Make.inc ] && make distclean || true
92 rm -rf $(radiusd_freeradius_dir) radiusd-freeradius-{ldap,postgresql,mysql,krb5}{,.substvars}
94 binary: binary-indep binary-arch
96 # for the maintainer only
98 @echo -n "sanity: checking for overzealous undocumented file... "
99 @find man/ -type f |grep \. |sed -e 's%man/man./%%' | { \
100 while read manpage; do \
101 grep $$manpage debian/radiusd-freeradius.undocumented | read filename && echo -n $$filename; \
107 .PHONY: binary binary-arch binary-indep clean sanitycheck