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