blob: 7ff16c841a93897a2fe2f0b20cda8507b58383a4 (
plain)
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
|
#! /usr/bin/make -f
#
# Last updated: 1996/05/27 08:10:50 by Kevin Dalley <kevin@aimnet.com>
#
# To make the binary distribution package, the ``Debianized'' source package
# and the context diff to the original package, type `./debian.rules dist'.
# Make sure that `debian.rules' is executable before the final distribution
# is made.
#
# Invoke each target with `./debian.rules <target>'. All targets should be
# invoked with the package root as the current directory.
#
# The `binary' target must be run as root, as it needs to install files with
# specific ownerships. The `diff' target assumes that you have the original
# source package available, unpacked, in ../$(package)-$(version).orig, or that you have
# the previous revision of the ``Debianized'' source package and context diff
# in the parent directory.
CC = gcc
CFLAGS = -O2
LDFLAGS = -s
# The name of the package (for example, `emacs').
package = findutils
# The version of the package (for example, `19.28').
version = 4.1
# The Debian revision of the package (for example, `2').
debian = 12
build:
# Builds the binary package.
./configure --prefix=/usr
make CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
libexecdir=/usr/lib/locate localstatedir=/var/lib/locate
( cd doc ; makeinfo find.texi )
touch stamp-build
clean:
# Undoes the effect of `make -f debian.rules build'.
make distclean
rm -f stamp-build
rm -rf debian-tmp
binary:
# Makes a binary package.
test -f stamp-build || make -f debian.rules build
install -d -g root -m 755 -o root debian-tmp
chmod g-s debian-tmp
install -d -g root -m 755 -o root debian-tmp/DEBIAN
install -d -g root -m 755 -o root debian-tmp/etc/cron.daily
install -g root -m 755 -o root cron.find \
debian-tmp/etc/cron.daily/find
install -d -g root -m 755 -o root debian-tmp/usr/bin
install -g root -m 755 -o root find/find \
debian-tmp/usr/bin/find
install -g root -m 755 -o root locate/locate \
debian-tmp/usr/bin/locate
install -g root -m 755 -o root locate/updatedb \
debian-tmp/usr/bin/updatedb
install -g root -m 755 -o root xargs/xargs \
debian-tmp/usr/bin/xargs
install -d -g root -m 755 -o root debian-tmp/usr/info
install -g root -m 644 -o root doc/find.info* \
debian-tmp/usr/info
install -d -g root -m 755 -o root debian-tmp/usr/lib/locate
install -g root -m 755 -o root locate/bigram locate/code \
locate/frcode debian-tmp/usr/lib/locate
install -d -g root -m 755 -o root debian-tmp/usr/man/man1
install -g root -m 644 -o root find/find.1 \
debian-tmp/usr/man/man1/find.1
install -g root -m 644 -o root locate/locate.1 \
debian-tmp/usr/man/man1/locate.1
install -g root -m 644 -o root locate/updatedb.1 \
debian-tmp/usr/man/man1/updatedb.1
install -g root -m 644 -o root xargs/xargs.1 \
debian-tmp/usr/man/man1/xargs.1
install -d -g root -m 755 -o root debian-tmp/usr/man/man5
install -d -g root -m 755 -o root debian-tmp/usr/lib/locate
install -d -g root -m 755 -o root debian-tmp/var/lib
install -d -g nogroup -m 2755 -o nobody debian-tmp/var/lib/locate
install -g root -m 644 -o root locate/locatedb.5 \
debian-tmp/usr/man/man5/locatedb.5
install -d -g root -m 755 -o root debian-tmp/usr/doc/copyright
install -g root -m 644 -o root debian.README \
debian-tmp/usr/doc/copyright/$(package)
rm -f debian-tmp/usr/info/find.info*.gz
gzip -9f debian-tmp/usr/info/find.info*
sed -e '1s/=/$(package)/; \
2s/=/$(version)-$(debian)/; \
3s/=/$(shell dpkg --print-architecture)/;' \
debian.control > debian-tmp/DEBIAN/control
chmod 644 debian-tmp/DEBIAN/control
install -g root -m 644 -o root debian.conffiles \
debian-tmp/DEBIAN/conffiles
install -g root -m 755 -o root debian.postinst \
debian-tmp/DEBIAN/postinst
install -g root -m 755 -o root debian.postrm \
debian-tmp/DEBIAN/postrm
install -g root -m 755 -o root debian.preinst \
debian-tmp/DEBIAN/preinst
dpkg --build debian-tmp
mv debian-tmp.deb \
../$(package)-$(version)-$(debian).$(shell dpkg --print-architecture).deb
source: clean
# Makes a source package.
( cd .. && tar cf - $(package)-$(version) | \
gzip -9f > $(package)-$(version)-$(debian).tar.gz )
diff: clean
# Makes a context diff.
-test -d ../$(package)-$(version).orig -o \
-f ../$(package)-$(version)-`expr $(debian) - 1`.diff.gz \
|| ( echo "Original source package is not available." ; false )
-test -d ../$(package)-$(version).orig || make -f debian.rules orig
#cp -a ../$(package)-$(version).orig/doc/find.info* doc
cd .. && \
(diff -ruN $(package)-$(version).orig $(package)-$(version) \
>$(package)-$(version)-$(debian).diff; [ $$? = 1 ]) && \
gzip -9vf $(package)-$(version)-$(debian).diff
-test -f stamp-orig \
&& rm -rf ../$(package)-$(version).orig && rm -f stamp-orig
dist: binary source diff
# Prepares the package for distribution.
orig:
# Prepares the original package from the previous
# Debian revision source package and context diff.
( cd .. \
&& mkdir $(package).orig \
&& cd $(package).orig \
&& tar xzf ../$(package)-$(version)-`expr $(debian) - 1`.tar.gz \
&& cd $(package)-$(version) \
&& ( zcat ../../$(package)-$(version)-`expr $(debian) - 1`.diff.gz \
| patch -sER -p1 ) \
&& find . -name "*.orig" -exec rm -f {} \; \
&& cd .. \
&& mv $(package)-$(version) ../$(package)-$(version).orig \
&& cd .. \
&& rmdir $(package).orig )
touch stamp-orig
|