diff options
Diffstat (limited to 'debian/rules')
-rwxr-xr-x | debian/rules | 311 |
1 files changed, 93 insertions, 218 deletions
diff --git a/debian/rules b/debian/rules index 5eb585b87..d1498c8f3 100755 --- a/debian/rules +++ b/debian/rules @@ -1,9 +1,6 @@ #!/usr/bin/make -f INSTALL = install -INSTALL_FILE = $(INSTALL) -p -o root -g root -m 644 INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 755 -INSTALL_SCRIPT = $(INSTALL) -p -o root -g root -m 755 -INSTALL_DIR = $(INSTALL) -p -d -o root -g root -m 755 package=zsh ifeq (zsh-beta,$(package)) @@ -51,14 +48,8 @@ else CFLAGS += -O2 endif -ifeq (zsh-beta,$(package)) -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) -INSTALL_PROGRAM += -s -endif -endif - build: stamp-configure - $(checkdir) + dh_testdir ifeq (zsh-beta,$(package)) touch stamp-h.in endif @@ -74,7 +65,7 @@ endif touch build build-static: stamp-configure-static - $(checkdir) + dh_testdir cd obj-static && $(MAKE) touch build-static @@ -83,7 +74,7 @@ build-debug: DEB_BUILD_OPTIONS+=debug build-debug: build stamp-configure: - $(checkdir) + dh_testdir touch stamp-h.in configure chmod 755 configure mkdir -p obj/testhome @@ -95,7 +86,7 @@ endif touch stamp-configure stamp-configure-static: - $(checkdir) + dh_testdir mkdir obj-static cd obj-static && CFLAGS='$(CFLAGS)' ../configure $(CONFIGFLAGS) $(STATICFLAGS) # cp debian/static.conf obj-static/Src/mymods.conf @@ -103,7 +94,7 @@ stamp-configure-static: touch stamp-configure-static clean: - $(checkdir) + dh_testdir ifeq (zsh-beta,$(package)) test ! -f Config/version.mk.orig || mv Config/version.mk.orig Config/version.mk endif @@ -111,47 +102,30 @@ endif if test -d obj && cd obj && test -f Makefile; then $(MAKE) distclean; fi if test -d obj-static && cd obj-static && test -f Makefile; then $(MAKE) distclean; fi ifneq (zsh-beta,$(package)) - test ! -f Makefile || $(MAKE) distclean + dh_auto_clean endif - -rm -f `find . -name "*~"` \ - debian/files* core debian/*ubstvars \ - stamp-configure stamp-configure-static \ - config.cache config.status config.status.lineno \ - Doc/zsh.idx config.h.in~ - -rm -rf debian/tmp debian/tmp-doc debian/tmp-static debian/tmp-dbg \ - debian/tmp-dev config.cache obj obj-static \ - autom4te.cache + dh_clean + -rm -rf config.cache obj obj-static autom4te.cache binary-indep: checkroot build - $(checkdir) - -rm -rf debian/tmp-doc - $(INSTALL_DIR) debian/tmp-doc - cd debian/tmp-doc && $(INSTALL_DIR) usr/share/doc-base \ - usr/share/info \ - usr/share/doc/$(package)-doc/html \ - DEBIAN - - -cd obj && $(MAKE) install.info DESTDIR=$(CURDIR)/debian/tmp-doc - rm -f debian/tmp-doc/usr/share/info/dir* - gzip -9frq debian/tmp-doc/usr/share/info/* - cd obj && $(MAKE) install.html DESTDIR=$(CURDIR)/debian/tmp-doc htmldir=/usr/share/doc/$(package)-doc/html -# Work around texi2html unfriendliness - sed -i -e 's/<BODY.*>/<BODY LANG="EN">/' debian/tmp-doc/usr/share/doc/$(package)-doc/html/*.html + dh_testdir + dh_installdirs -p$(package)-doc -ifeq (zsh,$(package)) - $(INSTALL_FILE) obj/Doc/zsh.pdf debian/tmp-doc/usr/share/doc/$(package)-doc/ -endif - - $(INSTALL_FILE) debian/copyright debian/tmp-doc/usr/share/doc/$(package)-doc/copyright - $(INSTALL_FILE) debian/changelog debian/tmp-doc/usr/share/doc/$(package)-doc/changelog.Debian - gzip -9frq debian/tmp-doc/usr/share/doc/$(package)-doc/changelog.Debian - $(INSTALL_FILE) debian/$(package).doc-base debian/tmp-doc/usr/share/doc-base/$(package) - cd debian/tmp-doc && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums + -cd obj && $(MAKE) install.info DESTDIR=$(CURDIR)/debian/zsh-doc + rm -f debian/zsh-doc/usr/share/info/dir* + gzip -9frq debian/zsh-doc/usr/share/info/* + cd obj && $(MAKE) install.html DESTDIR=$(CURDIR)/debian/zsh-doc htmldir=/usr/share/doc/$(package)-doc/html +# Work around texi2html unfriendliness + sed -i -e 's/<BODY.*>/<BODY LANG="EN">/' debian/zsh-doc/usr/share/doc/$(package)-doc/html/*.html - dpkg-gencontrol -isp -p$(package)-doc -Pdebian/tmp-doc - chown -R root.root debian/tmp-doc - chmod -R go=rX debian/tmp-doc - dpkg --build debian/tmp-doc .. + dh_installdocs -p$(package)-doc + dh_installchangelogs -p$(package)-doc + dh_compress -p$(package)-doc -Xpdf + dh_fixperms -p$(package)-doc + dh_installdeb -p$(package)-doc + dh_md5sums -p$(package)-doc + dh_gencontrol -p$(package)-doc + dh_builddeb -p$(package)-doc ifneq (zsh-beta,$(package)) binary-arch: binary-arch-dynamic binary-arch-static binary-arch-dev @@ -159,206 +133,107 @@ else binary-arch: binary-arch-dynamic endif binary-arch-dynamic: checkroot build - $(checkdir) - - -rm -rf debian/tmp debian/tmp-dbg - $(INSTALL_DIR) debian/tmp debian/tmp-dbg/usr/lib/debug/bin debian/tmp-dbg/DEBIAN - cd debian/tmp && $(INSTALL_DIR) etc/$(package) \ - bin \ - usr/lib/$(package) \ - usr/share/menu \ - usr/share/man \ - usr/share/$(package)/help \ - usr/share/doc/$(package)/examples/Functions \ - usr/share/doc/$(package)/examples/Misc \ - usr/share/doc/$(package)/examples/old \ - DEBIAN - - cd obj && $(MAKE) install.man DESTDIR=$(CURDIR)/debian/tmp + dh_testdir + + dh_installdirs -p$(package) -p$(package)-dbg + + cd obj && $(MAKE) install.man DESTDIR=$(CURDIR)/debian/zsh nroff -mandoc -Tascii Doc/zshbuiltins.1 | colcrt - | \ - sed -e 's/±/{+|-}/' | ( cd debian/tmp/usr/share/$(package)/help && \ + sed -e 's/±/{+|-}/' | ( cd debian/zsh/usr/share/$(package)/help && \ perl $(CURDIR)/Util/helpfiles ) ifeq (zsh-beta,$(package)) sed -r -i -e \ 's/zsh(all|builtins|compctl|compsys|compwid|contrib|expn|misc|modules|options|param|roadmap|tcpsys|zftpsys|zle|calsys)/$(package)\1/g' \ - debian/tmp/usr/share/man/man1/*.1 + debian/zsh/usr/share/man/man1/*.1 endif # functions - $(INSTALL_FILE) -m 644 Misc/* debian/tmp/usr/share/doc/$(package)/examples/Misc/. - $(INSTALL_FILE) -m 644 Functions/Example/* debian/tmp/usr/share/doc/$(package)/examples/Functions/. + dh_installexamples -p$(package) -X.distfiles + cd debian/zsh/usr/share/doc/$(package)/examples/; mv Example Functions sed -i -e '1!b;s:^#!.*[ /]zsh:#!/bin/$(package):;s#/usr/local/bin#/usr/bin#' \ - debian/tmp/usr/share/doc/$(package)/examples/Misc/* - $(INSTALL_FILE) StartupFiles/* debian/tmp/usr/share/doc/$(package)/examples/. - $(INSTALL_FILE) Util/reporter debian/tmp/usr/share/doc/$(package)/examples/. - - $(INSTALL_FILE) debian/examples/ssh_completion \ - debian/examples/ssh_completion2 \ - debian/examples/carstenh.zshrc \ - debian/tmp/usr/share/doc/$(package)/examples/. -ifneq (zsh-beta,$(package)) - $(INSTALL_FILE) debian/examples/compctl.dpkg debian/examples/jhm.zshrc debian/tmp/usr/share/doc/$(package)/examples/old/. -endif + debian/zsh/usr/share/doc/$(package)/examples/Misc/* - cd obj && $(MAKE) install.bin DESTDIR=$(CURDIR)/debian/tmp INSTALL_PROGRAM='$(INSTALL_PROGRAM)' - cd obj && $(MAKE) install.modules DESTDIR=$(CURDIR)/debian/tmp INSTALL_PROGRAM='$(INSTALL_PROGRAM)' - cd obj && $(MAKE) install.fns DESTDIR=$(CURDIR)/debian/tmp + cd obj && $(MAKE) install.bin DESTDIR=$(CURDIR)/debian/$(package) INSTALL_PROGRAM='$(INSTALL_PROGRAM)' + cd obj && $(MAKE) install.modules DESTDIR=$(CURDIR)/debian/$(package) INSTALL_PROGRAM='$(INSTALL_PROGRAM)' + cd obj && $(MAKE) install.fns DESTDIR=$(CURDIR)/debian/zsh - rm -r debian/tmp/usr/local + rm -r debian/zsh/usr/local # move this to a non-root section; also drop it for cross-compiles awk '/^#define FPATH_DIR/ { head=$$3; gsub(/"/,"",head); }; /^#define FPATH_SUBDIRS/ { $$1=""; $$2=""; gsub(/[" ]/,""); tail=$$0; } END { printf "%s/%s\n", head, tail; };' obj/Src/zshpaths.h >obj/Src/zshpaths.temp - debian/tmp/bin/$(package) -fc 'setopt extendedglob; for i in debian/tmp/'`cat obj/Src/zshpaths.temp`'; do zcompile -U -M $$i.zwc $$i/*~*.zwc(^/) ; chmod 644 $$i.zwc ; done' + debian/zsh/bin/$(package) -fc 'setopt extendedglob; for i in debian/zsh/'`cat obj/Src/zshpaths.temp`'; do zcompile -U -M $$i.zwc $$i/*~*.zwc(^/) ; chmod 644 $$i.zwc ; done' ifneq (zsh-beta,$(package)) - mv debian/tmp/bin/zsh debian/tmp/bin/zsh5 - rm debian/tmp/bin/zsh-5.[0-9]* - ln -s zsh.1.gz debian/tmp/usr/share/man/man1/zsh5.1.gz - - for i in `find debian/tmp/usr/lib/zsh -type d | sed 's#^debian/tmp/##'`; \ - do mkdir -p debian/tmp-dbg/usr/lib/debug/"$$i"; done - - objcopy --only-keep-debug debian/tmp/bin/zsh5 \ - debian/tmp-dbg/usr/lib/debug/bin/zsh5.dbg - strip --remove-section=.comment --remove-section=.note debian/tmp/bin/zsh5 - objcopy --add-gnu-debuglink=debian/tmp-dbg/usr/lib/debug/bin/zsh5.dbg debian/tmp/bin/zsh5 - - for i in `find debian/tmp/usr/lib/zsh -name "*.so"`; \ - do objcopy --only-keep-debug $$i debian/tmp-dbg/usr/lib/debug/`echo $$i | sed 's#^debian/tmp/##'`.debug; \ - strip --remove-section=.comment --remove-section=.note \ - --strip-unneeded $$i; \ - objcopy --add-gnu-debuglink=debian/tmp-dbg/usr/lib/debug/`echo $$i | sed 's#^debian/tmp/##'`.debug $$i; \ - done -else - rm debian/tmp/bin/zsh-beta-* -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - strip --remove-section=.comment --remove-section=.note debian/tmp/bin/zsh-beta - strip --remove-section=.comment --remove-section=.note \ - --strip-unneeded `find debian/tmp/usr/lib/zsh-beta -name "*.so"` -endif -endif - - $(INSTALL_DIR) debian/tmp-dbg/usr/share/doc - ln -s zsh debian/tmp-dbg/usr/share/doc/$(package)-dbg - - $(INSTALL_FILE) debian/zlogin debian/zlogout debian/zprofile debian/zshenv debian/zshrc debian/newuser.zshrc.recommended debian/tmp/etc/$(package)/. - sed -i -e 's,^local HELPDIR=.*,local HELPDIR=$${HELPDIR:-/usr/share/$(package)/help},;s,:-more,:-/usr/bin/pager,;' debian/tmp/usr/share/$(package)/functions/Misc/run-help - - sed -i -e '1!b;s:^#!.*[ /]zsh:#!/bin/$(package):;s#/usr/local/bin#/usr/bin#;' `find debian/tmp/usr/share/$(package)/functions -type f` - chmod 755 debian/tmp/usr/share/$(package)/functions/Misc/checkmail \ - debian/tmp/usr/share/$(package)/functions/Misc/harden \ - debian/tmp/usr/share/$(package)/functions/Misc/run-help \ - debian/tmp/usr/share/$(package)/functions/Misc/zkbd \ - debian/tmp/usr/share/$(package)/functions/Misc/zcalc \ + mv debian/zsh/bin/zsh debian/zsh/bin/zsh5 + rm debian/zsh/bin/zsh-5.[0-9]* - $(INSTALL_FILE) Etc/ChangeLog* README META-FAQ Doc/zsh.texi Etc/BUGS Etc/CONTRIBUTORS FEATURES \ - Etc/FTP-README MACHINES NEWS Etc/TODO Etc/completion-style-guide Etc/zsh-development-guide Functions/README.zftp debian/tmp/usr/share/doc/$(package)/ - $(INSTALL_FILE) ChangeLog debian/tmp/usr/share/doc/$(package)/changelog - chmod -R u+rw,go=rX debian/tmp/usr/share/doc - $(INSTALL_FILE) debian/copyright debian/tmp/usr/share/doc/$(package)/copyright - - $(INSTALL_FILE) debian/changelog debian/tmp/usr/share/doc/$(package)/changelog.Debian -ifeq (zsh-beta,$(package)) - $(INSTALL_FILE) debian/NEWS debian/tmp/usr/share/doc/$(package)/NEWS.Debian + dh_link -p$(package) + dh_strip -p$(package) --dbg-package=$(package)-dbg endif - $(INSTALL_FILE) debian/README.Debian debian/tmp/usr/share/doc/$(package)/README.Debian - - $(INSTALL_FILE) debian/menu debian/tmp/usr/share/menu/$(package) - - chmod 644 `find debian/tmp/usr/share/man -type f` `find debian/tmp/usr/share/doc -type f` - chmod 644 `find debian/tmp/usr/lib/$(package) -type f -name "*.so"` - chmod 644 `find debian/tmp/usr/share/$(package) -type f -name "_*"` - gzip -9f `find debian/tmp/usr/share/man -type f` `find debian/tmp/usr/share/doc -type f ! -name "copyright"` - dpkg-shlibdeps -Tdebian/substvars -dDepends debian/tmp/bin/* -dRecommends debian/tmp/usr/lib/$(package)/*/zsh/*.so - dpkg-gencontrol -ldebian/changelog -isp -p$(package) -Tdebian/substvars -Pdebian/tmp -ifneq (zsh-beta,$(package)) - cd debian/tmp-dbg && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums - dpkg-gencontrol -ldebian/changelog -isp -p$(package)-dbg -Tdebian/substvars -Pdebian/tmp-dbg -endif + dh_link -p$(package)-dbg + dh_install -p$(package) -p$(package)-dbg - $(INSTALL_SCRIPT) debian/postinst debian/tmp/DEBIAN/postinst - $(INSTALL_SCRIPT) debian/postrm debian/tmp/DEBIAN/postrm - $(INSTALL_SCRIPT) debian/prerm debian/tmp/DEBIAN/prerm - $(INSTALL_FILE) debian/conffiles debian/tmp/DEBIAN/conffiles + sed -i -e 's,^local HELPDIR=.*,local HELPDIR=$${HELPDIR:-/usr/share/$(package)/help},;s,:-more,:-/usr/bin/pager,;' debian/zsh/usr/share/$(package)/functions/Misc/run-help + sed -i -e '1!b;s:^#!.*[ /]zsh:#!/bin/$(package):;s#/usr/local/bin#/usr/bin#;' `find debian/zsh/usr/share/$(package)/functions -type f` + chmod 755 debian/zsh/usr/share/$(package)/functions/Misc/checkmail \ + debian/zsh/usr/share/$(package)/functions/Misc/harden \ + debian/zsh/usr/share/$(package)/functions/Misc/run-help \ + debian/zsh/usr/share/$(package)/functions/Misc/zkbd \ + debian/zsh/usr/share/$(package)/functions/Misc/zcalc \ - cd debian/tmp && find * -type f ! -path "etc/$(package)/zlogin" ! -path "etc/$(package)/zlogout" ! -path "etc/$(package)/zprofile" ! -path "etc/$(package)/zshenv" ! -path "etc/$(package)/zshrc" ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums + dh_installmenu -p$(package) -ifneq (zsh-beta,$(package)) - chown -R root:root debian/tmp debian/tmp-dbg - chmod -R go=rX debian/tmp debian/tmp-dbg -else - chown -R root:root debian/tmp - chmod -R go=rX debian/tmp -endif - - dpkg --build debian/tmp .. -ifneq (zsh-beta,$(package)) - dpkg --build debian/tmp-dbg .. -endif - -define checkdir - test -f debian/rules -endef + dh_shlibdeps -p$(package) -p$(package)-dbg -- -dDepends debian/zsh/bin/* -dRecommends debian/zsh/usr/lib/$(package)/*/zsh/*.so + dh_installdocs -p$(package) -p$(package)-dbg + dh_installchangelogs -p$(package) -p$(package)-dbg ChangeLog + dh_compress -p$(package) -p$(package)-dbg + dh_fixperms -p$(package) -p$(package)-dbg + dh_installdeb -p$(package) -p$(package)-dbg + dh_md5sums -p$(package) -p$(package)-dbg + dh_gencontrol -p$(package) -p$(package)-dbg + dh_builddeb -p$(package) -p$(package)-dbg binary-arch-static: checkroot build-static - $(checkdir) - - -rm -rf debian/tmp-static - $(INSTALL_DIR) debian/tmp-static/usr/share/man/man1/ - cd debian/tmp-static && $(INSTALL_DIR) bin \ - usr/share/doc/$(package)-static \ - usr/share/lintian/overrides \ - DEBIAN - - $(INSTALL_SCRIPT) debian/static.prerm debian/tmp-static/DEBIAN/prerm - $(INSTALL_SCRIPT) debian/static.postinst debian/tmp-static/DEBIAN/postinst - $(INSTALL_SCRIPT) debian/static.postrm debian/tmp-static/DEBIAN/postrm + dh_testdir - $(INSTALL_FILE) debian/changelog debian/tmp-static/usr/share/doc/$(package)-static/changelog.Debian - $(INSTALL_FILE) debian/$(package)-static.lintian-overrides debian/tmp-static/usr/share/lintian/overrides/$(package)-static + dh_installdirs -p$(package)-static + dh_lintian -p$(package)-static - awk 'BEGIN { print "The following modules are statically-compiled into the static $(package) binary:\n"; } /link=static/ { printf "%s (%s %s)\n", substr($$1,6), $$4, $$5; }' obj-static/config.modules >debian/tmp-static/usr/share/doc/$(package)-static/README.Debian + awk 'BEGIN { print "The following modules are statically-compiled into the static $(package) binary:\n"; } /link=static/ { printf "%s (%s %s)\n", substr($$1,6), $$4, $$5; }' obj-static/config.modules >debian/zsh-static/usr/share/doc/$(package)-static/README.Debian - $(INSTALL_FILE) debian/copyright debian/tmp-static/usr/share/doc/$(package)-static/copyright - - $(INSTALL_PROGRAM) obj-static/Src/zsh debian/tmp-static/bin/zsh5-static - strip --remove-section=.comment --remove-section=.note debian/tmp-static/bin/zsh5-static - - gzip -9f debian/tmp-static/usr/share/doc/$(package)-static/changelog.Debian - cd debian/tmp-static && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums - ln -s $(package).1.gz debian/tmp-static/usr/share/man/man1/zsh5-static.1.gz + dh_install -p$(package)-static + mv debian/$(package)-static/bin/zsh debian/$(package)-static/bin/zsh5-static ifneq (zsh-beta,$(package)) - dpkg-shlibdeps -Tdebian/$(package)-static.substvars -dDepends debian/tmp-static/bin/* + dh_shlibdeps -p$(package)-static endif - dpkg-gencontrol -ldebian/changelog -isp -p$(package)-static -Tdebian/$(package)-static.substvars -Pdebian/tmp-static - chown -R root.root debian/tmp-static - chmod -R go=rX debian/tmp-static - dpkg --build debian/tmp-static .. + + dh_strip -p$(package)-static + dh_link -p$(package)-static + dh_installdocs -p$(package)-static + dh_installchangelogs -p$(package)-static + dh_compress -p$(package)-static + dh_fixperms -p$(package)-static + dh_installdeb -p$(package)-static + dh_md5sums -p$(package)-static + dh_gencontrol -p$(package)-static + dh_builddeb -p$(package)-static + binary-arch-dev: checkroot build - $(INSTALL_DIR) debian/tmp-dev/usr/include/$(package) \ - debian/tmp-dev/usr/share/$(package)-dev \ - debian/tmp-dev/usr/share/doc/$(package)-dev \ - debian/tmp-dev/usr/share/aclocal \ - debian/tmp-dev/DEBIAN - $(INSTALL_FILE) obj/Src/*.epro obj/Src/sigcount.h \ - Src/hashtable.h Src/prototypes.h \ - Src/signals.h Src/zsh_system.h Src/zsh.h Src/ztype.h \ - debian/tmp-dev/usr/include/$(package) - $(INSTALL_FILE) Src/makepro.awk debian/tmp-dev/usr/share/$(package)-dev - $(INSTALL_FILE) Config/aczshoot.m4 debian/tmp-dev/usr/share/aclocal/$(package)oot.m4 - $(INSTALL_FILE) debian/changelog debian/tmp-dev/usr/share/doc/$(package)-dev/changelog.Debian - $(INSTALL_FILE) debian/copyright debian/tmp-dev/usr/share/doc/$(package)-dev/ - gzip -9f debian/tmp-dev/usr/share/doc/$(package)-dev/changelog.Debian - - cd debian/tmp-dev && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums - dpkg-gencontrol -ldebian/changelog -isp -p$(package)-dev -Tdebian/$(package)-dev.substvars -Pdebian/tmp-dev - chown -R root.root debian/tmp-dev - chmod -R go=rX debian/tmp-dev - dpkg --build debian/tmp-dev .. + dh_installdirs -p$(package)-dev + dh_install -p$(package)-dev + cd debian/$(package)-dev/usr/share/aclocal; mv aczshoot.m4 zshoot.m4 + dh_installdocs -p$(package)-dev + dh_installchangelogs -p$(package)-dev + dh_compress -p$(package)-dev + dh_fixperms -p$(package)-dev + dh_installdeb -p$(package)-dev + dh_md5sums -p$(package)-dev + dh_gencontrol -p$(package)-dev + dh_builddeb -p$(package)-dev ifneq (zsh-beta,$(package)) binary: binary-indep binary-arch binary-arch-static binary-arch-dev @@ -374,7 +249,7 @@ prebuild: rm -rf autom4te.cache checkroot: - $(checkdir) + dh_testdir test root = "`whoami`" .PHONY: binary binary-arch binary-indep clean checkroot binary-arch-dynamic binary-arch-static prebuild binary-arch-dev |