X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=developers-reference.git;a=blobdiff_plain;f=debian%2Frules;h=3a8bd96ad89e46b6d71b68ef10efc35ac39f6caa;hp=496c442a4405511d746408334a76247043216e74;hb=ab6f9532917a10d325e25779f132ae6fc7a33d83;hpb=14f72746196b77d1dd786c86e4c8fa1c617f2592 diff --git a/debian/rules b/debian/rules index 496c442..3a8bd96 100755 --- a/debian/rules +++ b/debian/rules @@ -9,106 +9,94 @@ 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 +docdir := $(prefix)/usr/share/doc/$(package) docbasedir := $(prefix)/usr/share/doc-base # tool abstraction -install_file := install -o root -g root -m 644 -install_script := install -o root -g root -m 755 +install_file := install -o root -g root -m 644 -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") - -# source depends -- check if these packages are installed -SRC_DEPENDS := debiandoc-sgml lout psutils - -.PHONY: source-depends -source-depends: - @set -e ;\ - for dep in $(SRC_DEPENDS); do \ - echo "checking if package \`$$dep' is installed..." ;\ - dpkg --get-selections | grep "$$dep\W\+install" || \ - exit 1 ;\ - done - @echo "all source-depends seem to be installed, good" +DEB_VERSION := $(shell LC_ALL=C dpkg-parsechangelog | grep '^Version: ' | sed 's/^Version: *//') +DEB_DATE := $(shell dpkg-parsechangelog | 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') + +version.ent: debian/changelog + :> version.ent + echo "" >> version.ent + echo "" >> version.ent + echo "" >> version.ent + echo "" >> version.ent -build: developers-reference.sgml +build: $(checkdir) - #./debian/rules source-depends - rm -f version.ent - echo "" >> version.ent - echo "" >> version.ent - nsgmls -gues developers-reference.sgml # check SGML syntax - debiandoc2html developers-reference.sgml - debiandoc2text developers-reference.sgml - debiandoc2ps -pletter -1 developers-reference.sgml + $(MAKE) touch build clean: $(checkdir) + $(MAKE) clean rm -f build - rm -rf developers-reference.html - rm -f developers-reference.text* - rm -f developers-reference.ps - rm -f developers-reference.lout* lout.li - rm -f developers-reference.sasp* - rm -f version.ent - rm -f `find . -name "*~"` rm -rf $(prefix) rm -f debian/files* core debian/substvars binary-indep: build $(checkdir) + $(checkroot) rm -rf $(prefix) $(make_directory) $(prefix)/DEBIAN - $(make_directory) $(docdir) - $(make_directory) $(libdir) - $(make_directory) $(sharedir) - $(make_directory) $(menudir) - $(make_directory) $(docbasedir) - - $(make_directory) $(docdir)/developers-reference.html - $(install_file) developers-reference.html/* \ - $(docdir)/developers-reference.html/ - $(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) + $(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) debian/copyright $(docdir)/ + $(install_file) ChangeLog $(docdir)/changelog + $(install_file) debian/changelog $(docdir)/changelog.Debian $(install_file) developers-reference.desc $(docbasedir)/$(package) - # make sure control files are good +# make sure control files are good sh -n debian/postinst sh -n debian/prerm - # install the control files - $(install_script) debian/control debian/postinst debian/prerm \ - $(prefix)/DEBIAN/ + $(install_script) debian/postinst debian/prerm $(prefix)/DEBIAN/ - # compress docdir (policy) +# compress docdir (policy) find $(docdir) -type f \( -size +4k -or -iname "change*" \) \ - ! -name "*.html" ! -name "*.gif" \ + ! -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 + dpkg --build $(prefix) .. - # some extra-package files - $(install_file) developers-reference.ps ../ - $(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 - +# some extra-package files + $(install_file) developers-reference.pdf \ + ../developers-reference.pdf.$(DEB_VERSION) + dpkg-distaddfile -fdebian/files developers-reference.pdf.$(DEB_VERSION) byhand - + GZIP=-9 tar czf ../developers-reference.html.tar.gz.$(DEB_VERSION)\ + developers-reference.html + dpkg-distaddfile -fdebian/files developers-reference.html.tar.gz.$(DEB_VERSION)\ + byhand - + $(install_file) developers-reference.txt \ + ../developers-reference.txt + $(compress) ../developers-reference.txt + mv ../developers-reference.txt.gz \ + ../developers-reference.txt.gz.$(DEB_VERSION) + dpkg-distaddfile -fdebian/files \ + developers-reference.txt.gz.$(DEB_VERSION) byhand - binary-arch: build # There are no architecture-dependent files to be uploaded @@ -117,14 +105,19 @@ binary-arch: build define checkdir test -f debian/rules + test -f developers-reference.sgml endef +# Below here is fairly generic really + define checkroot test `id -u` = 0 endef -# Below here is fairly generic really - binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep clean + +#Local variables: +#mode: makefile +#End: