X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=developers-reference.git;a=blobdiff_plain;f=debian%2Frules;h=9d3752e8944d69d825194260a7b377c5ef51719d;hp=e6824545958dccd68fe96a5423706ea942ec9804;hb=604900e856cb82e4b8e31ee2c21d652958c5444d;hpb=ae55f2a34e4799a66d4612821874618cc2b91c9d diff --git a/debian/rules b/debian/rules index e682454..9d3752e 100755 --- a/debian/rules +++ b/debian/rules @@ -1,113 +1,104 @@ #!/usr/bin/make -f -# rules file for sgml-data -# -# I do not use debstd, debhelper, or any of that stuff. -# I believe in stripped down rules files; nothing that is not required -# I believe in readability through abstraction +# rules file for developers-reference package := developers-reference # directory abstraction -PREFIX := debian/tmp -docdir := $(PREFIX)/usr/doc/$(package) -libdir := $(PREFIX)/usr/lib/$(package) -sharedir := $(PREFIX)/usr/share/$(package) -menudir := $(PREFIX)/usr/lib/menu -docbasedir := $(PREFIX)/usr/share/doc-base +prefix := debian/$(package) +docdir := $(prefix)/usr/share/doc/$(package) +docbaserel := /usr/share/doc-base +docbasedir := $(prefix)$(docbaserel) + +# list of language packages, in the form pkg-LANG; must jibe +# with debian/control +langs := fr +langs_nopdf := ja # tool abstraction install_file := install -o root -g root -m 644 -p -install_program := install -o root -g root -m 755 -p +install_script := install -o root -g root -m 755 -p make_directory := install -d -o root -g root -m 755 -compress := gzip -9f # version abstraction -DEB_VERSION := $(shell LC_ALL=C dpkg-parsechangelog | grep ^Version: | sed 's/^Version: *//') -DATE := $(shell date +"%Y-%m-%d") +DEB_VERSION := $(shell awk -F '[()]' '/^$(package)/{ print $$2; exit }' debian/changelog) +DEB_DATE := $(shell dpkg-parsechangelog 2>/dev/null | sed -n 's/^Date: *//p') +# pretty-print the date; I wish this was dynamic like the top-level makefile but oh well +PUBDATE := $(shell LC_ALL=C date --date="$(DEB_DATE)" -I) -.PHONY: version.ent -version.ent: - $(checkdir) - rm -f version.ent - echo "" >> version.ent - echo "" >> version.ent +# debhelper verbose mode +#export DH_VERBOSE=1 -build: version.ent +build: $(checkdir) - nsgmls -gues developers-reference.sgml # check SGML syntax - debiandoc2html developers-reference.sgml - debiandoc2text developers-reference.sgml + rm -f version.ent + $(MAKE) VERSION=$(DEB_VERSION) PUBDATE=$(PUBDATE) LANGS="$(langs) $(langs_nopdf)" touch build +.PHONY: clean clean: $(checkdir) + $(MAKE) clean rm -f build - rm -rf developers-reference.html - rm -f developers-reference.text* - rm -f developers-reference.lout* lout.li - rm -f version.ent - rm -f `find . -name "*~"` - rm -rf $(PREFIX) - rm -f debian/files* core debian/substvars + dh_clean + +.PHONY: test +test: +# nothing to test ATM -binary-indep: checkroot build +.PHONY: install +install: build $(checkdir) - rm -rf $(PREFIX) - $(make_directory) $(PREFIX)/DEBIAN - $(make_directory) $(docdir) - $(make_directory) $(libdir) - $(make_directory) $(sharedir) - - $(install_file) developers-reference.html $(docdir) - $(install_file) developers-reference.text $(docdir) - $(install_file) developers-reference.sgml $(docdir) - $(install_file) debian/copyright $(docdir) - $(install_file) debian/changelog $(docdir) - $(install_file) debian/menu $(menudir)/$(package) - $(install_file) developers-reference.desc $(docbasedir)/$(package) - - # make sure control files are good - sh -n debian/preinst - sh -n debian/postinst - sh -n debian/prerm - # install the control files - $(install_script) debian/control debian/postinst debian/prerm \ - $(PREFIX)/DEBIAN/ - - # compress docdir (policy) - find $(docdir) -type f \( -size +4k -or -iname "change*" \) \ - ! -name "*.html" ! -name "*.gif" \ - ! -name "copyright" | xargs $(compress) - - dpkg-gencontrol -isp - dpkg --build $(prefix) .. - - # some extra-package files - debiandoc2ps -pletter -1 developers-reference.sgml - $(compress) ../developers-reference.ps - dpkg-distaddfile -fdebian/files developers-reference.ps.gz byhand - - GZIP=-9v tar czf ../developers-reference.html.tar.gz developers-reference.html - dpkg-distaddfile -fdebian/files developers-reference.html.tar.gz byhand - - $(install_file) developers-reference.text .. - $(compress) developers-reference.text - dpkg-distaddfile -fdebian/files developers-reference.text.gz byhand - - -binary-arch: checkroot build + $(checkroot) + dh_clean -k + + dh_installdocs -p$(package) README-contrib \ + *.html \ + developers-reference.txt \ + developers-reference.pdf + + set -e; for lang in $(langs); do \ + dh_installdocs -p$(package)-$$lang README-contrib \ + $$lang/*.html \ + $$lang/developers-reference.txt \ + $$lang/developers-reference.pdf; \ + done + + set -e; for lang in $(langs_nopdf); do \ + dh_installdocs -p$(package)-$$lang README-contrib \ + $$lang/*.html \ + $$lang/developers-reference.txt; \ + done + +.PHONY: binary-indep +binary-indep: test install $(checkdir) -# There are no architecture-dependent files to be uploaded -# generated by this package. If there were any they would be -# made here. + $(checkroot) + dh_installdirs -i + dh_installchangelogs -i + dh_compress -i -X.pdf + dh_fixperms -i + debian/tocsubstvars -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + + +.PHONY: binary-arch +binary-arch: build install +# There are no architecture-dependent files to be uploaded +# generated by this package. define checkdir test -f debian/rules + test -f index.dbk endef # Below here is fairly generic really -binary: binary-indep binary-arch - -checkroot: - $(checkdir) - test root = "`whoami`" +define checkroot + test `id -u` = 0 +endef -.PHONY: binary binary-arch binary-indep clean checkroot +.PHONY: binary +binary: binary-indep binary-arch