aboutsummaryrefslogtreecommitdiffstats
path: root/main/bacula/APKBUILD
blob: 8b795d50ddf443826fc5b059730fe0f0a338e4f7 (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
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
# Contributor: Ɓukasz Jendrysik <scadu@yandex.com>
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname="bacula"
pkgver=7.0.5
pkgrel=5
pkgdesc="Enterprise ready, network based backup program"
url="http://www.bacula.org"
arch="all"
license="AGPL3"
depends=""
depends_dev="autoconf mariadb-dev ncurses-dev openssl-dev postgresql-dev sqlite-dev 
	zlib-dev lzo-dev"
makedepends="$depends_dev"
install="$pkgname.pre-install $pkgname.post-upgrade"
subpackages="$pkgname-doc $pkgname-mysql $pkgname-pgsql $pkgname-sqlite"
pkgusers="bacula"
pkggroups="bacula"
somask="libbaccats-${pkgver}.so"
source="http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz
	bacula-dir-init
	bacula-dir-conf
	bacula-sd-init
	bacula-sd-conf
	bacula-fd-init
	bacula-fd-conf
	fix-headers.patch
	configure-detect-gcc.patch
	"

_builddir="$srcdir/$pkgname-$pkgver"

prepare () {
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done

	cd "$_builddir"/autoconf
	autoconf && cp configure ../
}

build() {
	cd "$srcdir/$pkgname-$pkgver"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc/bacula \
		--localstatedir=/var \
		--mandir=/usr/share/man \
		--docdir=/usr/share/doc \
		--infodir=/usr/share/info \
		--with-pid-dir=/var/run \
		--with-subsys-dir=/var/lock/subsys \
		--with-logdir=/var/log/bacula \
		--enable-largefile \
		--enable-smartalloc \
		--disable-nls \
		--with-openssl=/usr/include/openssl \
		--with-postgresql \
		--with-mysql \
		--with-sqlite3 \
		--with-scriptdir=/etc/bacula/scripts \
		--with-working-dir=/var/lib/bacula \
		--with-dir-user=bacula \
		--with-dir-group=bacula \
		--with-archivedir=/var/lib/bacula/archive \
		--with-sd-user=bacula \
		--with-sd-group=bacula \
		--with-fd-user=root \
		--with-fd-group=root \
		|| return 1

	make NO_ECHO= || return 1
}

package() {
	cd "$srcdir/$pkgname-$pkgver"
	make DESTDIR="$pkgdir" install

	for DAEMON in dir sd fd
	do
		install -Dm755 "$srcdir"/bacula-${DAEMON}-init \
		 "$pkgdir"/etc/init.d/bacula-${DAEMON}
		install -Dm644 "$srcdir"/bacula-${DAEMON}-conf \
		 "$pkgdir"/etc/conf.d/bacula-${DAEMON}
	done
	install -Dm644 examples/sample-query.sql \
	 "$pkgdir"/etc/bacula/scripts/query.sql
	# Fix correct log dir
	sed -i -e 's%/var/bacula/log%/var/log/bacula%' \
	 "$pkgdir"/etc/bacula/bacula-dir.conf
	# Install logrotate script
	install -Dm644 scripts/logrotate $pkgdir/etc/logrotate.d/bacula
	sed -i -e 's%/var/bacula/log%/var/log/bacula%' \
	 "$pkgdir"/etc/logrotate.d/bacula
	# Use shell script for catalog backup instead of perl
	sed -i -e 's/make_catalog_backup.pl/make_catalog_backup/' \
	 "$pkgdir"/etc/bacula/bacula-dir.conf
	for dir in /var/lib/bacula /etc/bacula/scripts/make_catalog_backup* \
	 /etc/bacula/scripts/mtx-changer*
	do
		chown bacula.bacula "$pkgdir"$dir || return 1
	done
	find "$pkgdir"/usr/lib -iname libbaccats* -type l -delete
}

_mv_backend() {
	mkdir -p "$subpkgdir"/usr/lib
	mkdir -p "$subpkgdir"/etc/bacula/scripts
	mv "$pkgdir"/usr/lib/libbaccats-${1}-${pkgver}.so \
	  "$subpkgdir"/usr/lib || return 1
	ln -s libbaccats-${pkgver}.so "$subpkgdir"/usr/lib/libbaccats.so
	ln -s libbaccats-${1}-${pkgver}.so \
	  "$subpkgdir"/usr/lib/libbaccats-${pkgver}.so
	#mv "$pkgdir"/usr/lib/libbaccats-${1}.so \
	#  "$subpkgdir"/usr/lib/libbaccats.so || return 1
	mv "$pkgdir"/etc/bacula/scripts/*_${1}_* \
	  "$subpkgdir"/etc/bacula/scripts || return 1
}

mysql() {
	pkgdesc="Bacula MySQL backend"
	depends="bacula"
	_mv_backend mysql
}

pgsql() {
	pkgdesc="Bacula PGSQL backend"
	depends="bacula"
	pkgusers="postgres"
	_mv_backend postgresql
	for file in create_postgresql_database make_postgresql_tables \
	 grant_postgresql_privileges
	do
		chown postgres "$subpkgdir"/etc/bacula/scripts/$file
	done
}

sqlite() {
	pkgdesc="Bacula SQLite backend"
	depends="bacula"
	_mv_backend sqlite3
}

md5sums="b4a99d673f5e1eaae8b257ccc610241f  bacula-7.0.5.tar.gz
3967099975a3eafe5811482b231b159f  bacula-dir-init
20f28a16f34e3f20ed18ed81b010e765  bacula-dir-conf
5ae1fba6860a320394d65744e5640bdb  bacula-sd-init
afe2f9a4d79d7d96eb9372d003d10f86  bacula-sd-conf
6ae93e570f95fa845fa534c2d2efaac0  bacula-fd-init
4500ce2d62bf9df33c07f70dc40f7b85  bacula-fd-conf
b84924f161f193d8441316ee4abc3064  fix-headers.patch
260871cf8415b6e6e3fa33d1103acffa  configure-detect-gcc.patch"
sha256sums="1457849eb33011b43371801b62ffa13d29bebe51be8d5a36da563b87bb094a49  bacula-7.0.5.tar.gz
3dcba6d60dd2c67b1378a791d730588ff7d29eb59024fc731d4f4be01660e293  bacula-dir-init
5891bdb3a8ec581f8a2fd404a5a8995d8950d80da71a3b732474fb45e80d22c2  bacula-dir-conf
7c08606bbd391fa73773ef52bcee2dd989530c8c44b9dfae0b82cfe73976a400  bacula-sd-init
88808b3b971825acffc9dc3b6d418e52d9bd89df8527052c555cba4336ead784  bacula-sd-conf
12a62dd9c7a7931060c2c21e52cb9069a3774ebe7c8370455068e2dded0c2f80  bacula-fd-init
64124036c19e849cc580b981887be35b5746acb584397190a0afe2797b2d1ace  bacula-fd-conf
f74d95cd0dab90326e0eeee45b30b4af52d61f9e8a16547ce879533d2e85d460  fix-headers.patch
ecf64bf8ea837c0f54d157b7b4b2dd49209d2f78e5d74a3a03696073ffb4ba79  configure-detect-gcc.patch"
sha512sums="df7908769fd13a1cb2e0491d3773577db40c0f1c010b887c6dc6d7e0bc0b408fbfc260e6d5a2a34975e5b424152c7f558b33aeedea45f366636739295641394b  bacula-7.0.5.tar.gz
852df12c6555ad65661345e15872ca75b99a9d3e5b9e6ed80d82021006c9716a04919dabe88ff672aa550ac0b00b31eaa2e739469557fc326e6bb4216e2308b9  bacula-dir-init
e06e5f8821d4a9a3f40cc8f11feeb5004780b82e2ad5e645f69a0f8faff78d8a8c6e66b36e105619b2a78d6b2f294dedd0e00e9bbf568af201cf299387135fef  bacula-dir-conf
ee8a9206d3e604f5ac81bc70bece97ec77dae87b463a6ff4d08fba9418bf37e99a30895f115b2e9fbba1ec5f92b5d9368fd155717fedae12792f255b02413208  bacula-sd-init
80f6cf74cc14e722747d92e6e7b073bdf32456d395c6b4b63daa1ddcaf75f3d76d1b9a0e8e2da512e8f82e4d59a4a93cc38117af91d974fe7db644516bdb9909  bacula-sd-conf
e4c09734ccf9e1ac197ac4684c8294dddae817cf764b168ce7357b2529d11314f948ed2807d501b3c7cd7725ba488981fe573d7b389fca7feedfa9c8a1cce6fa  bacula-fd-init
ff312e8952b31de27f22b257d12b570e151794d985f854ff19bab34363ea974d7583edced6b125518da3ecfe2b2a229b732473958b10484d988fcc8a67a372cc  bacula-fd-conf
215a0b5bc038658ed821a85c6e70df70cb66ca2a970f1e27ae9690c54372410f2d677f1b04b380dfedcff516c96ba91200850917b20454a871a99958d0d24604  fix-headers.patch
f6c0f79e270790d2f3564a76d58b6ce5b7b4348247ad31c782363e3a51604bc53d5b11b232469241ae59c1982f65fb5bbb744537a8b94a2bd2ce3395a57a344f  configure-detect-gcc.patch"