3 # debian/rules file for freeradius
11 debiandir = $(shell pwd)/debian
12 radiusd_freeradius_dir = $(debiandir)/$(package)
14 mandir = /usr/share/man
15 libdir = /usr/lib/$(package)
16 logdir = /var/log/$(package)
17 pkgdocdir = /usr/share/doc/$(package)
18 raddbdir = /etc/$(package)
21 # Builds the binary package.
30 --datadir=/usr/share \
31 --localstatedir=/var \
32 --with-raddbdir=$(raddbdir) \
33 --with-logdir=/var/log/$(package) \
34 --with-thread-pool --with-system-libtool --enable-ltdl-install=no --enable-strict-dependencies
36 # Modify Make.inc for Debian...
37 TEMPFILE=`mktemp /tmp/radmake-XXXXXX`; \
38 cp Make.inc $$TEMPFILE; \
40 | sed -e 's!${localstatedir}/run/radiusd!${localstatedir}/run/freeradius!' \
43 # This is currently a NOP
44 # | sed -e 's!$(datadir)/freeradius!$(datadir)/freeradius!' \
49 # Architecture independant files.
52 # Make a binary package (.deb file)
56 make install R=$(radiusd_freeradius_dir)
58 # rename radius binary to play nicely with others
59 mv $(radiusd_freeradius_dir)/usr/sbin/radiusd $(radiusd_freeradius_dir)/usr/sbin/$(package)
60 # Surely this should be alternatives, if /usr/sbin/radiusd is needed at all?
61 # ln -s freeradiusd $(radiusd_freeradius_dir)/usr/sbin/radiusd
63 # clean up install cruft. $$&@!%
64 rm $(radiusd_freeradius_dir)/usr/sbin/rc.radiusd
65 # test ! -d $(radiusd_freeradius_dir)/var/run/radiusd || rmdir $(radiusd_freeradius_dir)/var/run/radiusd
66 # test ! -d $(radiusd_freeradius_dir)/usr/lib/freeradius || rmdir $(radiusd_freeradius_dir)/usr/lib/freeradius
67 test ! -d $(radiusd_freeradius_dir)/etc/raddb || rmdir $(radiusd_freeradius_dir)/etc/raddb
68 test ! -d $(radiusd_freeradius_dir)/var/log/radius/radacct || rmdir $(radiusd_freeradius_dir)/var/log/radius/radacct
69 test ! -d $(radiusd_freeradius_dir)/var/log/radius || rmdir $(radiusd_freeradius_dir)/var/log/radius
70 # Yuck! the makefile in doc/ does this.
71 rm -rf $(radiusd_freeradius_dir)/usr/share/doc/freeradius-0.9-pre
73 # split out inconvenient/controversal modules to other places
74 for modname in krb5 ldap mysql postgresql; do \
75 mkdir -p $(debiandir)/$(package)-$${modname}/$(libdir); \
76 mv $(radiusd_freeradius_dir)/$(libdir)/rlm*_$${modname}* $(debiandir)/$(package)-$${modname}/$(libdir)/; \
80 # Deprecated.. Woody backport _should_ enable this.
82 install -g root -m 644 CREDITS $(radiusd_freeradius_dir)/$(pkgdocdir)/credits
83 dh_installdocs -XChangeLog -X00-OLD -XCVS doc/*
84 dh_installdocs `find src/modules/rlm_sql/drivers -type f -name \*.sql`
85 dh_installchangelogs doc/ChangeLog
89 # No logrotation setup present...
91 install -g root -m 755 $(debiandir)/initscript $(radiusd_freeradius_dir)/etc/init.d/$(package)
92 TEMPFILE=`mktemp /tmp/radconf-XXXXXX`; \
93 cp $(radiusd_freeradius_dir)/$(raddbdir)/radiusd.conf $$TEMPFILE; \
96 | sed -e '/^ example {/,/^ }/s/^/#/' \
97 | sed -e 's/# shadow = /shadow = /' \
98 | sed -e 's/^#\?group = nobody/group = freerad/' \
99 | sed -e 's/^#\?user = nobody/user = freerad/' \
100 | sed -e 's@/run/radiusd@/run/freeradius@' \
101 > $(radiusd_freeradius_dir)/$(raddbdir)/radiusd.conf; \
104 # Use /usr/share/$pkgname/ rather than /usr/share/freeradius/
105 # Lucky! /usr/share/$pkgname _is_ /usr/share/freeradius
106 # TEMPFILE=`mktemp /tmp/raddict-XXXXXX`; \
107 cp $(radiusd_freeradius_dir)/$(raddbdir)/dictionary $$TEMPFILE; \
109 | sed -e 's!share/freeradius/dict!share/freeradius/dict!' \
110 > $(radiusd_freeradius_dir)/$(raddbdir)/dictionary; \
126 rm -f build debian/{files,substvars} debian/*.debhelper
127 [ -f Make.inc ] && make distclean || true
129 rm -rf $(radiusd_freeradius_dir) $(debiandir)/$(package)-{ldap,postgresql,mysql,krb5}{,.substvars}
131 binary: binary-indep binary-arch
133 # for the maintainer only
135 @echo -n "sanity: checking for overzealous undocumented file... "
136 @find man/ -type f |grep \. |sed -e 's%man/man./%%' | { \
137 while read manpage; do \
138 grep $$manpage debian/$(package).undocumented | read filename && echo -n $$filename; \
144 .PHONY: binary binary-arch binary-indep clean sanitycheck