3 # debian/rules file for freeradius
9 debiandir = $(shell pwd)/debian
10 freeradius_dir = $(debiandir)/$(package)
12 mandir = /usr/share/man
13 libdir = /usr/lib/$(package)
14 logdir = /var/log/$(package)
15 pkgdocdir = /usr/share/doc/$(package)
16 raddbdir = /etc/$(package)
19 # Builds the binary package.
28 --datadir=/usr/share \
29 --localstatedir=/var \
30 --with-raddbdir=$(raddbdir) \
31 --with-logdir=/var/log/$(package) \
32 --with-thread-pool --with-system-libtool \
33 --enable-ltdl-install=no --enable-strict-dependencies
35 # Modify Make.inc for Debian...
36 TEMPFILE=`mktemp /tmp/radmake-XXXXXX`; \
37 cp Make.inc $$TEMPFILE; \
39 | sed -e 's!${localstatedir}/run/radiusd!${localstatedir}/run/freeradius!' \
42 # This is currently a NOP
43 # | sed -e 's!$(datadir)/freeradius!$(datadir)/freeradius!' \
48 # Architecture independant files.
51 # Make a binary package (.deb file)
55 make install R=$(freeradius_dir)
57 # rename radius binary to play nicely with others
58 mv $(freeradius_dir)/usr/sbin/radiusd $(freeradius_dir)/usr/sbin/$(package)
60 # clean up install cruft. $$&@!%
61 rm $(freeradius_dir)/usr/sbin/rc.radiusd
62 test ! -d $(freeradius_dir)/etc/raddb || rmdir $(freeradius_dir)/etc/raddb
63 test ! -d $(freeradius_dir)/var/log/radius/radacct || rmdir $(freeradius_dir)/var/log/radius/radacct
64 test ! -d $(freeradius_dir)/var/log/radius || rmdir $(freeradius_dir)/var/log/radius
65 # Yuck! the makefile in doc/ does this.
66 rm -rf $(freeradius_dir)/usr/share/doc/freeradius-0.9-pre
68 # split out inconvenient/controversal modules to other places
69 for modname in krb5 ldap mysql postgresql; do \
70 mkdir -p $(debiandir)/$(package)-$${modname}/$(libdir); \
71 mv $(freeradius_dir)/$(libdir)/rlm*_$${modname}* $(debiandir)/$(package)-$${modname}/$(libdir)/; \
75 install -g root -m 644 CREDITS $(freeradius_dir)/$(pkgdocdir)/credits
76 dh_installdocs -XChangeLog -X00-OLD -XCVS -XMakefile doc/*
77 dh_installdocs `find src/modules/rlm_sql/drivers -type f -name \*.sql`
78 dh_installchangelogs doc/ChangeLog
81 install -g root -m 755 $(debiandir)/initscript $(freeradius_dir)/etc/init.d/$(package)
82 TEMPFILE=`mktemp /tmp/radconf-XXXXXX`; \
83 cp $(freeradius_dir)/$(raddbdir)/radiusd.conf $$TEMPFILE; \
86 | sed -e '/^ example {/,/^ }/s/^/#/' \
87 | sed -e 's/# shadow = /shadow = /' \
88 | sed -e 's/^#\?group = nobody/group = freerad/' \
89 | sed -e 's/^#\?user = nobody/user = freerad/' \
90 | sed -e 's@/run/radiusd@/run/freeradius@' \
91 > $(freeradius_dir)/$(raddbdir)/radiusd.conf; \
95 # We don't need ldconfig. None of our libraries go in it's paths
106 rm -f build debian/{files,substvars} debian/*.debhelper
107 [ -f Make.inc ] && make distclean || true
109 rm -rf $(freeradius_dir) $(debiandir)/$(package)-{ldap,postgresql,mysql,krb5}{,.substvars}
111 binary: binary-indep binary-arch
113 # for the maintainer only
115 @echo -n "sanity: checking for overzealous undocumented file... "
116 @find man/ -type f |grep \. |sed -e 's%man/man./%%' | { \
117 while read manpage; do \
118 grep $$manpage debian/$(package).undocumented | read filename && echo -n $$filename; \
124 .PHONY: binary binary-arch binary-indep clean sanitycheck