summaryrefslogtreecommitdiff
path: root/debian/rules
blob: 3f81682c2cfe56fdad9410300ee698df26140ad8 (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
#!/usr/bin/make -f
# Note that I have to refer to debhelper programs with ./, to make sure
# I run the most current ones.
#
# This is _not_ a good example of a debhelper rules file, but I didn't need
# to tell you that; just see the 25 lines of inlined perl below.. 
# See examples/ for some good examples.

# If any automatic script generation is done in building this package, 
# be sure to use the new templates from this package.
export DH_AUTOSCRIPTDIR=autoscripts

# Living dangerously :-)
export DH_COMPAT=2

# Figure out the current debhelper version.
VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)')

export DH_VERBOSE=1

build: link-stamp test
# Nothing to do.	

clean: link-stamp
	./dh_testdir
	./dh_testroot
	./dh_clean link-stamp

test: link-stamp
	./dh_clean
	DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ } @ARGV' t/*
	./dh_clean

# Build architecture-dependent files here.
binary-arch: link-stamp build
# Nothing to do.

# Build architecture-independent files here.
binary-indep: link-stamp build
	./dh_testdir
	./dh_testroot
	./dh_clean -k
	./dh_installdirs usr/bin usr/share/debhelper \
		usr/lib/perl5/Debian/Debhelper

	echo -e "package Debian::Debhelper::Dh_Version;\n\$$version='$(VERSION)';" > \
		debian/debhelper/usr/lib/perl5/Debian/Debhelper/Dh_Version.pm
	find . -perm +111 -maxdepth 1 -type f -not -name "*.pl" \
		-exec install -p {} debian/debhelper/usr/bin \;
	cp -a Debian/Debhelper/*.pm \
		debian/debhelper/usr/lib/perl5/Debian/Debhelper/
	cp -a autoscripts debian/debhelper/usr/share/debhelper
	rm -rf debian/debhelper/usr/share/debhelper/autoscripts/CVS

	./dh_installdocs `find doc -type f | grep -v CVS`
	./dh_installexamples `find examples -type f | grep -v CVS`
	./dh_installmenu
	./dh_installmanpages
	./dh_installinfo
	# Fix up all man pages, filling in the modification time for them.
	# Note this runs beofre the command below so debhelper.1 gets the right
	# date on it.
	perl -mPOSIX -e ' \
		foreach $$f (@ARGV) { \
		@data=stat($$f); \
		$$date=POSIX::strftime("%d %B %Y",localtime($$data[9])); \
		open (IN,$$f); \
		@lines=<IN>; \
		close IN; \
		$$lines[0]=~s/1 ""/1 "$$date"/; \
		open (OUT,">$$f"); \
		print OUT @lines; \
		close OUT; \
	}' debian/debhelper/usr/share/man/man1/*.1
	# Fix up the debhelper.1 man page, substituting in a list of all
	# debhelper commands. eek!
	perl -ne ' \
		s/\\- /(1)\n/; \
		$$collect.=".TP\n.BR $$_" if $$. eq 3 && /^dh_/; \
		close(ARGV) if eof; \
		END { \
			open(I,"debian/debhelper/usr/share/man/man1/debhelper.1"); \
			@lines=<I>; \
			close I; \
			open(O,">debian/debhelper/usr/share/man/man1/debhelper.1"); \
			foreach (@lines) { \
				s/#LIST#/$$collect/; \
				print O; \
			} \
			close O; \
		}' *.1
	./dh_installchangelogs
#	./dh_movefiles
	./dh_link
	./dh_compress
	./dh_fixperms
	./dh_suidregister
	./dh_installdeb
	./dh_gencontrol
	./dh_md5sums
	./dh_builddeb

# Fix links when checking out of cvs by calling this target.
link-stamp:
	sh -e debian/fixlinks
	touch link-stamp

# Update the debhelper web page. Not intended for use by anyone except the
# author.
installhook:
	cp debian/changelog /home/pub/programs/debhelper/CHANGES
	echo $(VERSION) > /home/pub/programs/debhelper/LATEST-VERSION-IS

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary dist