blob: c0434f8e3a7b7b76f8296a74d48e23223bff5623 (
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
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
|
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=bareos
pkgver=21.1.5
pkgrel=0
pkgdesc="Bareos - Backup Archiving REcovery Open Sourced"
url="http://www.bareos.org"
_php=php81
# 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 libpq-dev openssl-dev>3
$_php
gtest-dev py3-psycopg2 chromium-chromedriver libcap-dev libtirpc-dev
py3-apache-libcloud python3-dev py3-dateutil py3-psycopg2 py3-apache-libcloud
json-c-dev libxml2-dev linux-pam-dev bsd-compat-headers ceph-dev
mariadb-client mariadb mariadb-backup samurai"
install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-upgrade"
subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc
$pkgname-libs
$pkgname-postgresql:_postgresql
$pkgname-storage:_sd
$pkgname-filedaemon:_fd
$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
$pkgname-dir.confd
$pkgname-sd.confd
$pkgname-fd.confd
add-libintl.patch
nginx-conf.patch
apache2-conf.patch
path-mounted.patch
support-alpine-dist.patch
disable-systemtest-minio.patch
alpine-agpl3-compat.patch
remove-src-droplet.patch
disable-werror.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
sed -i '/bareos-symlink-default-db-backend.cmake/d' core/src/cats/CMakeLists.txt
}
build() {
cmake -B build -G Ninja \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib \
-DBUILD_SHARED_LIBS:BOOL=ON \
-Dprefix=/usr \
-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 \
-Dndmp=no \
-Ddynamic-cats-backends=yes \
-Ddynamic-storage-backends=yes \
-Dpostgresql=yes \
-Dopenssl=yes \
-Dtraymonitor=no \
-Dsystemd=no \
-Ddir-user=$pkgname \
-Ddir-group=$pkgname \
-Dsd-user=$pkgname \
-Dsd-group=$pkgname
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
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; do
install -Dm755 "$srcdir"/$pkgname-$daemon.initd \
"$pkgdir"/etc/init.d/$pkgname-$daemon
install -Dm755 "$srcdir"/$pkgname-$daemon.confd \
"$pkgdir"/etc/conf.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
chown $pkgusers "$pkgdir"/var/lib/bareos
chown $pkgusers "$pkgdir"/var/log/bareos
chown -R $pkgusers "$pkgdir"/etc/bareos
}
_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 drops 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
for s in create_bareos_database \
delete_catalog_backup \
drop_bareos_database \
drop_bareos_tables \
grant_bareos_privileges\
make_bareos_tables \
make_catalog_backup \
update_bareos_tables \
; do
cp "$builddir"/core/src/cats/$s "$subpkgdir"/etc/bareos/scripts/ddl ;
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 apache2 $_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 $_php-fpm"
mkdir -p "$subpkgdir"/etc/nginx/http.d
cp "$builddir"/webui/install/nginx/bareos-webui.conf "$subpkgdir"/etc/nginx/http.d/
}
_sd() {
description="$description (Storage Daemon)"
local daemon=sd
mkdir -p "$subpkgdir"/etc/bareos
mkdir -p "$subpkgdir"/usr/sbin
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/etc/bareos/bareos-sd.d "$subpkgdir"/etc/bareos
mv "$pkgdir"/usr/sbin/bareos-sd "$subpkgdir"/usr/sbin/
install -Dm755 "$srcdir"/$pkgname-$daemon.initd \
"$subpkgdir"/etc/init.d/$pkgname-$daemon
install -Dm644 "$srcdir"/$pkgname-$daemon.confd \
"$subpkgdir"/etc/conf.d/$pkgname-$daemon
}
_fd() {
description="$description (File Daemon)"
depends="$pkgname=$pkgver-r$pkgrel"
local daemon=fd
mkdir -p "$subpkgdir"/etc/bareos
mkdir -p "$subpkgdir"/usr/sbin
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/etc/bareos/bareos-fd.d "$subpkgdir"/etc/bareos
mv "$pkgdir"/usr/sbin/bareos-fd "$subpkgdir"/usr/sbin/
install -Dm755 "$srcdir"/$pkgname-$daemon.initd \
"$subpkgdir"/etc/init.d/$pkgname-$daemon
install -Dm644 "$srcdir"/$pkgname-$daemon.confd \
"$subpkgdir"/etc/conf.d/$pkgname-$daemon
}
sha512sums="
637c6c0500ff31bb2c87f27d87f908d49836191afb880de4b636432b9c20433ec6f32f5805aaa7fb57f2f99a0201c51802c8d213ee5573642698f74da4cb06b7 bareos-21.1.5.tar.gz
0d1e1fb9d69bd003b6c99b4c0120c14a4e8bb9c5c112649d299e672623241f98453278667e315c13a0ab0e93b1c17a3d7c2b8f59544c2d764e32c691a1986f3e bareos-dir.initd
407af1b90672959bee9206d3f241226e46a7c3091a79b91da70b6e5abb171f93dec53d5151713627096ec9fb81d0f7690a20bcf4c361abc8a018c6cc967db8b7 bareos-sd.initd
cf0403ca8f3efb5cfb57915df9203ff16ed69a72d8d0bc189f5f221d36233127d9ed5c8391a46969b0de5943ff4717f52ffae9a5afa1ae24e27631bd1c58b438 bareos-fd.initd
9858964a291ee9849e144f968a239758e3e6905bb5420717652114d8a583e3342e50f046efa41730f30cfc3f047b485251e93085fb13b327a6f2272d7c4c0309 bareos-dir.confd
eb5d942edb45d349804c90eb0379cfabca765d63277b21feb4f1937ef8b655b6ba9feb3b671b61f582996ff4f9740614c197ae990c00879731ec43d6da8f4286 bareos-sd.confd
4bdf1e9d5f2f7a85efdf9aaaa0d35daadf83e766afeccdba69a94490a2e59c0b46fbbbdb1dcd5be389603ac5a196fe35c0fb389bc241eab0bf414c9ec432451f bareos-fd.confd
9d12f26d77d384ab122fdb133667b17a1e83c748d9fca9ca810c368b8f4f3cb2fc258f7c54628e96a0347e7f996c00f46d89655aad2fee373a61e7433fd783b9 add-libintl.patch
46b21a0b3c81d7be7d992d267441684c23b39eb2227326d7a8500aef8de3100146f2af98835cea555830d6490dd16fa58575095ba1ab833b697c24bddb68babd nginx-conf.patch
d7950b298306986d28b7c2e6b1d93d5a289c0e29cdd05825e667ea72da34ac2f078c7de344124d7cab2f342067f67725c40117a06cf95b1ef67f19f67e682521 apache2-conf.patch
2053eb72bbdb8c02d9ee7dcf387a973e0203485eb85304f1e1513ad501f6738d9fc0bb97596d6d9a1a8c96f6675fd2d2edafc85e961a5bd370b5f22f320c7cbf path-mounted.patch
e427e32bd5d589618cc8efc6d9a679f62e01904a76f2ce3f56bdbba7df31bf12922380c848bb409291f685fdb80a6ed25d842d44728a363103ab99591b473232 support-alpine-dist.patch
880cfb519333a4f4bc2ea5f459cb18052be660a0663a46d813cca74f75815f797ab15c9512bd292210da3a09c572447ff159facaa1b8e458757552cb22523f02 disable-systemtest-minio.patch
846cf5a6885fdd3aaa66650edab682a9eaade311d246fc25d0db4e43bd6f97db9b5d80d9636d155513efd430044c851d880e8c9c34ed354b5cbcef3aff7c3581 alpine-agpl3-compat.patch
1cc4eed0592fd74950ebf5012580d12fa3ee0d3ec8e0ccac03da6a4696c9f334e3bf749a9c361d954168713c67945b95cbdc37ebea97a5a1809b3a20a7a34ecd remove-src-droplet.patch
f957ab08f854f2722b7bcae13eb6607f5cc138b0864be839821880326d302d0646ec455c0e01bf4921e334b9749b935dd12c9175ed606f2b9b600cbbf8f46eca disable-werror.patch
"
|