summaryrefslogtreecommitdiffstats
path: root/debian/rules
blob: 4642dbfeb3386a66dd73b1ca7728a9d8f741c749 (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
#!/usr/bin/make -f

export DH_VERBOSE=1
export DEB_BUILD_HARDENING=1
export DH_OPTIONS=-v

ifeq ($(WANT_SNMP), 1)
  USE_SNMP=--enable-snmp
  $(warning "DEBIAN: SNMP enabled, sorry for your inconvenience")
else
  $(warning "DEBIAN: SNMP disabled, see README.Debian")
endif

%:
	dh $@ --parallel --with autoreconf --dbg-package=quagga-dbg --list-missing
        if [ -e config.status ]; then \
                 dh $@ --parallel  --dbg-package=quagga-dbg --list-missing; \
        else \
                 dh $@ --parallel  --with autoreconf --dbg-package=quagga-dbg --list-missing; \
        fi

override_dh_auto_clean:
	#dh_auto_clean
	
	#@echo "BEGIN CRUFT"
	#@rm -vf */Makefile doc/quagga.fns doc/quagga.info doc/quagga.kys doc/quagga.tmp doc/quagga.pdf doc/quagga.info-*
	#@rm -vf lib/version.c doc/stamp-vti
	#@rm -vf vtysh/vtysh_cmd.c
	#@rm -vf doc/fig*.pdf doc/version.texi
	#@echo "END CRUFT"
	
	# why?
	#@if [ -e config.log ]; then echo "CONFIG.LOG STILL THERE"; rm config.log; fi

override_dh_auto_configure:
	# Quagga needs /proc to check some BSD vs Linux specific stuff.
	# Else it fails with an obscure error message pointing out that
	# IPCTL_FORWARDING is an undefined symbol which is not very helpful.
	@if ! [ -d /proc/1 ]; then \
	   echo "./configure needs a mounted /proc"; \
	   exit 1; \
	fi

	if ! [ -e config.status ]; then \
	dh_auto_configure -- \
 		--enable-exampledir=/usr/share/doc/quagga/examples/ \
		--localstatedir=/var/run/quagga \
		--sbindir=/usr/lib/quagga \
		--sysconfdir=/etc/quagga \
	    $(USE_SNMP) \
 		--enable-vtysh \
 		--enable-isisd \
 		--enable-watchquagga \
 		--enable-ospf-te \
 		--enable-opaque-lsa \
 		--enable-ipv6 \
 		--enable-ospfclient=yes \
 		--enable-ospfapi=yes \
 		--enable-multipath=64 \
 		--enable-user=quagga \
 		--enable-group=quagga \
 		--enable-vty-group=quaggavty \
 		--enable-configfile-mask=0640 \
 		--enable-logfile-mask=0640 \
 		--enable-rtadv \
		--enable-werror \
 		--enable-gcc-rdynamic \
		--with-libpam \
		--enable-dependency-tracking; \
	fi
	if ! diff -b -IHAVE_SNMP -IHAVE_NETSNMP -IUCD_COMPAT -IGETIFADDR debian/my/config.h.reference config.h; then \
		echo; \
		echo "WARNING: Please compare with debian/my/config.h.reference"; \
		echo; \
		if [ "`hostname`" = "james" ]; then exit 1; fi; \
	fi

override_dh_auto_build:
	#dh_auto_build
	$(MAKE)
	dh_auto_build -- -C doc draft-zebra-00.txt

	
	# doc/ is a bit crazy
ifeq ($(GENERATE_PDF), 1)
	dh_auto_build -- -C doc quagga.pdf || true # pdfetex fails with exit code 1 but still produces a good looking .pdf
endif
	rm -vf doc/quagga.info
	dh_auto_build -- -C doc quagga.info
	rm -vf doc/quagga.info.html*

override_dh_auto_test:
 
override_dh_auto_install:
	dh_auto_install
	
	# cleaning up the info dir
	rm -f debian/tmp/usr/share/info/dir*
	
	# install config files
	mkdir -p debian/tmp/etc/quagga/
	cp debian/my/debian.conf debian/tmp/etc/quagga/
	cp debian/my/daemons debian/tmp/etc/quagga/
	perl -pi -e 's#^!log file #!log file /var/log/quagga/#' debian/tmp/usr/share/doc/quagga/examples/*sample*
	    
	# installing the Quagga specific SNMP MIB
	install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB
	
	# installing custom man page
	cp debian/my/babeld.8 debian/tmp/usr/share/man/man8/quagga-babeld.8
	
	# cleaning .la files
	sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la