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