debian: rename daemon to "freeradiusd" to be polite to other potential
[freeradius.git] / debian / rules
1 #! /usr/bin/make -f
2 #
3 #       debian/rules file for freeradius
4 #
5
6 SHELL=/bin/bash
7 DH_COMPAT=3
8 export DH_COMPAT
9
10 package = freeradius
11 debiandir = $(shell pwd)/debian
12 radiusd_freeradius_dir     = $(debiandir)/radiusd-freeradius
13
14 prefix  = /
15 exec_prefix     = /usr
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
21
22 build:
23 # Builds the binary package.
24         dh_testdir
25         # dh_testroot
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`
27         make
28         touch build
29
30 # Architecture independant files.
31 binary-indep: build
32
33 # Make a binary package (.deb file)
34 binary-arch: build
35         dh_clean
36         dh_installdirs
37         make install prefix=$(prefix) exec_prefix=$(exec_prefix) mandir=$(mandir) libdir=$(libdir) R=$(radiusd_freeradius_dir)
38
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
42
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
47
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)/; \
52         done
53
54         # man pages & docs
55         dh_undocumented 
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
60         dh_compress
61
62         # supporting programs
63         dh_installlogrotate
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; \
67         cat $$TEMPFILE \
68                 | sed -e 's/        /   /g' \
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; \
75         rm $$TEMPFILE
76         # 
77         dh_strip
78         dh_installchangelogs
79         dh_makeshlibs
80         dh_shlibdeps
81         dh_installdeb
82         dh_compress
83         dh_fixperms
84         dh_md5sums
85         dh_gencontrol
86         dh_builddeb
87
88 clean:  
89         rm -f build debian/{files,substvars} debian/*.debhelper
90         [ -f Make.inc ] && make distclean || true
91         dh_clean
92         rm -rf $(radiusd_freeradius_dir) radiusd-freeradius-{ldap,postgresql,mysql,krb5}{,.substvars}
93
94 binary: binary-indep binary-arch
95
96 # for the maintainer only
97 sanitycheck:
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; \
102                 done; \
103         } || true
104         @test -n $$filename
105         @echo good.
106
107 .PHONY: binary binary-arch binary-indep clean sanitycheck