blob: bb0dccb59c687a40548932d9a0ed38a0cc356c71 (
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=bareos
pkgver=20.0.3
pkgrel=1
pkgdesc="Bareos - Backup Archiving REcovery Open Sourced"
url="http://www.bareos.org"
_php=php8
# FTBFS on mips
# chromium-chromedriver only present on these arches
arch="x86_64 aarch64"
options="!check"
license="AGPL-3.0"
makedepends="cmake gawk
lzo-dev acl-dev gettext-dev
readline-dev ncurses-dev jansson-dev
sqlite-dev libpq-dev mariadb-connector-c-dev
$_php
gtest-dev py3-psycopg2 chromium-chromedriver
libcap-dev libtirpc-dev
py3-apache-libcloud py3-dateutil
python3-dev python3 py3-dateutil py3-psycopg2 py3-apache-libcloud
json-c-dev libxml2-dev linux-pam-dev"
install="$pkgname.pre-install $pkgname.post-install"
subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc $pkgname-dbg
$pkgname-mysql:_mysql $pkgname-sqlite:_sqlite $pkgname-postgresql:_postgresql
$pkgname-webui:_webui:noarch $pkgname-webui-apache2:_webui_apache2:noarch $pkgname-webui-nginx:_webui_nginx:noarch"
pkgusers=$pkgname
pkggroups=$pkgname
source="$pkgname-$pkgver.tar.gz::https://github.com/bareos/bareos/archive/Release/$pkgver.tar.gz
$pkgname-dir.initd
$pkgname-sd.initd
$pkgname-fd.initd
add-libintl.patch
nginx-conf.patch
path-mounted.patch
support-alpine-dist.patch
xattr-include.patch
disable-systemtest-minio.patch
php8-compatibility-fix-array-key-exists.patch
"
builddir="$srcdir"/$pkgname-Release-$pkgver
# secfixes:
# 19.2.8-r0:
# - CVE-2020-4042
# - CVE-2020-11061
prepare() {
default_prepare
mkdir -pv core/platforms/alpine
touch core/platforms/alpine/CMakeLists.txt
# cleanup stale builddir and recreate
[ -d cmake-build ] && rm -rfv cmake-build
mkdir cmake-build
}
build() {
cd "$builddir"/cmake-build
cmake .. \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib \
-DBUILD_SHARED_LIBS:BOOL=ON \
-Dsysconfdir=/etc \
-Dbasename=$pkgname \
-Dhostname=localhost \
-Dconfdir=/etc/$pkgname \
-Dlibdir=/usr/lib \
-Darchivedir=/var/lib/$pkgname/archive \
-Dworkingdir=/var/lib/$pkgname \
-Dscriptdir=/etc/$pkgname/scripts \
-Dplugindir=/usr/lib/$pkgname \
-Dbackenddir=/usr/lib/$pkgname \
-Dlogdir=/var/log/$pkgname \
-Dpiddir=/run/$pkgname \
-Dbsrdir=/run/$pkgname \
-Dsubsysdir=/var/lock \
-Dbatch-insert=yes \
-Dscsi-crypto=yes \
-Dlmdb=yes \
-Dipv6=yes \
-Ddynamic-cats-backends=yes \
-Dpostgresql=yes \
-Dmysql=yes \
-Dsqlite3=yes \
-Dopenssl=yes \
-Dtraymonitor=no \
-Dsystemd=no \
-Dndmp=no \
-Ddir-user=$pkgname \
-Ddir-group=$pkgname \
-Dsd-user=$pkgname \
-Dsd-group=$pkgname \
-Dfd-user=root \
-Dfd-group=$pkgname
make
}
package() {
cd "$builddir"/cmake-build
make DESTDIR="$pkgdir" install
mkdir -p "$pkgdir"/usr/sbin
mkdir -p "$pkgdir"/usr/bin
mkdir -p "$pkgdir"/var/lib/bareos
mkdir -p "$pkgdir"/var/log/bareos
local daemon; for daemon in dir sd fd; do
install -Dm755 "$srcdir"/$pkgname-$daemon.initd \
"$pkgdir"/etc/init.d/$pkgname-$daemon
done
# Install logrotate script
install -Dm644 ../core/scripts/logrotate "$pkgdir"/etc/logrotate.d/$pkgname
# Fix job to use shell script instead of perl script
sed -i -e 's/make_catalog_backup.pl/make_catalog_backup/' \
"$pkgdir"/etc/bareos/bareos-dir.d/job/BackupCatalog.conf
# remove perl script
rm "$pkgdir"/etc/bareos/scripts/make_catalog_backup.pl
# remove http configuration
rm -r "$pkgdir"/etc/httpd
}
_mysql() {
description="$description (mysql driver)"
mkdir -p "$subpkgdir"/usr/lib/bareos
mv "$pkgdir"/usr/lib/bareos/libbareoscats-mysql.so "$subpkgdir"/usr/lib/bareos/
for _i in creates grants updates; do
mkdir -p "$subpkgdir"/etc/bareos/scripts/ddl/$_i
mv "$pkgdir"/etc/bareos/scripts/ddl/$_i/mysql*.sql "$subpkgdir"/etc/bareos/scripts/ddl/$_i/
done
}
_sqlite() {
description="$description (sqlite driver)"
mkdir -p "$subpkgdir"/usr/lib/bareos
mv "$pkgdir"/usr/lib/bareos/libbareoscats-sqlite3.so "$subpkgdir"/usr/lib/bareos/
for _i in creates updates; do
mkdir -p "$subpkgdir"/etc/bareos/scripts/ddl/$_i
mv "$pkgdir"/etc/bareos/scripts/ddl/$_i/sqlite3*.sql "$subpkgdir"/etc/bareos/scripts/ddl/$_i/
done
}
_postgresql() {
description="$description (postgresql driver)"
mkdir -p "$subpkgdir"/usr/lib/bareos
mv "$pkgdir"/usr/lib/bareos/libbareoscats-postgresql.so "$subpkgdir"/usr/lib/bareos/
for _i in creates grants updates; do
mkdir -p "$subpkgdir"/etc/bareos/scripts/ddl/$_i
mv "$pkgdir"/etc/bareos/scripts/ddl/$_i/postgresql*.sql "$subpkgdir"/etc/bareos/scripts/ddl/$_i/
done
}
_webui() {
description="$description (webui)"
depends="$_php $_php-gettext $_php-mbstring $_php-session $_php-ctype $_php-opcache $_php-openssl"
mkdir -p "$subpkgdir"/usr/share
mv "$pkgdir"/usr/share/bareos-webui "$subpkgdir"/usr/share/
mkdir -p "$subpkgdir"/etc
mv "$pkgdir"/etc/bareos-webui "$subpkgdir"/etc/
mkdir -p "$subpkgdir"/etc/bareos/bareos-dir.d/profile/
mv "$pkgdir"/etc/bareos/bareos-dir.d/profile/webui-* "$subpkgdir"/etc/bareos/bareos-dir.d/profile/
}
_webui_apache2() {
description="$description (webui apache2 configuration)"
depends="$pkgname-webui $_php-apache2"
mkdir -p "$subpkgdir"/etc/apache2/conf.d
cp "$builddir"/webui/install/apache/bareos-webui.conf "$subpkgdir"/etc/apache2/conf.d/
}
_webui_nginx() {
description="$description (webui apache2 configuration)"
depends="$pkgname-webui nginx"
mkdir -p "$subpkgdir"/etc/nginx/http.d
cp "$builddir"/webui/install/nginx/bareos-webui.conf "$subpkgdir"/etc/nginx/http.d/
}
sha512sums="
3f9bf020e0d519da75221ebd200634713c791e2fdc90a13482ffb3294912d5e2ee28f8338dbef06ba6c98727bae447f6f8bb8d4a06520001f7cefa3614769082 bareos-20.0.3.tar.gz
eb1e7072b579bf9ae21f2e351d6900abb277db64e373f4760bac8188b82929376e4a196d2c935cefe1ae4cc2c396f2fcba1a25642b26e2f92a0d008fbdc4b5f2 bareos-dir.initd
c770b1d041fafef93d4eb0269ba8d9733e85ef465657fe8dd5d5c68a27ec773cec9c5c582d4a16596d95bbf6dbd3f7194dc9c0d8ed73138e9fb438fba9aa9445 bareos-sd.initd
c6347079dbcef5f4a69ec0c4ecc31803520d715d599d89c6bbfbb3741a86c50d7295c30432889b13ee9c16f2feaa84b1c6ae992cfee6505d569c6493d7e85a5b bareos-fd.initd
9d12f26d77d384ab122fdb133667b17a1e83c748d9fca9ca810c368b8f4f3cb2fc258f7c54628e96a0347e7f996c00f46d89655aad2fee373a61e7433fd783b9 add-libintl.patch
c2fd44d5880b74b24d8001b0798a1a42936347284633b9dd93d604a642c7b15220e5af66cbceb8919263e85b3cfee866cf3f956046ab7cc0d93edce96ad1ecda nginx-conf.patch
2053eb72bbdb8c02d9ee7dcf387a973e0203485eb85304f1e1513ad501f6738d9fc0bb97596d6d9a1a8c96f6675fd2d2edafc85e961a5bd370b5f22f320c7cbf path-mounted.patch
e427e32bd5d589618cc8efc6d9a679f62e01904a76f2ce3f56bdbba7df31bf12922380c848bb409291f685fdb80a6ed25d842d44728a363103ab99591b473232 support-alpine-dist.patch
754d383abeafaac2668a59f21031959024d343da210bc1b0f82c11b4132e0f71a4b64a38a44f21bc583f4ea4c4910a865e1b306be6ee1c88a883065e3bf2170b xattr-include.patch
a30d6c52b0c7cc6608639cca62bdf0322f502b50be06943bc0f9178aa21680d5f7331e48f5ca860cf7bca0681fd03ddc581dde65f55ec2b079f856e43353f3e6 disable-systemtest-minio.patch
68594a071c21a0b919cac49d0a59cda89f84f610e66ab98edb54be7f2871832051d5fef409bf2989de83f89659e65a6df78b3a53b50fbcdadfaefa539d830d10 php8-compatibility-fix-array-key-exists.patch
"
|