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