X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=debian%2Frules;h=53b78a51d8f248351fcc8901b7f9885d5954b7a8;hb=e0c979b14c5e1aa9cb221b068cecdf0daed7d063;hp=6f0317dde67dff4bd316c802757e7c7c0fdeac86;hpb=115f25c409f6197c268198b4b749035589e5dede;p=developers-reference.git diff --git a/debian/rules b/debian/rules index 6f0317d..53b78a5 100755 --- a/debian/rules +++ b/debian/rules @@ -1,16 +1,17 @@ #!/usr/bin/make -f # rules file for developers-reference -# -# 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 package := developers-reference # directory abstraction -prefix := debian/tmp +prefix := debian/$(package) docdir := $(prefix)/usr/share/doc/$(package) -docbasedir := $(prefix)/usr/share/doc-base +docbaserel := /usr/share/doc-base +docbasedir := $(prefix)$(docbaserel) + +# list of language packages, in the form pkg-LANG; must jibe +# with debian/control, see also DATE_uc(LANG) below +langs := fr ja # tool abstraction install_file := install -o root -g root -m 644 -p @@ -19,13 +20,16 @@ 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: *//') -DEB_DATE := $(shell dpkg-parsechangelog | sed -n 's/^Date: *//p') +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 DATE_EN := $(shell LC_ALL=C date --date="$(DEB_DATE)" '+%d %B, %Y') DATE_FR := $(shell LC_ALL=fr_FR date --date="$(DEB_DATE)" '+%d %B %Y') DATE_JA := $(shell LC_ALL=ja_JP date --date="$(DEB_DATE)" '+%x') +# debhelper verbose mode +#export DH_VERBOSE=1 + version.ent: debian/changelog :> version.ent echo "" >> version.ent @@ -38,59 +42,48 @@ build: $(MAKE) touch build +.PHONY: clean clean: $(checkdir) $(MAKE) clean rm -f build - rm -rf $(prefix) - rm -f debian/files* core debian/substvars + dh_clean +.PHONY: test test: -# make sure control files are good - sh -n debian/postinst - sh -n debian/prerm +# nothing to test ATM -binary-indep: build test +.PHONY: install +install: build $(checkdir) $(checkroot) - rm -rf $(prefix) - $(make_directory) $(prefix)/DEBIAN - $(make_directory) $(docdir) $(docbasedir) - - for dir in $(wildcard developers-reference*.html); do \ - $(make_directory) $(docdir)/$$dir ;\ - $(install_file) $$dir/*.html $(docdir)/$$dir/ ;\ - done - $(install_file) developers-reference*.txt $(docdir)/ - $(install_file) developers-reference*.pdf $(docdir)/ -# $(install_file) developers-reference*.sgml version.ent common.ent $(docdir)/ - - $(install_file) README-contrib debian/copyright debian/TODO $(docdir)/ - $(install_file) ChangeLog $(docdir)/changelog - $(install_file) debian/changelog $(docdir)/changelog.Debian - $(install_file) $(package).desc $(docbasedir)/$(package) - $(install_file) $(package).fr.desc $(docbasedir)/$(package).fr - $(install_file) $(package).ja.desc $(docbasedir)/$(package).ja + dh_clean -k - $(install_script) debian/postinst debian/prerm $(prefix)/DEBIAN/ + dh_installdocs -p$(package) README-contrib developers-reference.txt \ + developers-reference.pdf developers-reference.html/* -# compress docdir (policy) - find $(docdir) -type f \( -size +4k -or -iname "change*" \) \ - ! -name "*.html" ! -name "*.gif" ! -name "*.pdf" \ - ! -name "copyright" | xargs $(compress) - - dpkg-gencontrol -isp -# be tricky about putting the TOC sections into the description of the package - perl -ne '/^\d+\.\s/ && print " $$_";' < developers-reference.txt \ - >> $(prefix)/DEBIAN/control +# we can't make PDFs for japanese, so special handling for that + touch developers-reference.ja.pdf + set -e; for lang in $(langs); do \ + dh_installdocs -p$(package)-$$lang README-contrib developers-reference.$$lang.txt \ + developers-reference.$$lang.pdf developers-reference.$$lang.html/* ;\ + done + rm -f debian/$(package)-ja/usr/share/doc/$(package)-ja/developers-reference.ja.pdf - cd $(prefix) && \ - find . -type f ! -regex '.*/DEBIAN/.*' -printf '%P\0' | \ - xargs -r0 md5sum > DEBIAN/md5sums.tmp - $(install_file) $(prefix)/DEBIAN/md5sums.tmp $(prefix)/DEBIAN/md5sums - rm -f $(prefix)/DEBIAN/md5sums.tmp - dpkg --build $(prefix) .. +.PHONY: binary-indep +binary-indep: test install + $(checkdir) + $(checkroot) + dh_installdirs -i + dh_installchangelogs -i + dh_compress -i + dh_fixperms -i + debian/tocsubstvars -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i # some extra-package files # $(install_file) developers-reference.pdf \ @@ -108,10 +101,10 @@ binary-indep: build test # dpkg-distaddfile -fdebian/files \ # developers-reference.txt.gz.$(DEB_VERSION) byhand - -binary-arch: build -# There are no architecture-dependent files to be uploaded -# generated by this package. If there were any they would be -# made here. +.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 @@ -124,10 +117,9 @@ define checkroot test `id -u` = 0 endef +.PHONY: binary binary: binary-indep binary-arch -.PHONY: binary binary-arch binary-indep clean - #Local variables: #mode: makefile #End: