1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
|
#!/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 : Wed Sep 6 09:37:43 2000
## Last Machine Used: glaurung.green-gryphon.com
## Update Count : 56
## Status : Unknown, Use with caution!
## HISTORY :
## Description :
## $Id$
###############################################################################
# ifdef ARCH
# ha:=-a$(ARCH)
# endif
# set the dpkg-architecture vars; but we don't use them, so we'll comment out
# export DEB_BUILD_ARCH := $(shell dpkg-architecture $(ha) -qDEB_BUILD_ARCH)
# export DEB_BUILD_GNU_CPU := $(shell dpkg-architecture $(ha) -qDEB_BUILD_GNU_CPU)
# export DEB_BUILD_GNU_SYSTEM:= $(shell dpkg-architecture $(ha) -qDEB_BUILD_GNU_SYSTEM)
# export DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture $(ha) -qDEB_BUILD_GNU_TYPE)
# export DEB_HOST_ARCH := $(shell dpkg-architecture $(ha) -qDEB_HOST_ARCH)
# export DEB_HOST_GNU_CPU := $(shell dpkg-architecture $(ha) -qDEB_HOST_GNU_CPU)
# 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)
# The name of the package (for example, `emacs').
package := $(shell grep Source debian/control | sed 's/^Source: //')
# arch := $(shell dpkg --print-installation-architecture)
date := $(shell date +"%Y-%m-%d")
version := $(shell LC_ALL=C dpkg-parsechangelog | \
grep ^Version: | sed 's/^Version: *//')
# Location of the source dir
SRCTOP := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi;)
TMPTOP := $(SRCTOP)/debian/tmp
DOCDIR := $(TMPTOP)/usr/share/doc/$(package)
LIBDIR := $(TMPTOP)/usr/share/doc-base
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
# 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 =$(shell ls -1 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_BYHAND =fhs-2.1.html.tar.gz fhs/fhs.txt
# FSSTND_FILES =FSSTND-FAQ fsstnd-1.2.dvi.gz fsstnd-1.2.ps.gz fsstnd-1.2.txt.gz
POLICY_FILES = $(SGML_FILES:=.sgml) $(SGML_FILES:=.txt.gz) \
virtual-package-names-list.txt \
upgrading-checklist.txt libc6-migration.txt version.ent \
debconf_spec/debconf_specification.html \
debconf_spec/debconf_specification.txt.gz
BYHAND_FILES = $(SGML_FILES:=.txt.gz) $(SGML_FILES:=.html.tar.gz) \
debconf_spec/debconf_specification.txt.gz \
debconf_spec/debconf_specification.html \
libc6-migration.txt virtual-package-names-list.txt \
policy.ps.gz policy.pdf.gz upgrading-checklist.txt \
$(FHS_BYHAND)
FILES_TO_CLEAN = debian/files debian/buildinfo debian/substvars \
debian/postinst debian/prerm \
version.ent upgrading-checklist.txt \
$(SGML_FILES:=.txt.gz) $(SGML_FILES:=.html.tar.gz) \
policy.pdf.gz policy.ps.gz \
debconf_specification.xml.tar.gz
STAMPS_TO_CLEAN = stamp-policy stamp-build stamp-configure
DIRS_TO_CLEAN = debian/tmp fhs $(SGML_FILES:=.html)
install_file = /usr/bin/install -p -o root -g root -m 644
install_program= /usr/bin/install -p -o root -g root -m 755
make_directory = /usr/bin/install -p -d -o root -g root -m 755
GROFF_VERSION := $(shell dpkg -s groff | sed -n -e 's/Version: //p')
all build: stamp-build
stamp-build:
$(checkdir)
-test -f stamp-configure || $(MAKE) -f debian/rules configure
# Set PERL5LIB to use our version of DebianDoc_SGML::Format::Text
set -e; \
for file in $(SGML_FILES); do \
nsgmls -gues $$file.sgml; \
debiandoc2html $$file.sgml; \
env PERL5LIB=. debiandoc2text $$file.sgml; \
if [ -f $$file.text ]; then mv $$file.text $$file.txt; fi; \
gzip -9 $$file.txt; \
tar -cf $$file.html.tar $$file.html; \
gzip -9 $$file.html.tar; \
done
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 $(GROFF_VERSION) 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=. cd fhs && $(MAKE) 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) -C debconf_spec all
gzip -9f debconf_spec/debconf_specification.txt
touch stamp-build
configure: stamp-configure
stamp-configure:
rm -f version.ent
echo "<!entity version \"$(version)\">" >> version.ent
echo "<!entity date \"$(date)\">" >> version.ent
touch stamp-configure
clean:
# Undoes the effect of `make -f debian/rules build'.
$(checkdir)
$(MAKE) -C debconf_spec clean
rm -f $(FILES_TO_CLEAN) $(STAMPS_TO_CLEAN)
rm -rf $(DIRS_TO_CLEAN)
rm -f core `find . \( -name '*.orig' -o -name '*.rej' -o \
-name '*~' -o -name '*.bak' -o -name '#*#' -o \
-name '.*.orig' -o -name '.*.rej' -o -name '.SUMS' -o \
-size 0 \) -print` TAGS
binary: binary-indep binary-arch
binary-arch: build
$(checkdir)
# There are no architecture-dependent files to be uploaded
# generated by this package. If there were any they would be
# made here.
binary-indep: stamp-policy
stamp-policy: build
@test $$(id | sed -e 's/(.*$$//' -e 's/^uid=//') || \
(echo need root priviledges; exit 1)
$(checkdir)
# This is unnecessary; commenting out
# 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
# we don't hardcode the policy compliance of the policy
# package. I guess some might question this but I take it as
# a given that the debian-policy pkg must always comply with
# 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 -9 $(DOCDIR)/*.txt $(DOCDIR)/*.sgml \
$(DOCDIR)/fhs/* $(DOCDIR)/changelog
$(install_file) debian/copyright $(DOCDIR)/
GZIP=-9 cd debconf_spec && \
tar -zcf ../debconf_specification.xml.tar.gz *
$(install_file) debconf_specification.xml.tar.gz $(DOCDIR)/
set -e; \
for file in $(DESC_FILES); do \
$(install_file) $$file.desc $(LIBDIR)/$$file; \
done
set -e; \
for file in $(SGML_FILES); do \
tar -C $(DOCDIR) -zxf $$file.html.tar.gz; \
done
tar -C $(DOCDIR)/fhs -zxf $(FHS_HTML)
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/
dpkg-gencontrol -pdebian-policy -Pdebian/tmp -isp
chown -R root:root debian/tmp
chmod -R go=rX debian/tmp
dpkg --build debian/tmp ..
# Set PERL5LIB to use our version of DebianDoc_SGML::Format::LaTeX
env PERL5LIB=. debiandoc2latexps policy.sgml
gzip -9f policy.ps
env PERL5LIB=. debiandoc2latexpdf policy.sgml
gzip -9f policy.pdf
set -e; \
for i in $(BYHAND_FILES); do \
$(install_file) $$i .. ; \
dpkg-distaddfile -fdebian/files `basename $$i` byhand - ; \
done
touch stamp-policy
define checkdir
test -f debian/rules -a -f policy.sgml
endef
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
.PHONY: configure build binary binary-arch binary-indep clean checkroot
#Local variables:
#mode: makefile
#End:
|