# Contributor: Ɓukasz Jendrysik # Maintainer: Leonardo Arena pkgname=bacula pkgver=7.4.7 pkgrel=3 pkgdesc="Enterprise ready, network based backup program" url="http://www.bacula.org" arch="all" license="AGPL3" depends="" makedepends="autoconf mariadb-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-init bacula-dir-conf bacula-sd-init bacula-sd-conf bacula-fd-init bacula-fd-conf bacula-7.4.0-path-mounted.patch " builddir="$srcdir/$pkgname-$pkgver" prepare () { default_prepare || return 1 cd "$builddir"/autoconf autoconf && cp configure ../ } build() { cd "$builddir" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc/bacula \ --localstatedir=/var \ --mandir=/usr/share/man \ --docdir=/usr/share/doc \ --infodir=/usr/share/info \ --with-pid-dir=/var/run/bacula \ --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 \ || return 1 make NO_ECHO= || return 1 } package() { cd "$builddir" make DESTDIR="$pkgdir" install local daemon; for daemon in dir sd fd; do install -Dm755 "$srcdir"/bacula-${daemon}-init \ "$pkgdir"/etc/init.d/bacula-${daemon} || return 1 install -Dm644 "$srcdir"/bacula-${daemon}-conf \ "$pkgdir"/etc/conf.d/bacula-${daemon} || return 1 done install -Dm644 examples/sample-query.sql \ "$pkgdir"/etc/bacula/scripts/query.sql || return 1 # Fix correct log dir sed -i 's%/var/bacula/log%/var/log/bacula%' \ "$pkgdir"/etc/bacula/bacula-dir.conf || return 1 # Install logrotate script install -Dm644 scripts/logrotate $pkgdir/etc/logrotate.d/bacula || return 1 sed -i 's%/var/bacula/log%/var/log/bacula%' \ "$pkgdir"/etc/logrotate.d/bacula || return 1 # Use shell script for catalog backup instead of perl sed -i 's/make_catalog_backup.pl/make_catalog_backup/' \ "$pkgdir"/etc/bacula/bacula-dir.conf || return 1 local dir 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"/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"/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 || return 1 local file for file in create_postgresql_database make_postgresql_tables \ grant_postgresql_privileges do chown postgres "$subpkgdir"/etc/bacula/scripts/$file || return 1 done } sqlite() { pkgdesc="Bacula SQLite backend" depends="bacula" _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/conf.d \ "$subpkgdir"/etc/init.d for bin in bacula bacula-fd bconsole btraceback; do mv "$pkgdir"/usr/sbin/$bin "$subpkgdir"/usr/sbin done mv "$pkgdir"/etc/conf.d/bacula-fd "$subpkgdir"/etc/conf.d mv "$pkgdir"/etc/init.d/bacula-fd "$subpkgdir"/etc/init.d } sha512sums="2dcffe3f02de8e7dedc11f58aeca58fb95486757579065564753376d3fab7699d7577c189d0d34f8490706d773cd6a95d42ef1f35facb95e6fff10dad085c0d0 bacula-7.4.7.tar.gz 5871fc2342e7ba6d78af85f4a2f96edf6991e305a100202439e1e1b2b9df18e4d5395143b92e36ec4bd78cbc80c780fbab9d7a46c0e5370442ddfe8147fc8724 bacula-dir-init e06e5f8821d4a9a3f40cc8f11feeb5004780b82e2ad5e645f69a0f8faff78d8a8c6e66b36e105619b2a78d6b2f294dedd0e00e9bbf568af201cf299387135fef bacula-dir-conf db7483bbe5da1e5095ba225ac4691c2bc533ca4829c5e104c4818c4cb7e8809a0cfeae28bf3340e7f6e8c17870045e5223e0e00bf63ef61af406cd0a9712418e bacula-sd-init 80f6cf74cc14e722747d92e6e7b073bdf32456d395c6b4b63daa1ddcaf75f3d76d1b9a0e8e2da512e8f82e4d59a4a93cc38117af91d974fe7db644516bdb9909 bacula-sd-conf 327d6bf463f3eb553963308bbc51e43b5c349b6ad772a62397c6e42816d1eb292454c149c6a314bfe130fad78e195ae20ca9a45dc639bbd3839cb16b6b08ebeb bacula-fd-init ff312e8952b31de27f22b257d12b570e151794d985f854ff19bab34363ea974d7583edced6b125518da3ecfe2b2a229b732473958b10484d988fcc8a67a372cc bacula-fd-conf 2d3757236aacca421261a8866ff04b5b0151538e1462559bd1240119b1bece1d456acbba9fee86dbc6aaec7af2a52eb2c0b7490c5f371b7deb478731c74342ff bacula-7.4.0-path-mounted.patch"