blob: e09a97ccb9f77d7627da2a5f3b1a5cfed1986396 (
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
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
|
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname="bacula"
pkgver=5.2.12
pkgrel=5
pkgdesc="Enterprise ready, network based backup program"
url="http://www.bacula.org"
arch="all"
license="AGPL3"
depends=""
depends_dev="autoconf mysql-dev ncurses-dev openssl-dev postgresql-dev sqlite-dev
zlib-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
bacula-5.0.2-config.patch
bacula-5.0.2-openssl.patch
bacula-5.0.3-sqlite-priv.patch
bacula-5.2.3-as-needed.patch
bacula-5.2.3-ldflags.patch
bacula-5.2.3-lib-search-path.patch
bacula-config.patch
configure.in.patch
bacula-5.0.3-Makefile.patch
os.m4.patch
cxx.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 --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
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" -iname *.la -delete
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="b04c22b128b73359e4bbc9de06652c38 bacula-5.2.12.tar.gz
b1b328013634c98119663730e3e2da7e bacula-dir-init
20f28a16f34e3f20ed18ed81b010e765 bacula-dir-conf
5ae1fba6860a320394d65744e5640bdb bacula-sd-init
afe2f9a4d79d7d96eb9372d003d10f86 bacula-sd-conf
6ae93e570f95fa845fa534c2d2efaac0 bacula-fd-init
4500ce2d62bf9df33c07f70dc40f7b85 bacula-fd-conf
71f7f9c041eff045b2e97d141316c059 bacula-5.0.2-config.patch
4e310e84c7aba5b8d043758e0fa0088f bacula-5.0.2-openssl.patch
9def0e68e3eb2f5f8b4c34108a248efd bacula-5.0.3-sqlite-priv.patch
5fb1ef3f9fae381b64aa3226351f91a5 bacula-5.2.3-as-needed.patch
5ff321fee690e6a3b48ae41f9860558c bacula-5.2.3-ldflags.patch
fe1fe1df51c3e57343e2e7794447a763 bacula-5.2.3-lib-search-path.patch
5d3c1bf25d50996e0c0c344dc2444014 bacula-config.patch
ebc9c2bbc9be95c920723a3f142d8e19 configure.in.patch
0ec20df57bb632ed729cfaf5d0a3ee33 bacula-5.0.3-Makefile.patch
cf7a2a4e972697f54364654c4e282b8b os.m4.patch
1bfdbfea7a36d5503753414dffb953eb cxx.patch"
|