#!/usr/bin/make -f
-############################ -*- Mode: Makefile -*- ###########################
-## rules ---
-## Author : Manoj Srivastava ( srivasta@tiamat.datasync.com )
-## Created On : Thu Oct 29 15:35:55 1998
-## Created On Node : tiamat.datasync.com
-## Last Modified By : Manoj Srivastava
-## Last Modified On : Tue Oct 26 15:20:25 2004
-## Last Machine Used: glaurung.internal.golden-gryphon.com
-## Update Count : 62
-## Status : Unknown, Use with caution!
-## HISTORY :
-## Description :
-## $Id$
-###############################################################################
ifdef ARCH
ha:=-a$(ARCH)
export DEB_HOST_GNU_SYSTEM ?= $(shell dpkg-architecture $(ha) -qDEB_HOST_GNU_SYSTEM)
export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture $(ha) -qDEB_HOST_GNU_TYPE)
-arch := $(shell dpkg --print-installation-architecture)
+arch := $(shell dpkg --print-architecture)
# Basic information
package := $(shell grep Source debian/control | sed 's/^Source: //')
date := $(shell date +"%Y-%m-%d")
version := $(shell awk -F '[()]' '/^$(package)/{ print $$2; exit }' debian/changelog)
+# Currently, emacs23 is required (xemacs is not sufficient).
+EMACS := emacs23
+
# Location of the source dir
SRCTOP := $(CURDIR)
TMPTOP := $(SRCTOP)/debian/tmp
sanitycheck := debian/rules policy.sgml
-SGML_FILES := policy menu-policy mime-policy policy-process perl-policy
-DESC_FILES := debian-policy debian-menu-policy debian-perl-policy \
- debian-mime-policy debian-policy-process debconf-spec fhs
+SGML_FILES := policy menu-policy perl-policy upgrading-checklist
+DESC_FILES := copyright-format debian-policy debian-menu-policy \
+ debian-perl-policy debconf-spec fhs
# While we have two versions of the FHS installed in the source package,
# we need to modify this to handle it. This is the easiest way to do it.
# FHS_ARCHIVE := $(wildcard fhs*.tar.gz)
-# And with version 2.1, we have to build the text and dvi versions
-# ourselves :-(
-FHS_ARCHIVE := fhs-2.1-source.tar.gz
-FHS_HTML := fhs-2.1.html.tar.gz
-FHS_FILES := fhs/fhs.ps fhs/fhs.txt fhs/fhs.pdf
-FHS_NEW_ARCHIVE := fhs-2.3-source.tar.gz
-FHS_NEW_HTML := fhs-2.3.html
-FHS_NEW_FILES := fhs-2.3.ps.gz fhs-2.3.txt.gz fhs-2.3.pdf.gz
-# FSSTND_FILES := FSSTND-FAQ fsstnd-1.2.dvi.gz fsstnd-1.2.ps.gz fsstnd-1.2.txt.gz
+FHS_ARCHIVE := fhs-2.3-source.tar.gz
+FHS_HTML := fhs-2.3.html
+FHS_FILES := fhs-2.3.ps.gz fhs-2.3.txt.gz fhs-2.3.pdf.gz
+FHS_NEW_ARCHIVE :=
+FHS_NEW_HTML :=
+FHS_NEW_FILES :=
+
POLICY_FILES = $(SGML_FILES:=.sgml) $(SGML_FILES:=.txt.gz) \
virtual-package-names-list.txt \
- upgrading-checklist.txt libc6-migration.txt version.ent \
+ libc6-migration.txt version.ent \
+ copyright-format/copyright-format.html \
+ copyright-format/copyright-format.txt.gz \
debconf_spec/debconf_specification.html \
debconf_spec/debconf_specification.txt.gz \
- policy.ps.gz policy.pdf.gz
+ policy.ps.gz policy.pdf.gz README.txt README.html \
+ Process.txt Process.html
+
+FILES_FROM_ORG := Process.html Process.txt README.txt README.html
# policy.{pdf,ps,tpt,txt} are generated files
-FILES_TO_CLEAN = debian/files debian/buildinfo debian/substvars \
+FILES_TO_CLEAN = copyright-format.xml.tar.gz \
+ debian/files debian/buildinfo debian/substvars \
debian/postinst debian/prerm \
- version.ent upgrading-checklist.txt \
+ version.ent \
$(SGML_FILES:=.txt.gz) $(SGML_FILES:=.html.tar.gz) \
+ $(SGML_FILES:=-1.html) \
policy.pdf.gz policy.ps.gz \
debconf_specification.xml.tar.gz \
- policy.pdf policy.ps policy.txt policy.
+ policy.pdf policy.ps policy.txt policy. \
+ body.tmp head.tmp policy.tpt \
+ $(FILES_FROM_ORG)
STAMPS_TO_CLEAN := stamp-policy stamp-build
DIRS_TO_CLEAN := debian/tmp fhs $(SGML_FILES:=.html)
make_directory := install -p -d -o root -g root -m 755
-all build: stamp-build
+all build build-indep: stamp-build
+build-arch:
stamp-build: version.ent $(sanitycheck)
$(MAKE) $(SGML_FILES:=.sgml.validate) \
$(SGML_FILES:=.html.tar.gz) \
+ $(SGML_FILES:=-1.html) \
$(SGML_FILES:=.txt.gz) \
policy.ps.gz policy.pdf.gz
- tar -zxf $(FHS_ARCHIVE)
- # Need to use a patched tmac.m macro file if we're using a pre-1.16
- # groff; version 1.16 is apparently fixed
- if dpkg --compare-versions "$(shell dpkg -s groff | sed -n -e 's/Version: //p')" lt 1.16; then \
- cp /usr/share/groff/tmac/tmac.m fhs && \
- cd fhs && patch -p1 < ../mm1.32-patch; \
- fi
- # The extra '.' in the tmac path won't harm if unnecessary
- GROFF_TMAC_PATH=. GROFF_NO_SGR=1 $(MAKE) -C fhs fhs.ps fhs.pdf fhs.txt
- links -dump fhs-changes-2.1.html | perl -pe 's/[\r\0]//g' > \
- fhs/fhs-changes-2.1.txt
- links -dump upgrading-checklist.html | perl -pe 's/[\r\0]//g' > \
- upgrading-checklist.txt
+ $(MAKE) $(FILES_FROM_ORG)
+ $(MAKE) -C copyright-format all
$(MAKE) -C debconf_spec all
touch stamp-build
clean: $(sanitycheck)
# Undoes the effect of `make -f debian/rules build'.
+ $(MAKE) -C copyright-format clean
$(MAKE) -C debconf_spec clean
rm -f $(FILES_TO_CLEAN) $(STAMPS_TO_CLEAN)
rm -rf $(DIRS_TO_CLEAN)
# test -f stamp-build || $(MAKE) -f debian/rules build
rm -rf $(TMPTOP)
$(make_directory) $(TMPTOP)/DEBIAN
-# $(make_directory) $(DOCDIR)/fsstnd
$(make_directory) $(DOCDIR)/fhs
$(make_directory) $(LIBDIR)
# create a substvar to reference from debian/control so that
# itself...
echo "debian-policy:Version=$(version)" > debian/substvars
$(install_file) $(POLICY_FILES) $(DOCDIR)/
-# $(install_file) $(FSSTND_FILES) $(DOCDIR)/fsstnd/
- $(install_file) $(FHS_FILES) $(DOCDIR)/fhs/
$(install_file) debian/changelog $(DOCDIR)/
# Be more specific with file compression
gzip -f9 $(DOCDIR)/*.txt $(DOCDIR)/*.sgml \
- $(DOCDIR)/fhs/* $(DOCDIR)/changelog
+ $(DOCDIR)/changelog
# These are allready compressed
- $(install_file) $(FHS_NEW_FILES) $(DOCDIR)/fhs/
+ #$(install_file) $(FHS_NEW_FILES) $(DOCDIR)/fhs/
+ $(install_file) $(FHS_FILES) $(DOCDIR)/fhs/
$(install_file) debian/copyright $(DOCDIR)/
+ GZIP=-9 cd copyright-format && \
+ tar -zcf ../copyright-format.xml.tar.gz *
+ $(install_file) copyright-format.xml.tar.gz $(DOCDIR)/
+ @set -ex; \
GZIP=-9 cd debconf_spec && \
tar -zcf ../debconf_specification.xml.tar.gz *
$(install_file) debconf_specification.xml.tar.gz $(DOCDIR)/
for file in $(SGML_FILES); do \
tar -C $(DOCDIR) -zxf $$file.html.tar.gz; \
done
- tar -C $(DOCDIR)/fhs -zxf $(FHS_HTML)
- $(install_file) $(FHS_NEW_HTML) $(DOCDIR)/fhs
- sed -e 's/#PACKAGE#/$(package)/g' debian/postinst.in > debian/postinst
- sed -e 's/#PACKAGE#/$(package)/g' debian/prerm.in > debian/prerm
- $(install_program) debian/postinst debian/tmp/DEBIAN/
- $(install_program) debian/prerm debian/tmp/DEBIAN/
+ for file in $(SGML_FILES); do \
+ $(install_file) $${file}-1.html $(DOCDIR); \
+ done
+ $(install_file) $(FHS_HTML) $(DOCDIR)/fhs
+ @set -ex; \
+ cd debian/tmp; \
+ find . -path "./DEBIAN" -prune -o -type f -printf '%P\0' \
+ | xargs -r0 md5sum > DEBIAN/md5sums
dpkg-gencontrol -p$(package) -Pdebian/tmp -isp
chown -R root:root debian/tmp
chmod -R go=rX debian/tmp
touch stamp-policy
-.PHONY: configure build binary binary-arch binary-indep clean checkroot
+.PHONY: configure build build-arch build-indep binary binary-arch
+.PHONY: binary-indep clean checkroot
#Local variables:
#mode: makefile