aboutsummaryrefslogtreecommitdiffstats
path: root/community/bareos/APKBUILD
blob: c5f105b5b4b5a85ae7787e60d7fe65811612ab1c (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
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=bareos
pkgver=19.2.9
pkgrel=0
pkgdesc="Bareos - Backup Archiving REcovery Open Sourced"
url="http://www.bareos.org"
# FTBFS on mips
arch="all !mips !mips64"
options="!check"
license="AGPL-3.0"
makedepends="cmake gawk
lzo-dev acl-dev gettext-dev
readline-dev ncurses-dev jansson-dev
sqlite-dev postgresql-dev mariadb-connector-c-dev
php7"
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
	detect-alpine.patch
	add-libintl.patch
	nginx-conf.patch
	path-mounted.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 \
		-Dsmartalloc=yes \
		-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="php7 php7-gettext php7-mbstring php7-session php7-ctype php7-openssl php7-json"

	mkdir -p "$subpkgdir"/usr/share
	mv "$pkgdir"/bareos-webui "$subpkgdir"/usr/share/

	mkdir -p "$subpkgdir"/etc
	mv "$pkgdir"/etc/bareos-webui "$subpkgdir"/etc/

	mkdir -p "$subpkgdir"/etc/bareos/bareos-dir.d/console/
	mv "$pkgdir"/etc/bareos/bareos-dir.d/console/admin.conf.example "$subpkgdir"/etc/bareos/bareos-dir.d/console/

	mkdir -p "$subpkgdir"/etc/bareos/bareos-dir.d/profile/
	mv "$pkgdir"/etc/bareos/bareos-dir.d/profile/webui-admin.conf "$subpkgdir"/etc/bareos/bareos-dir.d/profile/
}

_webui_apache2() {
	description="$description (webui apache2 configuration)"
	depends="$pkgname-webui php7-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/conf.d
	cp "$builddir"/webui/install/nginx/bareos-webui.conf "$subpkgdir"/etc/nginx/conf.d/
}


sha512sums="b480a9a8dd459b8af3ab353bc5de2f8d1498d5754416972990add8cc6c8ea40462f6bde01ae92ca23f91c96d8ac2e6daf1dae085de80f021d52c5c87dc9a103e  bareos-19.2.9.tar.gz
eb1e7072b579bf9ae21f2e351d6900abb277db64e373f4760bac8188b82929376e4a196d2c935cefe1ae4cc2c396f2fcba1a25642b26e2f92a0d008fbdc4b5f2  bareos-dir.initd
c770b1d041fafef93d4eb0269ba8d9733e85ef465657fe8dd5d5c68a27ec773cec9c5c582d4a16596d95bbf6dbd3f7194dc9c0d8ed73138e9fb438fba9aa9445  bareos-sd.initd
c6347079dbcef5f4a69ec0c4ecc31803520d715d599d89c6bbfbb3741a86c50d7295c30432889b13ee9c16f2feaa84b1c6ae992cfee6505d569c6493d7e85a5b  bareos-fd.initd
1251d81d142b58bb2f5ab2ea762068fe2273aa5face9dfd314011706e9c2189ecab36b80f76317a595679f164b124cff85623c1ec98cc6997e350b6223f2a524  detect-alpine.patch
9d12f26d77d384ab122fdb133667b17a1e83c748d9fca9ca810c368b8f4f3cb2fc258f7c54628e96a0347e7f996c00f46d89655aad2fee373a61e7433fd783b9  add-libintl.patch
c2fd44d5880b74b24d8001b0798a1a42936347284633b9dd93d604a642c7b15220e5af66cbceb8919263e85b3cfee866cf3f956046ab7cc0d93edce96ad1ecda  nginx-conf.patch
2053eb72bbdb8c02d9ee7dcf387a973e0203485eb85304f1e1513ad501f6738d9fc0bb97596d6d9a1a8c96f6675fd2d2edafc85e961a5bd370b5f22f320c7cbf  path-mounted.patch"