fd6fa5c21d97f4be174f68f8dfc379625905a682
[debian/sudo] / debian / rules
1 #!/usr/bin/make -f
2
3 export DH_VERBOSE=1
4
5 CFLAGS = -Wall -Wno-comment -g
6 ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
7     CFLAGS += -O0
8 else
9     CFLAGS += -O2
10 endif
11 export CFLAGS
12
13 configure: configure-stamp
14 configure-stamp:
15         dh_testdir
16         cp -f /usr/share/misc/config.sub config.sub
17         cp -f /usr/share/misc/config.guess config.guess
18
19         # simple version
20         mkdir -p build-simple
21         cd build-simple && NROFFPROG=/usr/bin/nroff $(CURDIR)/configure \
22                 --prefix=/usr -v \
23                 --with-all-insults \
24                 --with-devel \
25                 --with-pam \
26                 --with-fqdn \
27                 --with-logging=syslog \
28                 --with-logfac=authpriv \
29                 --with-env-editor \
30                 --with-editor=/usr/bin/editor \
31                 --with-timeout=15 \
32                 --with-password-timeout=0 \
33                 --with-passprompt="[sudo] password for %p: " \
34                 --disable-root-mailer \
35                 --with-sendmail=/usr/sbin/sendmail \
36                 --with-timedir=/var/lib/sudo \
37                 --mandir=/usr/share/man \
38                 --libexecdir=/usr/lib/sudo
39
40         # LDAP version
41         mkdir -p build-ldap
42         cd build-ldap && NROFFPROG=/usr/bin/nroff $(CURDIR)/configure \
43                 --prefix=/usr -v \
44                 --with-all-insults \
45                 --with-devel \
46                 --with-pam \
47                 --with-ldap \
48                 --with-fqdn \
49                 --with-logging=syslog \
50                 --with-logfac=authpriv \
51                 --with-env-editor \
52                 --with-editor=/usr/bin/editor \
53                 --with-timeout=15 \
54                 --with-password-timeout=0 \
55                 --with-passprompt="[sudo] password for %p: " \
56                 --disable-root-mailer \
57                 --disable-setresuid \
58                 --with-sendmail=/usr/sbin/sendmail \
59                 --with-ldap-conf-file=/etc/sudo-ldap.conf \
60                 --mandir=/usr/share/man \
61                 --libexecdir=/usr/lib/sudo \
62                 --with-secure-path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin"
63
64         touch configure-stamp
65
66 build: build-stamp
67 build-stamp: configure-stamp
68         dh_testdir
69
70         # ensure our pod changes get picked up
71         $(MAKE) -C doc sudoers.man.in sudo.man.in visudo.man.in
72
73         $(MAKE) -C build-simple
74         $(MAKE) -C build-ldap
75
76         touch build-stamp
77
78 clean:
79         dh_testdir
80         dh_testroot
81         rm -f configure-stamp build-stamp
82         rm -rf build-simple build-ldap
83         rm -f config.cache
84         dh_clean
85
86 install: build-stamp
87         dh_testdir
88         dh_testroot
89         dh_prep
90         dh_installdirs
91
92         $(MAKE) -C build-simple install DESTDIR=$(CURDIR)/debian/sudo
93         $(MAKE) -C build-ldap   install DESTDIR=$(CURDIR)/debian/sudo-ldap
94
95         # remove stuff we don't want
96         rm -f   debian/sudo*/etc/sudoers \
97                 debian/sudo*/usr/share/doc/sudo/LICENSE* \
98                 debian/sudo*/usr/share/doc/sudo/ChangeLog
99
100         # move upstream-installed docs to the right place for ldap package
101         mv      debian/sudo-ldap/usr/share/doc/sudo/* \
102                 debian/sudo-ldap/usr/share/doc/sudo-ldap/
103         rmdir   debian/sudo-ldap/usr/share/doc/sudo
104
105         # and install things we do want that make install doesn't know about
106         install -o root -g root -m 0644 debian/sudo.pam \
107                 debian/sudo/etc/pam.d/sudo
108         install -o root -g root -m 0644 debian/sudo.pam \
109                 debian/sudo-ldap/etc/pam.d/sudo
110
111         install -o root -g root -m 0644 debian/sudo.lintian \
112                 debian/sudo/usr/share/lintian/overrides/sudo
113         install -o root -g root -m 0644 debian/sudo-ldap.lintian \
114                 debian/sudo-ldap/usr/share/lintian/overrides/sudo-ldap
115
116         install -o root -g root -m 0440 debian/sudoers \
117                 debian/sudo/etc/sudoers
118         install -o root -g root -m 0440 debian/sudoers \
119                 debian/sudo-ldap/etc/sudoers
120
121         install -o root -g root -m 0440 debian/README \
122                 debian/sudo/etc/sudoers.d/README
123         install -o root -g root -m 0440 debian/README \
124                 debian/sudo-ldap/etc/sudoers.d/README
125
126 binary-indep: build install
127
128 binary-arch: build install
129         dh_testdir
130         dh_testroot
131         dh_installdocs -A
132         dh_installexamples -A doc/sample.sudoers
133         dh_installinit -psudo -psudo-ldap --name=sudo
134         dh_installman -A
135         dh_installinfo -A
136         dh_installchangelogs ChangeLog 
137         dh_strip
138         dh_compress
139         dh_fixperms
140         chown root.root debian/sudo/usr/bin/sudo debian/sudo-ldap/usr/bin/sudo
141         chmod 4755 debian/sudo/usr/bin/sudo debian/sudo-ldap/usr/bin/sudo
142         chmod 0440      debian/sudo/etc/sudoers.d/README \
143                         debian/sudo-ldap/etc/sudoers.d/README
144         dh_installdeb
145         dh_shlibdeps
146         dh_gencontrol
147         dh_md5sums
148         dh_builddeb
149
150 binary: binary-indep binary-arch
151 .PHONY: configure build clean binary-indep binary-arch binary install