File: rules

package info (click to toggle)
bacula 5.2.6%2Bdfsg-9
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 22,764 kB
  • sloc: ansic: 117,583; cpp: 26,703; sh: 23,703; makefile: 4,117; perl: 3,045; sql: 1,368; lisp: 727; python: 166; awk: 85; xml: 64; sed: 25
file content (172 lines) | stat: -rwxr-xr-x 6,047 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
#!/usr/bin/make -f

#export DH_VERBOSE=1

DEB_HOST_ARCH_OS    ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
DBGPKGS := $(shell sed -n -e 's/Package: \(.*\)-dbg/\1/p' debian/control)

VARIANTS := pgsql mysql sqlite3

######################################################################

DBC := usr/share/dbconfig-common/data/

CONF_ALL	= \
	--enable-smartalloc \
	--with-python \
	--with-tcp-wrappers \
	--with-openssl \
	--with-libiconv-prefix=/usr/include \
	--with-readline=/usr/include/readline \
	--disable-conio \
	--with-libintl-prefix=/usr/include \
	--docdir=\$${prefix}/share/doc/bacula-common \
	--htmldir=\$${prefix}/share/doc/bacula-common/html \
	--libdir=\$${prefix}/lib/bacula \
	--enable-batch-insert \
	--enable-ipv6 \
	--with-dir-password=XXX_DIRPASSWORD_XXX \
	--with-fd-password=XXX_FDPASSWORD_XXX \
	--with-sd-password=XXX_SDPASSWORD_XXX \
	--with-mon-dir-password=XXX_MONDIRPASSWORD_XXX \
	--with-mon-fd-password=XXX_MONFDPASSWORD_XXX \
	--with-mon-sd-password=XXX_MONSDPASSWORD_XXX \
	--with-db-name=XXX_DBNAME_XXX \
	--with-db-user=XXX_DBUSER_XXX \
	--with-db-password=XXX_DBPASSWORD_XXX \
	--config-cache \
	--with-archivedir=/nonexistant/path/to/file/archive/dir \
	--sysconfdir=/etc/bacula \
	--with-scriptdir=/etc/bacula/scripts \
	--sharedstatedir=/var/lib/bacula \
	--localstatedir=/var/lib/bacula \
	--with-logdir=/var/log/bacula \
	--with-pid-dir=/var/run/bacula \
	--with-smtp-host=localhost \
	--with-working-dir=/var/lib/bacula \
	--with-subsys-dir=/var/lock \
	--with-dump-email=root \
	--with-job-email=root \
	--with-systemd=/lib/systemd/system \
	--with-mysql --with-postgresql --with-sqlite3 \
	--enable-bat --enable-tray-monitor --enable-bwx-console --with-x

ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
CONF_ALL	+= --disable-acl --disable-xattr
endif

LONGNAME_mysql		= mysql
LONGNAME_pgsql		= postgresql
LONGNAME_sqlite3	= sqlite3

###########################################################################

# Macro for generate file for specified database from specified template
# args: 1 -- template file
#       2 -- db type
define template-subst
sed -e 's/XX_DB_XX/$(2)/' -e 's/XX_DBLONGNAME_XX/$(LONGNAME_$(2))/' '$(1)' >'$(patsubst %.in,%,$(subst -db.,-$(2).,$(1)))';
endef

# Macro for cleanup file generated for specified database from specified template
# args: 1 -- template file
#       2 -- db type
define template-cleanup
rm -f '$(patsubst %.in,%,$(subst -db.,-$(2).,$(1)))';
endef

# Macro for generate from all templates files for specified database
# args: 1 -- db type
define db-templates-subst
$(foreach template,$(wildcard debian/*-db.*.in),$(call template-subst,$(template),$(1)))
endef

# Macro for cleanup all files generated for specified database from templates
# args: 1 -- db type
define db-templates-cleanup
$(foreach template,$(wildcard debian/*-db.*.in),$(call template-cleanup,$(template),$(1)))
endef

%:
	dh $@ --with autotools_dev

override_dh_shlibdeps:
	# Handle shlibs for the database packages specially so they get
	# the deps on the correct libraries.
	dh_shlibdeps -pbacula-sd-mysql -Lbacula-common-mysql
	dh_shlibdeps -pbacula-director-mysql -Lbacula-common-mysql
	dh_shlibdeps -pbacula-sd-sqlite3 -Lbacula-common-sqlite3
	dh_shlibdeps -pbacula-director-sqlite3 -Lbacula-common-sqlite3
	dh_shlibdeps -pbacula-sd-pgsql -Lbacula-common-pgsql
	dh_shlibdeps -pbacula-director-pgsql -Lbacula-common-pgsql
	# Now build all other shlibdeps.
	dh_shlibdeps -a -Nbacula-sd-mysql -Nbacula-director-mysql \
		-Nbacula-sd-sqlite3 -Nbacula-director-sqlite3 \
		-Nbacula-sd-pgsql -Nbacula-director-pgsql

override_dh_installinit:
	dh_installinit -pbacula-sd -- defaults 90 10
	dh_installinit -pbacula-fd -- defaults 91 9
	dh_installinit -pbacula-director-common --name=bacula-director --no-start -- defaults 92 8

override_dh_install:
	chmod 755 debian/additions/postinst-common
	chmod 755 debian/scripts/install-dbconfig
	dh_install
	chmod 755 debian/bacula-common/usr/lib/bacula/btraceback
	######### dbconfig-common stuff
	# Sometimes the latest release doesn't have a copy of the data in updatedb.
	# Manually install those. CHECK THIS FOR EACH NEW RELEASE!
	#
	# lenny -> squeeze is 10 -> 12
	$(foreach db,$(VARIANTS),$(shell debian/scripts/install-dbconfig $(db) 3.0.0 11)) # 3.0.0 upgrade 10 to 11
	$(foreach db,$(VARIANTS),$(shell debian/scripts/install-dbconfig $(db) 5.0.0 12)) # 5.0.0 upgrade 11 to 12
	$(foreach db,$(VARIANTS),$(shell debian/scripts/install-dbconfig $(db) 5.2.0))    # 5.2.0 upgrade 12 to 14
	$(foreach db,$(VARIANTS),$(shell debian/scripts/install-dbconfig $(db)))
	# dh_install can not rename files, so doing here
	mv debian/bacula-traymonitor/usr/share/pixmaps/generic.xpm \
		debian/bacula-traymonitor/usr/share/pixmaps/bacula-tray-monitor.xpm
	# fix database type in some scripts
	$(foreach db,$(VARIANTS),sed -i \
	  -e "s/XX_DB_XX/$(db)/" \
		-e "s/XX_DBLONGNAME_XX/$(LONGNAME_$(db))/" \
		debian/bacula-director-$(db)/etc/bacula/scripts/make_catalog_backup \
		debian/bacula-director-$(db)/etc/bacula/scripts/make_catalog_backup.pl;)


override_dh_installdocs:
	dh_installdocs -pbacula --link-doc=bacula-common
	for pkg in $(DBGPKGS); do \
		dh_installdocs -p$$pkg-dbg --link-doc=$$pkg; \
		done
	dh_installdocs -Nbacula

override_dh_auto_configure:
	$(foreach db,$(VARIANTS),$(call db-templates-subst,$(db)))
	autoconf -I autoconf/ -o configure autoconf/configure.in
	dh_auto_configure -- $(CONF_ALL)

override_dh_auto_build:
	dh_auto_build --parallel

override_dh_strip:
	for pkg in $(DBGPKGS); do \
		dh_strip -p$$pkg --dbg-package=$$pkg-dbg; \
		done
	dh_strip

override_dh_makeshlibs:
	dh_makeshlibs -n -Xbpipe-fd.so

override_dh_clean:
	$(foreach db,$(VARIANTS),$(call db-templates-cleanup,$(db)))
	dh_autotools-dev_restoreconfig
	dh_clean

override_dh_fixperms:
	dh_fixperms
	chmod -x debian/bacula-sd/etc/bacula/scripts/mtx-changer.conf
	chmod -x debian/bacula-common/usr/share/doc/bacula-common/examples/nagios/check_bacula/README
	chmod +x debian/bacula-director-*/etc/bacula/scripts/make_catalog_backup_awk

override_dh_auto_test: