File: rules

package info (click to toggle)
git-core 1%3A1.4.4.4-4%2Betch4
  • links: PTS
  • area: main
  • in suites: etch
  • size: 6,028 kB
  • ctags: 5,446
  • sloc: ansic: 50,083; sh: 14,854; perl: 12,752; tcl: 5,714; python: 2,754; makefile: 981; lisp: 977; asm: 219
file content (182 lines) | stat: -rwxr-xr-x 6,486 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/make -f

ARCH ?=$(shell dpkg-architecture -qDEB_HOST_ARCH)

CC =gcc
CFLAGS =-g -Wall
STRIP =strip
OPTS =NO_OPENSSL=1 WITH_SEND_EMAIL=1 WITH_OWN_SUBPROCESS_PY=1 \
  GITWEB_CONFIG=/etc/gitweb.conf prefix=/usr mandir=/usr/share/man \
  OPTIMIZE="-O2 -g -Wall" INSTALLDIRS=vendor

ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
  STRIP =: strip
endif
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
  CFLAGS +=-O0
else
  CFLAGS +=-O2
endif
ifeq (powerpc,$(ARCH))
  OPTS +=PPC_SHA1=1
else
ifeq (arm,$(ARCH))
  OPTS +=ARM_SHA1=1
endif
endif

TMP =$(shell pwd)/tmp
GIT =$(shell pwd)/debian/git

patch: deb-checkdir patch-stamp
patch-stamp:
	for i in `ls -t debian/diff/*.diff || :`; do \
	  patch -p1 <$$i || exit 1; \
	done
	touch patch-stamp

build: deb-checkdir build-arch-stamp build-indep-stamp
build-arch-stamp: patch-stamp
	-gcc -v
	DESTDIR='$(GIT)'-core $(MAKE) all test \
	  CC='$(CC)' CFLAGS='$(CFLAGS)' $(OPTS)
	$(MAKE) -CDocumentation man
	touch build-arch-stamp
build-indep-stamp: build-arch-stamp
	$(MAKE) -CDocumentation man html
	touch build-indep-stamp

clean: deb-checkdir deb-checkuid
	$(MAKE) clean
	! test -e patch-stamp || \
	  for i in `ls -tr debian/diff/*.diff || :`; do patch -p1 -R <$$i; done
	rm -rf '$(TMP)'
	rm -f patch-stamp build-arch-stamp build-indep-stamp
	rm -rf '$(GIT)'-core '$(GIT)'-doc '$(GIT)'-arch '$(GIT)'-cvs \
	  '$(GIT)'-svn '$(GIT)'-email '$(GIT)'-daemon-run '$(GIT)'k '$(GIT)'web
	rm -f debian/files debian/substvars changelog

install: install-arch install-indep
install-arch: deb-checkdir deb-checkuid build-arch-stamp
	# git-core
	rm -rf '$(GIT)-core'
	install -d -m0755 '$(GIT)'-core/usr/bin
	DESTDIR='$(GIT)'-core $(MAKE) install install-doc \
	  CC='$(CC)' CFLAGS='$(CFLAGS)' $(OPTS)
	install -d -m0755 '$(GIT)'-core/var/cache/git
	rm -f '$(GIT)'-core/usr/share/perl5/Error.pm
	rm -f '$(GIT)'-core/usr/share/man/man3/private-Error.3pm
	rm -rf '$(GIT)'-core/usr/lib
	chmod 644 '$(GIT)'-core/usr/share/perl5/Git.pm
	# don't include arch, cvs, svn, email tools, and gitk program
	for i in git-archimport git-cvs git-svn git-send-email gitk; do \
	  rm -f '$(GIT)'-core/usr/bin/$$i*; \
	done
	# handle git program through alternatives mechanism (see #342363),
	# rename to git-scm
	mv -f '$(GIT)'-core/usr/bin/git '$(GIT)'-core/usr/bin/git-scm
	for i in '$(GIT)'-core/usr/bin/*; do \
	  test "`head -c2 $$i`" = '#!' || $(STRIP) -R .comment -R .note $$i; \
	done
	# don't include arch, cvs, svn, email, and gitk man pages
	for i in git-archimport git-cvs git-svn git-send-email gitk; do \
	  rm -f '$(GIT)'-core/usr/share/man/man1/$$i*; \
	done
	chmod 0644 '$(GIT)'-core/usr/share/man/man?/*.[0-9]*
	gzip -9 '$(GIT)'-core/usr/share/man/man?/*.[0-9]*
	# contrib
	install -d -m0755 '$(GIT)'-core/usr/share/doc/git-core
	cp -R contrib '$(GIT)'-core/usr/share/doc/git-core/
	find '$(GIT)'-core/usr/share/doc/git-core/contrib -type f | \
	  xargs chmod 0644
	# upstream changelog
	test -r changelog || ln -s debian/changelog.upstream changelog

install-indep: build-arch-stamp build-indep-stamp
	rm -rf '$(TMP)'
	install -d -m0755 '$(TMP)'
	DESTDIR='$(TMP)' $(MAKE) install install-doc \
	  CC='$(CC)' CFLAGS='$(CFLAGS)' $(OPTS)
	$(MAKE) -CDocumentation install-webdoc WEBDOC_DEST='$(TMP)'/html \
	  2>/dev/null
	# git-doc
	rm -rf '$(GIT)'-doc
	install -d -m0755 '$(GIT)'-doc
	# git-cvs, git-svn
	for i in cvs svn; do \
	  rm -rf '$(GIT)'-$$i && \
	  install -d -m0755 '$(GIT)'-$$i/usr/bin && \
	  install -m0755 '$(TMP)'/usr/bin/git-$$i* '$(GIT)'-$$i/usr/bin/ && \
	  install -d -m0755 '$(GIT)'-$$i/usr/share/man/man1 && \
	  install -m0644 '$(TMP)'/usr/share/man/man1/git-$$i* \
	    '$(GIT)'-$$i/usr/share/man/man1/ && \
	  gzip -9 '$(GIT)'-$$i/usr/share/man/man1/*.1 || exit 1; \
	done
	# git-arch
	rm -rf '$(GIT)'-arch
	install -d -m0755 '$(GIT)'-arch/usr/bin
	install -m0755 '$(TMP)'/usr/bin/git-archimport '$(GIT)'-arch/usr/bin/
	install -d -m0755 '$(GIT)'-arch/usr/share/man/man1
	install -m0644 '$(TMP)'/usr/share/man/man1/git-archimport.1 \
	  '$(GIT)'-arch/usr/share/man/man1/
	gzip -9 '$(GIT)'-arch/usr/share/man/man1/*.1
	# git-email
	rm -rf '$(GIT)'-email
	install -d -m0755 '$(GIT)'-email/usr/bin
	install -m0755 '$(TMP)'/usr/bin/git-send-email '$(GIT)'-email/usr/bin/
	install -d -m0755 '$(GIT)'-email/usr/share/man/man1
	install -m0644 '$(TMP)'/usr/share/man/man1/git-send-email.1 \
	  '$(GIT)'-email/usr/share/man/man1/
	gzip -9 '$(GIT)'-email/usr/share/man/man1/*.1
	# git-daemon-run
	rm -rf '$(GIT)'-daemon-run
	install -d -m0755 '$(GIT)'-daemon-run/etc/sv/git-daemon/log
	install -m0755 debian/git-daemon/run \
	  '$(GIT)'-daemon-run/etc/sv/git-daemon/run
	install -m0755 debian/git-daemon/log/run \
	  '$(GIT)'-daemon-run/etc/sv/git-daemon/log/run
	ln -s /var/run/sv.git-daemon \
	  '$(GIT)'-daemon-run/etc/sv/git-daemon/supervise
	ln -s /var/run/sv.git-daemon.log \
	  '$(GIT)'-daemon-run/etc/sv/git-daemon/log/supervise
	# gitk
	rm -rf '$(GIT)'k
	install -d -m0755 '$(GIT)'k/usr/bin
	install -m0755 '$(TMP)'/usr/bin/gitk '$(GIT)'k/usr/bin/gitk
	install -d -m0755 '$(GIT)'k/usr/share/man/man1
	install -m0644 '$(TMP)'/usr/share/man/man1/gitk.1 \
	  '$(GIT)'k/usr/share/man/man1/
	gzip -9 '$(GIT)'k/usr/share/man/man1/*.1
	# gitweb
	rm -rf '$(GIT)'web
	install -d -m0755 '$(GIT)'web/usr/lib/cgi-bin
	install -m0755 gitweb/gitweb.cgi '$(GIT)'web/usr/lib/cgi-bin/gitweb.cgi
	install -d -m0755 '$(GIT)'web/var/www
	install -m0644 gitweb/gitweb.css '$(GIT)'web/var/www/gitweb.css
	install -m0644 gitweb/git-favicon.png \
	  '$(GIT)'web/var/www/git-favicon.png
	install -m0644 gitweb/git-logo.png '$(GIT)'web/var/www/git-logo.png
	install -d -m0755 '$(GIT)'web/etc
	install -m0644 debian/gitweb.conf '$(GIT)'web/etc/gitweb.conf
	install -d -m0755 '$(GIT)'web/var/cache/git/
	# upstream changelog
	test -r changelog || ln -s debian/changelog.upstream changelog

binary: binary-arch binary-indep
binary-arch: install-arch git-core.deb
	rm -f debian/substvars
	dpkg-shlibdeps '$(GIT)'-core/usr/bin/*
	dpkg-gencontrol -isp -pgit-core -P'$(GIT)'-core
	dpkg -b '$(GIT)'-core ..
binary-indep: install-indep git-doc.deb git-arch.deb git-cvs.deb git-svn.deb \
	  git-daemon-run.deb git-email.deb gitk.deb gitweb.deb
	rm -f debian/substvars
	for i in -doc -arch -cvs -svn -daemon-run -email k web; do \
	  dpkg-gencontrol -isp -pgit$$i -P'$(GIT)'$$i && \
	  dpkg -b '$(GIT)'$$i .. || exit 1; \
	done

.PHONY: patch build clean install install-arch install-indep binary \
	  binary-arch binary-indep

include debian/implicit