Hmm, how does this work? My changelog is in doc/ChangeLog
[freeradius.git] / debian / rules
1 #! /usr/bin/make -f
2 #
3 #       debian/rules file for radiusd-cistron
4 #
5
6 SHELL=/bin/bash
7
8 # Name.
9 package = freeradius
10 tmp     = $(shell pwd)/debian/tmp
11
12 define checkdir
13         test -f src/main/radiusd.c
14 endef
15
16 build:
17 # Builds the binary package.
18         $(checkdir)
19         ( cd src && make )
20         touch build
21
22 # Architecture independant files.
23 binary-indep:   build
24         $(checkdir)
25
26 # Make a binary package (.deb file)
27 binary-arch:    build checkroot
28         -rm -rf $(tmp)
29         install -d -g root -m 755 -o root $(tmp)
30         install -d -g root -m 755 -o root $(tmp)/{DEBIAN,usr,etc}
31         install -d -g root -m 755 -o root $(tmp)/etc/init.d
32         install -d -g root -m 755 -o root $(tmp)/etc/raddb
33         install -d -g root -m 755 -o root $(tmp)/usr/{doc,bin,sbin,man}
34         install -d -g root -m 755 -o root $(tmp)/usr/man/{man1,man5,man8}
35         install -d -g root -m 755 -o root $(tmp)/usr/doc/$(package)
36         install -d -g root -m 755 -o root $(tmp)/etc/cron.daily
37         install -d -g root -m 755 -o root $(tmp)/etc/cron.monthly
38         #
39         install -g root -s -m 755 src/radiusd $(tmp)/usr/sbin/radiusd
40         install -g root -s -m 755 src/radzap $(tmp)/usr/bin
41         install -g root -s -m 755 src/radwho $(tmp)/usr/bin
42         install -g root -s -m 755 src/raduse $(tmp)/usr/bin
43         install -g root -m 755 src/radlast $(tmp)/usr/bin
44         install -g root -s -m 755 src/radtest $(tmp)/usr/bin
45         install -g root -m 755 scripts/radwatch $(tmp)/usr/sbin
46         install -g root -m 755 src/checkrad.pl $(tmp)/usr/sbin/checkrad
47         install -g root -m 755 scripts/rc.radiusd $(tmp)/etc/init.d/radiusd
48         install -g root -m 755 scripts/radiusd.cron.daily \
49                 $(tmp)/etc/cron.daily/radiusd
50         install -g root -m 755 scripts/radiusd.cron.monthly \
51                 $(tmp)/etc/cron.monthly/radiusd
52         perl -pi -e 's#/usr/local/sbin#/usr/sbin#' \
53                 $(tmp)/usr/sbin/radwatch $(tmp)/etc/init.d/radiusd
54         #
55         install -g root -m 644 raddb/* $(tmp)/etc/raddb
56         chmod 640 $(tmp)/etc/raddb/users
57         chmod 640 $(tmp)/etc/raddb/clients
58         #
59         install -g root -m 644 doc/*.1 $(tmp)/usr/man/man1
60         install -g root -m 644 doc/*.5rad $(tmp)/usr/man/man5
61         install -g root -m 644 doc/radiusd.8 $(tmp)/usr/man/man8
62         install -g root -m 644 doc/radwatch.8 $(tmp)/usr/man/man8
63         ##install -g root -m 644 doc/builddbm.8rad $(tmp)/usr/man/man8
64         gzip -9f $(tmp)/usr/man/man?/*
65         #
66         install -g root -m 644 debian/changelog \
67                 $(tmp)/usr/doc/$(package)/changelog
68         install -g root -m 644 doc/README* \
69                 $(tmp)/usr/doc/$(package)
70         gzip -9f $(tmp)/usr/doc/$(package)/*
71         cat COPYRIGHT.* > $(tmp)/usr/doc/$(package)/copyright
72         chown root:root $(tmp)/usr/doc/$(package)/copyright
73         chmod 644 $(tmp)/usr/doc/$(package)/copyright
74         #
75         install -g root -m 755 debian/postinst $(tmp)/DEBIAN
76         install -g root -m 755 debian/prerm $(tmp)/DEBIAN
77         install -g root -m 755 debian/postrm $(tmp)/DEBIAN
78         install -g root -m 644 debian/conffiles $(tmp)/DEBIAN
79         #
80         dpkg-shlibdeps src/radiusd
81         dpkg-gencontrol
82         dpkg --build $(tmp) ..
83         rm -rf $(tmp)
84
85 clean:  checkroot
86         ( cd src && make clean )
87         rm -f build debian/{files,substvars}
88         rm -rf $(tmp)
89         find . -name '*.bak' -o -name '*~' | xargs -r rm -f --
90
91 binary: binary-indep binary-arch
92
93 checkroot:
94         $(checkdir)
95         test root = "`whoami`"
96
97 .PHONY: binary binary-arch binary-indep clean checkroot