X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=debian%2Frules;h=725790acc3087b0c3e30ee1e44d741ef4dc6818e;hb=refs%2Ftags%2Fdebian%2F1.8.3p1-3;hp=35342d3b6e4cfabe01ab65655278dff93550cf2a;hpb=dbfba8e03d0fd62b5bd97a7ae9c8712221106b17;p=debian%2Fsudo diff --git a/debian/rules b/debian/rules index 35342d3..725790a 100755 --- a/debian/rules +++ b/debian/rules @@ -1,107 +1,163 @@ #!/usr/bin/make -f -# Comment this to turn off verbose mode. export DH_VERBOSE=1 -# This is the debhelper compatibility version to use. -export DH_COMPAT=2 +CFLAGS = `dpkg-buildflags --get CFLAGS` +CFLAGS += -Wall -Wno-comment +LDFLAGS = `dpkg-buildflags --get LDFLAGS` +CPPFLAGS = `dpkg-buildflags --get CPPFLAGS` -CFLAGS = -O2 -Wall -Wno-comment -ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) -CFLAGS += -g -endif -export CFLAGS +configure: configure-stamp +configure-stamp: + dh_testdir + cp -f /usr/share/misc/config.sub config.sub + cp -f /usr/share/misc/config.guess config.guess + + # simple version + mkdir -p build-simple + cd build-simple && NROFFPROG=/usr/bin/nroff CFLAGS="$(CFLAGS)" \ + CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" $(CURDIR)/configure \ + --prefix=/usr -v \ + --with-all-insults \ + --with-selinux \ + --with-pam \ + --with-fqdn \ + --with-logging=syslog \ + --with-logfac=authpriv \ + --with-env-editor \ + --with-editor=/usr/bin/editor \ + --with-timeout=15 \ + --with-password-timeout=0 \ + --with-passprompt="[sudo] password for %p: " \ + --disable-root-mailer \ + --with-sendmail=/usr/sbin/sendmail \ + --with-timedir=/var/lib/sudo \ + --mandir=/usr/share/man \ + --libexecdir=/usr/lib/sudo + + # LDAP version + mkdir -p build-ldap + cd build-ldap && NROFFPROG=/usr/bin/nroff CFLAGS="$(CFLAGS)" \ + CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" $(CURDIR)/configure \ + --prefix=/usr -v \ + --with-all-insults \ + --with-pam \ + --with-ldap \ + --with-fqdn \ + --with-logging=syslog \ + --with-logfac=authpriv \ + --with-env-editor \ + --with-editor=/usr/bin/editor \ + --with-timeout=15 \ + --with-password-timeout=0 \ + --with-passprompt="[sudo] password for %p: " \ + --disable-root-mailer \ + --disable-setresuid \ + --with-sendmail=/usr/sbin/sendmail \ + --with-ldap-conf-file=/etc/sudo-ldap.conf \ + --mandir=/usr/share/man \ + --libexecdir=/usr/lib/sudo \ + --with-secure-path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin" -buildarch := $(shell dpkg-architecture -qDEB_BUILD_ARCH) -ifeq ($(buildarch),sparc) - grosshack := --disable-saved-ids -else - grosshack := -endif + touch configure-stamp -build: build-stamp -build-stamp: +build: build-arch build-indep +build-arch: build-stamp +build-indep: build-stamp +build-stamp: configure-stamp dh_testdir - ./configure --prefix=/usr -v \ - --with-exempt=sudo --with-pam --with-fqdn \ - --with-logging=syslog --with-logfac=authpriv \ - --with-env-editor --with-editor=/usr/bin/editor \ - --with-timeout=15 --with-password-timeout=0 \ - --disable-root-mailer $(grosshack) \ - --with-secure-path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin" + # ensure our pod changes get picked up + $(MAKE) -C doc sudoers.man.in sudo.man.in visudo.man.in + + $(MAKE) -C build-simple + $(MAKE) -C build-ldap - -rm -f sudoers.man.in sudoers.man - make sudoers.man.in sudoers.man - -$(MAKE) + $(MAKE) -C build-simple check touch build-stamp clean: dh_testdir dh_testroot - rm -f build-stamp - - -$(MAKE) distclean || exit 0 - + rm -f configure-stamp build-stamp + rm -rf build-simple build-ldap + rm -f config.cache dh_clean -install: build +install: build-stamp dh_testdir dh_testroot - dh_clean -k + dh_prep dh_installdirs - install -o root -g root -m 4755 -s sudo debian/sudo/usr/bin/sudo - install -o root -g root -m 0755 -s visudo debian/sudo/usr/sbin/visudo - install -o root -g root -m 0644 sudo.man \ - debian/sudo/usr/share/man/man8/sudo.8 - install -o root -g root -m 0644 visudo.man \ - debian/sudo/usr/share/man/man8/visudo.8 - install -o root -g root -m 0644 sudoers.man \ - debian/sudo/usr/share/man/man5/sudoers.5 - install -g root -m 644 -o root sample.sudoers \ - debian/sudo/usr/share/doc/sudo/examples/sudoers - install -g root -m 644 -o root debian/sudo.pam \ + $(MAKE) -C build-simple install DESTDIR=$(CURDIR)/debian/sudo + $(MAKE) -C build-ldap install DESTDIR=$(CURDIR)/debian/sudo-ldap + + # remove stuff we don't want + rm -f debian/sudo*/etc/sudoers \ + debian/sudo*/usr/share/doc/sudo/LICENSE* \ + debian/sudo*/usr/share/doc/sudo/ChangeLog + + # move upstream-installed docs to the right place for ldap package + mv debian/sudo-ldap/usr/share/doc/sudo/* \ + debian/sudo-ldap/usr/share/doc/sudo-ldap/ + rmdir debian/sudo-ldap/usr/share/doc/sudo + + # move sample files to the examples folder + mv debian/sudo/usr/share/doc/sudo/sample.* \ + debian/sudo/usr/share/doc/sudo/examples/ + mv debian/sudo-ldap/usr/share/doc/sudo-ldap/sample.* \ + debian/sudo-ldap/usr/share/doc/sudo-ldap/examples/ + + # and install things we do want that make install doesn't know about + install -o root -g root -m 0644 debian/sudo.pam \ debian/sudo/etc/pam.d/sudo + install -o root -g root -m 0644 debian/sudo.pam \ + debian/sudo-ldap/etc/pam.d/sudo + + install -o root -g root -m 0644 debian/sudo.lintian \ + debian/sudo/usr/share/lintian/overrides/sudo + install -o root -g root -m 0644 debian/sudo-ldap.lintian \ + debian/sudo-ldap/usr/share/lintian/overrides/sudo-ldap + + install -o root -g root -m 0440 debian/sudoers \ + debian/sudo/etc/sudoers + install -o root -g root -m 0440 debian/sudoers \ + debian/sudo-ldap/etc/sudoers + + install -o root -g root -m 0440 debian/README \ + debian/sudo/etc/sudoers.d/README + install -o root -g root -m 0440 debian/README \ + debian/sudo-ldap/etc/sudoers.d/README + + install -o root -g root -m 0644 debian/sudo.service \ + debian/sudo/lib/systemd/system/sudo.service + install -o root -g root -m 0644 debian/sudo.service \ + debian/sudo-ldap/lib/systemd/system/sudo.service -# Build architecture-independent files here. binary-indep: build install -# We have nothing to do by default. -# Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot -# dh_installdebconf - dh_installdocs debian/OPTIONS BUGS RUNSON UPGRADE PORTING \ - TODO HISTORY README TROUBLESHOOTING - dh_installexamples - dh_installmenu -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime - dh_installinit - dh_installcron - dh_installmanpages fnmatch.3 - dh_installinfo -# dh_undocumented - dh_installchangelogs CHANGES - dh_link + dh_installdocs -A + dh_installinit -psudo -psudo-ldap --name=sudo + dh_installman -A + dh_installinfo -A + dh_installchangelogs ChangeLog dh_strip dh_compress dh_fixperms - # You may want to make some executables suid here. - chown root.root debian/sudo/usr/bin/sudo - chmod 4755 debian/sudo/usr/bin/sudo -# dh_makeshlibs + chown root.root debian/sudo/usr/bin/sudo debian/sudo-ldap/usr/bin/sudo + chmod 4755 debian/sudo/usr/bin/sudo debian/sudo-ldap/usr/bin/sudo + chmod 0440 debian/sudo/etc/sudoers.d/README \ + debian/sudo-ldap/etc/sudoers.d/README dh_installdeb -# dh_perl dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install +.PHONY: configure build-indep build-arch build clean binary-indep binary-arch binary install