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