debian: remove empty directory /var/log/freeradius
[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
9 package = freeradius
10 debiandir = $(shell pwd)/debian
11 tmp     = $(debiandir)/tmp
12
13 prefix  = /
14 exec_prefix     = /usr
15 mandir  = $(exec_prefix)/share/man
16 libdir  = $(exec_prefix)/lib/freeradius
17 logdir  = /var/log/radiusd-freeradius
18 pkgdocdir       = $(exec_prefix)/share/doc/radiusd-freeradius
19 raddbdir        = $(prefix)/etc/raddb
20
21 build:
22 # Builds the binary package.
23         dh_testdir
24         # dh_testroot
25         ./configure --prefix=$(prefix) --exec-prefix=$(exec_prefix) --libdir=$(libdir) --mandir=$(mandir) --with-logdir=$(logdir) --with-thread-pool --enable-ltdl-install=no --enable-strict-dependencies
26         make
27         touch build
28
29 # Architecture independant files.
30 binary-indep: build
31
32 # Make a binary package (.deb file)
33 binary-arch: build
34         dh_clean
35         dh_installdirs
36         make install prefix=$(prefix) exec_prefix=$(exec_prefix) mandir=$(mandir) libdir=$(libdir) R=$(tmp)
37         # clean up install cruft.  $$&@!%
38         rmdir $(tmp)/$(execprefix)/include
39         rm $(tmp)/$(execprefix)/usr/sbin/rc.radiusd
40         # split out inconvenient/controversal modules to other places
41         for modname in krb5 ldap mysql postgresql; do \
42                 mkdir -p $(debiandir)/radiusd-freeradius-$${modname}/$(libdir); \
43                 mv $(tmp)/$(libdir)/rlm*_$${modname}.* $(debiandir)/radiusd-freeradius-$${modname}/$(libdir)/; \
44         done
45         # man pages & docs
46         dh_undocumented 
47         install -g root -m 644 CREDITS $(tmp)/$(pkgdocdir)/credits
48         find doc -type f -maxdepth 1 ! -path doc/ChangeLog -exec dh_installdocs {} \;
49         find src/modules/rlm_sql/drivers -type f -name \*.sql -exec dh_installdocs {} \;
50         # dh_installchangelogs doc/ChangeLog
51         dh_compress
52         # supporting programs
53         dh_installlogrotate
54         install -g root -m 755 $(debiandir)/initscript $(tmp)/$(prefix)/etc/init.d/freeradius
55         TEMPFILE=`mktemp /tmp/radconf-XXXXXX`; \
56         cp $(tmp)/$(raddbdir)/radiusd.conf $$TEMPFILE; \
57         cat $$TEMPFILE \
58                 | sed -e 's/        /   /g' \
59                 | sed -e '/^    example {/,/^   }/s/^/#/' \
60                 | sed -e 's/^           #       shadow          =/              shadow          =/' \
61                 | sed -e 's#^\(run_dir = .{localstatedir}/run\)#\1/radiusd#' \
62                 | sed -e 's/^group = nobody/group = freerad/' \
63                 | sed -e 's/^user = nobody/user = freerad/' \
64                         > $(tmp)/$(raddbdir)/radiusd.conf; \
65         rm $$TEMPFILE
66         # 
67         dh_strip
68         dh_installchangelogs
69         dh_makeshlibs
70         dh_shlibdeps
71         dh_installdeb
72         dh_compress
73         dh_fixperms
74         dh_md5sums
75         dh_gencontrol
76         dh_builddeb
77
78 clean:  
79         rm -f build debian/{files,substvars} debian/*.debhelper
80         [ -f Make.inc ] && make distclean || true
81         dh_clean
82         rm -rf $(tmp) radiusd-freeradius-{ldap,postgresql,mysql,krb5}{,.substvars}
83
84 binary: binary-indep binary-arch
85
86 # for the maintainer only
87 sanitycheck:
88         @echo -n "sanity: checking for overzealous undocumented file... "
89         @find man/ -type f |grep \. |sed -e 's%man/man./%%' | { \
90                 while read manpage; do \
91                         grep $$manpage debian/radiusd-freeradius.undocumented | read filename && echo -n $$filename; \
92                 done; \
93         } || true
94         @test -n $$filename
95         @echo good.
96
97 .PHONY: binary binary-arch binary-indep clean sanitycheck