aports/main/bacula/APKBUILD
2018-04-06 05:19:22 +00:00

178 lines
4.9 KiB
Plaintext

# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=bacula
pkgver=9.0.5
pkgrel=5
pkgdesc="Enterprise ready, network based backup program"
url="http://www.bacula.org"
arch="all"
license="AGPL-3.0"
depends=""
makedepends="autoconf mariadb-connector-c-dev ncurses-dev libressl-dev postgresql-dev
sqlite-dev zlib-dev lzo-dev acl-dev"
install="$pkgname.pre-install $pkgname.post-upgrade"
subpackages="$pkgname-doc $pkgname-mysql $pkgname-pgsql $pkgname-sqlite
$pkgname-client $pkgname-libs"
pkgusers="bacula"
pkggroups="bacula"
somask="libbaccats-$pkgver.so"
source="http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz
bacula-dir.initd
bacula-sd.initd
bacula-fd.initd
bacula-7.4.0-path-mounted.patch
"
options="!check" #no test suite provided
builddir="$srcdir/$pkgname-$pkgver"
_bworkdir="/var/lib/$pkgname"
prepare () {
default_prepare
cd "$builddir"/autoconf
autoconf && cp configure ../
}
build() {
cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc/$pkgname \
--localstatedir=/var \
--mandir=/usr/share/man \
--docdir=/usr/share/doc \
--infodir=/usr/share/info \
--with-pid-dir=/run/$pkgname \
--with-subsys-dir=/run/lock/subsys \
--with-logdir=/var/log/$pkgname \
--enable-largefile \
--enable-smartalloc \
--disable-nls \
--with-openssl=/usr/include/openssl \
--with-postgresql \
--with-mysql \
--with-sqlite3 \
--with-scriptdir=/etc/$pkgname/scripts \
--with-working-dir=$_bworkdir \
--with-dir-user=$pkgname \
--with-dir-group=$pkgname \
--with-archivedir=$_bworkdir/archive \
--with-sd-user=$pkgusers \
--with-sd-group=$pkggroup \
--with-fd-user=root \
--with-fd-group=root \
--with-sbin-perm=0755
make NO_ECHO=
}
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install
local daemon; for daemon in dir sd fd; do
install -Dm755 "$srcdir"/$pkgname-${daemon}.initd \
"$pkgdir"/etc/init.d/$pkgname-${daemon}
done
install -Dm644 examples/sample-query.sql \
"$pkgdir"/etc/$pkgname/scripts/query.sql
# Fix correct log dir
sed -i 's%/var/bacula/log%/var/log/bacula%' \
"$pkgdir"/etc/$pkgname/$pkgname-dir.conf
# Install logrotate script
install -Dm644 scripts/logrotate $pkgdir/etc/logrotate.d/$pkgname
sed -i 's%/var/bacula/log%/var/log/bacula%' \
"$pkgdir"/etc/logrotate.d/$pkgname
# Use shell script for catalog backup instead of perl
sed -i 's/make_catalog_backup.pl/make_catalog_backup/' \
"$pkgdir"/etc/$pkgname/$pkgname-dir.conf
local dir; for dir in $_bworkdir \
/etc/$pkgname/scripts/make_catalog_backup* \
/etc/$pkgname/scripts/mtx-changer* \
/etc/$pkgname/*.conf
do
chown $pkgusers.$pkggroups "$pkgdir"$dir
done
find "$pkgdir"/usr/lib -iname libbaccats* -type l -delete
}
_mv_backend() {
mkdir -p "$subpkgdir"/usr/lib
mkdir -p "$subpkgdir"/etc/$pkgname/scripts
mv "$pkgdir"/usr/lib/libbaccats-${1}-${pkgver}.so \
"$subpkgdir"/usr/lib
ln -s libbaccats-${pkgver}.so "$subpkgdir"/usr/lib/libbaccats.so
ln -s libbaccats-${1}-${pkgver}.so \
"$subpkgdir"/usr/lib/libbaccats-${pkgver}.so
mv "$pkgdir"/etc/$pkgname/scripts/*_${1}_* \
"$subpkgdir"/etc/$pkgname/scripts
}
mysql() {
pkgdesc="Bacula MySQL backend"
depends="$pkgname"
_mv_backend mysql
}
pgsql() {
pkgdesc="Bacula PGSQL backend"
depends="$pkgname"
pkgusers="postgres"
_mv_backend postgresql
local file
for file in create_postgresql_database make_postgresql_tables \
grant_postgresql_privileges
do
chown postgres "$subpkgdir"/etc/$pkgname/scripts/$file
done
}
sqlite() {
pkgdesc="Bacula SQLite backend"
depends="$pkgname"
_mv_backend sqlite3
}
libs() {
pkgdesc="Bacula libraries"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/* "$subpkgdir"/usr/lib
}
client() {
pkgdesc="Bacula client"
mkdir -p "$subpkgdir"/usr/sbin \
"$subpkgdir"/etc/init.d \
"$subpkgdir"/etc/$pkgname
for bin in $pkgname $pkgname-fd bconsole btraceback; do
mv "$pkgdir"/usr/sbin/$bin "$subpkgdir"/usr/sbin
done
mv "$pkgdir"/etc/init.d/$pkgname-fd "$subpkgdir"/etc/init.d
mv "$pkgdir"/etc/$pkgname/$pkgname-fd.conf "$subpkgdir"/etc/$pkgname/
install -d -o $pkgname -g $pkgname "$subpkgdir"/$_bworkdir
}
sha512sums="97a23c701808666833e773106f5618bcce1af90fff299da88e58b23ed04fc7e6bfdf4c231f3724d2186fad7985f5f9d7f6b629d59cea489b2d4d4ce6f041ca63 bacula-9.0.5.tar.gz
e3ea78c7b920ab33c94c715f9375cf8dc52fd963a526827941c3d6de619c999e00f01ac102d3260e4de457de50af146ab014862174b14524862c92e00908f765 bacula-dir.initd
60f174799ad15b0f5ea94bc578d3a58681e45b8306c059c4d7e78bc3c7edfcff95f8a551495d0af5a94dc645e96d1aa36d4c378f0dfd871e38b0c9b64b82da26 bacula-sd.initd
3887a65972f6a82b2b7b93521e534b8347a5ed9da36c9645eb2bf5eb683b6e0e3ee0613b048b7d2ec725e890ec0513afb2197adfd2bf5d91108dce3b23662c07 bacula-fd.initd
2d3757236aacca421261a8866ff04b5b0151538e1462559bd1240119b1bece1d456acbba9fee86dbc6aaec7af2a52eb2c0b7490c5f371b7deb478731c74342ff bacula-7.4.0-path-mounted.patch"