summary refs log tree commit diff
path: root/debian/rules
blob: bf069db4ca08b295ed24ab9e3d88588523046b06 (plain) (blame)
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
#!/usr/bin/make -f

VERSION =$(shell head -n1 debian/changelog |sed -e 's/.*(\(.*\)-.*).*/\1/')

CFLAGS =-Wall
LDFLAGS =-pipe
CC =diet -v -Os gcc
STRIP =strip

DIET_ARCHS =alpha amd64 arm hppa i386 ia64 mips mipsel powerpc ppc64 s390 sparc
ARCH ?=$(shell dpkg-architecture -qDEB_HOST_ARCH)
ifeq (,$(findstring $(ARCH),$(DIET_ARCHS)))
  CC =gcc
  CFLAGS =-O2 -Wall
endif

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
  CFLAGS +=-g
endif
ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
  STRIP =: nostrip
endif

DIR =$(shell pwd)/debian/runit

unpack: deb-checkdir unpack-stamp
unpack-stamp:
	tar xzf runit-'$(VERSION)'.tar.gz
	ln -s runit-'$(VERSION)' admin/runit
	echo '$(CC) $(CFLAGS)' >admin/runit/src/conf-cc
	echo '$(CC) $(LDFLAGS)' >admin/runit/src/conf-ld
	touch unpack-stamp

build: deb-checkdir build-stamp
build-stamp: unpack-stamp
	-gcc -v
	$(MAKE) -Cadmin/runit/src default check
	touch build-stamp

clean: deb-checkdir deb-checkuid
	rm -rf admin
	rm -f unpack-stamp build-stamp
	rm -rf '$(DIR)'
	rm -f debian/files debian/substvars changelog

install: deb-checkdir deb-checkuid build-stamp
	rm -rf '$(DIR)'
	install -d -m0755 '$(DIR)'/var/service
	install -d -m0755 '$(DIR)'/sbin
	install -d -m0755 '$(DIR)'/usr/bin
	install -d -m0755 '$(DIR)'/usr/sbin
	for i in runit runit-init; do \
	  install -m0755 admin/runit/src/$$i '$(DIR)'/sbin/ || exit 1; \
	done
	for i in runsvdir runsv sv svlogd chpst; do \
	  install -m0755 admin/runit/src/$$i '$(DIR)'/usr/bin/ || exit 1; \
	done
	for i in runsvchdir utmpset; do \
	  install -m0755 admin/runit/src/$$i '$(DIR)'/usr/sbin/ || exit 1; \
	done
	$(STRIP) -R .comment -R .note '$(DIR)'/sbin/* '$(DIR)'/usr/sbin/* \
	  '$(DIR)'/usr/bin/*
	# runsvdir-start to be used from /etc/inittab
	install -m0755 debian/2 '$(DIR)'/usr/sbin/runsvdir-start
	# getty-5 service
	install -d -m0755 '$(DIR)'/etc/sv/getty-5
	install -m0755 debian/getty-tty5.run '$(DIR)'/etc/sv/getty-5/run
	install -m0755 debian/getty-tty5.finish \
	  '$(DIR)'/etc/sv/getty-5/finish
	# lintian overrides
	install -m0755 -d '$(DIR)'/usr/share/lintian/overrides
	install -m0644 debian/runit.lintian \
	  '$(DIR)'/usr/share/lintian/overrides/runit
	# man pages
	install -d -m0755 '$(DIR)'/usr/share/man/man8
	for i in runit runit-init runsvdir runsv sv svlogd chpst runsvchdir \
	 utmpset; do \
	  install -m0644 admin/runit/man/$$i.8 \
	    '$(DIR)'/usr/share/man/man8/ || exit 1; \
	done
	install -m0644 debian/runsvdir-start.8 '$(DIR)'/usr/share/man/man8/
	gzip -9 '$(DIR)'/usr/share/man/man8/*.8
	# links
	ln -s /var/run/sv.getty-5 '$(DIR)'/etc/sv/getty-5/supervise
	# additional docs
	install -d -m0755 '$(DIR)'/usr/share/doc/runit/debian
	for i in 1 2 3 ctrlaltdel; do \
	  install -m0644 admin/runit/etc/debian/$$i \
	    '$(DIR)'/usr/share/doc/runit/debian/ || exit 1; \
	done
	# changelog
	rm -f changelog && ln -s admin/runit/package/CHANGES changelog

binary-indep:

binary-arch: install runit.deb
	test '$(CC)' != 'gcc' || \
	  dpkg-shlibdeps '$(DIR)'/usr/sbin/* '$(DIR)'/usr/bin/*
	dpkg-gencontrol -isp -prunit -P'$(DIR)'
	dpkg -b '$(DIR)' ..

binary: binary-indep binary-arch

.PHONY: unpack build clean install binary-indep binary-arch binary

include debian/implicit