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
|
#!/usr/bin/make -f
DIR:=$(shell pwd)
arch=$(shell dpkg --print-architecture)
mcidir=debian/tmp-main/DEBIAN
build:
$(checkdir)
./configure --prefix=/usr
$(MAKE)
touch build
clean:
$(checkdir)
-rm -f build
-$(MAKE) -i distclean || $(MAKE) -f Makefile.in -i distclean
-rm -rf debian/tmp* *~ *.orig ./#*# tmp.* debian/files*
-rm -f config.cache config.status config.h install config.log
find -name '*~' -print0 | xargs -r0 rm --
binary: binary-arch binary-indep
binary-trees: checkroot build
$(checkdir)
-rm -rf debian/tmp-{main,dev}
install -d debian/tmp-{main,dev}/{DEBIAN,etc/dpkg,usr/doc/dpkg}
install -d debian/tmp-dev/usr/{lib/dpkg,doc/dpkg-dev,man/man1,man/man8,sbin,bin}
set -e; if [ $(arch) = i386 ]; then \
sed -e 's/^# i386elf: //' <debian/preinst >$(mcidir)/preinst ; \
else \
sed -e '/^# i386elf: /d' debian/preinst >$(mcidir)/preinst ; \
fi
set -e; if [ -f debian/shlibs.default.$(arch) ]; then \
echo /etc/dpkg/shlibs.default >debian/tmp-dev/DEBIAN/conffiles ; \
cp debian/shlibs.default.$(arch) \
debian/tmp-dev/etc/dpkg/shlibs.default ; \
fi
cp debian/{prerm,postinst} $(mcidir)/.
chmod +x $(mcidir)/{postinst,prerm,preinst}
$(MAKE) prefix=$(DIR)/debian/tmp-main/usr \
datadir=$(DIR)/debian/tmp-main/var/lib/dpkg \
etcdir=$(DIR)/debian/tmp-main/etc \
install
find debian/tmp-main/usr/man -type f | xargs gzip -9v
set -e; for f in dpkg-buildpackage dpkg-gencontrol dpkg-distaddfile \
dpkg-parsechangelog dpkg-genchanges dpkg-shlibdeps; do \
rm debian/tmp-main/usr/man/man1/$$f.1; \
ln -s dpkg-source.1.gz debian/tmp-main/usr/man/man1/$$f.1.gz ; \
done
gzip -9v debian/tmp-main/usr/doc/dpkg/changelog.*
cp debian/copyright debian/tmp-main/usr/doc/dpkg/copyright
cp debian/copyright debian/tmp-dev/usr/doc/dpkg-dev/copyright
cp debian/dev-README debian/tmp-dev/usr/doc/dpkg-dev/README
cp TODO debian/tmp-dev/usr/doc/dpkg/WISHLIST
set -e; for f in \
usr/doc/dpkg/{programmer.html,policy.html,developer-keys.pgp,changelog.manuals.gz} \
usr/bin/dpkg-{source,genchanges,gencontrol,shlibdeps,buildpackage,parsechangelog} \
usr/bin/{dpkg-distaddfile,822-date,dpkg-scanpackages} \
usr/man/man1/dpkg-{source,genchanges,gencontrol,shlibdeps,buildpackage}.1.gz \
usr/man/man1/{dpkg-parsechangelog,dpkg-distaddfile,822-date}.1.gz \
usr/man/man5 usr/man/man8/dpkg-scanpackages.8.gz usr/lib/emacs \
usr/lib/dpkg/parsechangelog usr/lib/dpkg/controllib.pl \
; do mv debian/tmp-main/$$f debian/tmp-dev/$$f; done
binary-indep: checkroot build binary-trees
$(checkdir)
dpkg-gencontrol -pdpkg-dev -Pdebian/tmp-dev
chown -R root.root debian/tmp-dev
chmod -R g-ws,a+r,u+w debian/tmp-dev
dpkg-deb --build debian/tmp-dev ..
set -e -x; cd doc; for f in policy programmer; do \
debiandoc2ps -pa4 -O $$f.sgml | gzip -9v >../../$$f.ps.gz; \
dpkg-distaddfile -f../debian/files $$f.ps.gz byhand -; \
GZIP=-9v tar zcf ../../$$f.html.tar.gz $$f.html; \
dpkg-distaddfile -f../debian/files $$f.html.tar.gz byhand -; \
done
binary-arch: checkroot build binary-trees
touch debian/tmp-main/var/lib/dpkg/{status,available}
dpkg-shlibdeps -dPre-Depends main/dpkg dselect/dselect
dpkg-gencontrol -pdpkg -Pdebian/tmp-main
chown -R root.root debian/tmp-main
chmod -R g-ws,a+r,u+w debian/tmp-main
set -e; cd debian/tmp-main; \
version=`sed -n 's/^Version: //p' DEBIAN/control`; \
file=dpkg_$${version}_$(arch).nondebbin.tar; \
tar cf ../../../$${file} usr var && gzip -9vf ../../../$${file}; \
cd ../..; dpkg-distaddfile $${file}.gz byhand -
rm debian/tmp-main/var/lib/dpkg/{status,available}
dpkg-deb --build debian/tmp-main ..
define checkdir
test -f include/dpkg.h
endef
checkroot:
$(checkdir)
test root = "`whoami`"
.PHONY: binary source diff clean checkroot
|