diff options
Diffstat (limited to 'archlinuxaba/bacula/PKGBUILD')
-rw-r--r-- | archlinuxaba/bacula/PKGBUILD | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/archlinuxaba/bacula/PKGBUILD b/archlinuxaba/bacula/PKGBUILD new file mode 100644 index 0000000..7ecdf30 --- /dev/null +++ b/archlinuxaba/bacula/PKGBUILD @@ -0,0 +1,269 @@ +# Maintainer: Marcin (CTRL) Wieczorek <marcin@marcin.co> +# Contributor: Tom Keller <tom@isochrono.us> +# Contributor: Daniel Albers <daniel@lbe.rs> +# Contributor: Steven Haigh <netwiz@crc.id.au> +# Contributor: Georg Altmann <george@george-net.de> +# bacula-fd.service by Christian Hesse <arch@eworm.de> + +pkgbase=bacula +_dir_backends=("${pkgbase}-dir-sqlite3" "${pkgbase}-dir-mariadb" "${pkgbase}-dir-postgresql") +pkgname=("${pkgbase}-common" + "${pkgbase}-console" + "${pkgbase}-fd" + "${pkgbase}-bat" + "${pkgbase}-sd" + "${pkgbase}-dir" + "${_dir_backends[@]}" + "${pkgbase}-dir-mysql") +pkgver=13.0.1 +pkgrel=1 +arch=(x86_64) +pkgdesc="${pkgbase^} - A Network Backup Tool " +url="https://www.${pkgbase}.org" +license=('AGPL3') +makedepends=(sqlite libmariadbclient postgresql-libs qt5-base openssl readline lzo) +install="bacula.install" +source=("https://downloads.sourceforge.net/sourceforge/${pkgbase}/${pkgbase}-${pkgver}.tar.gz"{,.sig} + 'bacula-dir.service' + 'bacula-fd.service' + 'bacula-sd.service' + 'look-for-qt-order.patch') + +sha256sums=('d63848d695ac15c1ccfc117892753314bcb9232a852c40e32cca88c0e918978a' + 'SKIP' + 'd1f06403b3460ad8cb7bd063ec31108d87c77dc58bb8a916229262d2bac4a565' + '072a408b136f27251e9420f801d162e828218306ee74c0c5ba83b24f558e5e39' + 'a5e75ee945479f9e38415d2841cf3485200d9d9374d5a68c19c13b39467ca5bb' + '6d0f8dc08d4d5344525f700ec35ae8306a03c3252b47b8870257cf40c581db76') + +# Bacula 4096 Distribution Verification Key (www.bacula.org) +validpgpkeys=('5235F5B668D81DB61704A82DC0BE2A5FE9DF3643') + +_workdir="/var/lib/${pkgbase}" + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + patch -i "${srcdir}/look-for-qt-order.patch" + + ./configure \ + --enable-bat \ + --enable-smartalloc \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc/${pkgbase} \ + --with-scriptdir=/etc/${pkgbase}/scripts \ + --with-sqlite3 \ + --with-mysql \ + --with-postgresql \ + --with-pid-dir=/run \ + --with-systemd=/usr/lib/systemd/system \ + --with-logdir=/var/log/${pkgbase} \ + --with-working-dir="${_workdir}" \ + --with-openssl=/usr \ + --with-x \ + --enable-readline \ + --disable-conio + + make + make DESTDIR="${srcdir}/install" install + ./libtool --silent --mode=install install \ + src/qt-console/bat src/qt-console/tray-monitor/bacula-tray-monitor \ + "${srcdir}/install/usr/bin" +} + +package_bacula-bat() { + pkgdesc+="(management GUI)" + backup=("etc/${pkgbase}/bat.conf") + depends=("${pkgbase}-common=${pkgver}" qt5-base) + + cd "${srcdir}/install" + cp --parents -a usr/bin/bat "${pkgdir}" + cp --parents -a usr/bin/bacula-tray-monitor "${pkgdir}" + cp --parents -a etc/${pkgbase}/bat.conf "${pkgdir}" + cp --parents -a etc/${pkgbase}/bacula-tray-monitor.conf "${pkgdir}" + cp --parents -a usr/share/man/man1/bat.1.gz "${pkgdir}" + + chmod 755 "${pkgdir}/etc/${pkgbase}" "${pkgdir}/usr/bin/bat" "${pkgdir}/usr/bin/bacula-tray-monitor" + chmod 644 "${pkgdir}/etc/${pkgbase}/bat.conf" "${pkgdir}/etc/${pkgbase}/bacula-tray-monitor.conf" + + mkdir -p "${pkgdir}/usr/share/applications" "${pkgdir}/usr/share/pixmaps" + cp -a "${srcdir}/${pkgbase}-${pkgver}/scripts/bat.desktop" "${pkgdir}/usr/share/applications/" + cp -a "${srcdir}/${pkgbase}-${pkgver}/scripts/bacula-tray-monitor.desktop" "${pkgdir}/usr/share/applications/" + cp -a "${srcdir}/${pkgbase}-${pkgver}/src/qt-console/images/bat_icon.png" "${pkgdir}/usr/share/pixmaps/" +} + +package_bacula-fd() { + pkgdesc+="(file daemon)" + backup=("etc/${pkgbase}/${pkgname}.conf") + depends=("${pkgbase}-common=${pkgver}") + + cd "${srcdir}/install" + cp --parents -a etc/${pkgbase}/${pkgname}.conf "${pkgdir}" + cp --parents -a usr/bin/${pkgname} "${pkgdir}" + cp --parents -a usr/bin/bfdjson "${pkgdir}" + cp --parents -a usr/lib/bpipe-fd.so "${pkgdir}" + cp --parents -a usr/share/man/man8/${pkgname}.8.gz "${pkgdir}" + + mkdir -p "${pkgdir}/usr/lib/systemd/system/" + cp -f "${srcdir}/${pkgbase}-fd.service" "${pkgdir}/usr/lib/systemd/system/" +} + +package_bacula-common() { + pkgdesc+="(common files)" + + cd "${srcdir}/install" + cp --parents -a etc/${pkgbase}/scripts/${pkgbase}_config "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/btraceback.gdb "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/btraceback.dbx "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/btraceback.mdb "${pkgdir}" + cp --parents -a usr/bin/btraceback "${pkgdir}" + cp --parents -a usr/lib/libbac-${pkgver}.so "${pkgdir}" + cp --parents -a usr/lib/libbaccfg-${pkgver}.so "${pkgdir}" + cp --parents -a usr/lib/libbacfind-${pkgver}.so "${pkgdir}" + cp --parents -a usr/share/man/man8/btraceback.8.gz "${pkgdir}" + #cp --parents -a usr/lib/libbacpy-${pkgver}.so "${pkgdir}" + + mkdir -p "${pkgdir}${_workdir}" + mkdir -p "${pkgdir}/var/log/${pkgbase}" +} + +package_bacula-console() { + pkgdesc+="(management CLI)" + backup=("etc/${pkgbase}/bconsole.conf") + depends=("${pkgbase}-common=${pkgver}" readline) + + cd "${srcdir}/install" + cp --parents -a usr/bin/bconsole "${pkgdir}" + cp --parents -a usr/bin/bbconsjson "${pkgdir}" + cp --parents -a etc/${pkgbase}/bconsole.conf "${pkgdir}" + cp --parents -a usr/share/man/man8/bconsole.8.gz "${pkgdir}" + + chmod 755 "${pkgdir}/etc/${pkgbase}" "${pkgdir}/usr/bin/bconsole" + chmod 644 "${pkgdir}/etc/${pkgbase}/bconsole.conf" +} + +package_bacula-dir() { + pkgdesc+="(Director)" + depends=("${pkgbase}-common=${pkgver}") + optdepends=("${pkgname}-sqlite3: SQLite support" + "${pkgname}-mariadb: MariaDB support" + "${pkgname}-postgresql: PostgreSQL support") + backup=("etc/${pkgbase}/${pkgname}.conf") + + cd "${srcdir}/install" + cp --parents -a etc/${pkgbase}/${pkgname}.conf "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/query.sql "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/create_${pkgbase}_database "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/delete_catalog_backup "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/drop_${pkgbase}_database "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/drop_${pkgbase}_tables "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/grant_${pkgbase}_privileges "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/make_${pkgbase}_tables "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/make_catalog_backup.pl "${pkgdir}" + cp --parents -a etc/${pkgbase}/scripts/update_${pkgbase}_tables "${pkgdir}" + cp --parents -a usr/bin/${pkgname} "${pkgdir}" + cp --parents -a usr/bin/bdirjson "${pkgdir}" + cp --parents -a usr/bin/bregex "${pkgdir}" + cp --parents -a usr/bin/bsmtp "${pkgdir}" + cp --parents -a usr/bin/bwild "${pkgdir}" + cp --parents -a usr/bin/dbcheck "${pkgdir}" + cp --parents -a usr/share/man/man1/bsmtp.1.gz "${pkgdir}" + cp --parents -a usr/share/man/man8/${pkgname}.8.gz "${pkgdir}" + cp --parents -a usr/share/man/man8/bregex.8.gz "${pkgdir}" + cp --parents -a usr/share/man/man8/bwild.8.gz "${pkgdir}" + cp --parents -a usr/share/man/man8/dbcheck.8.gz "${pkgdir}" + cp --parents -a usr/lib/libbacsql-${pkgver}.so "${pkgdir}" + + mkdir -p "${pkgdir}/usr/lib/systemd/system/" + cp -f "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/" + + ## Logwatch Support + mkdir -p "${pkgdir}/etc/logwatch/scripts/services/" "${pkgdir}/etc/logwatch/scripts/shared/" + mkdir -p "${pkgdir}/etc/logwatch/conf/logfiles/" "${pkgdir}/etc/logwatch/conf/services/" + cp -a "${srcdir}/${pkgbase}-${pkgver}/scripts/logwatch/${pkgbase}" "${pkgdir}/etc/logwatch/scripts/services/" + cp -a "${srcdir}/${pkgbase}-${pkgver}/scripts/logwatch/applybaculadate" "${pkgdir}/etc/logwatch/scripts/shared/" + cp -a "${srcdir}/${pkgbase}-${pkgver}/scripts/logwatch/logfile.${pkgbase}.conf" "${pkgdir}/etc/logwatch/conf/logfiles/${pkgbase}.conf" + cp -a "${srcdir}/${pkgbase}-${pkgver}/scripts/logwatch/services.${pkgbase}.conf" "${pkgdir}/etc/logwatch/conf/services/${pkgbase}.conf" + + ## Logrotate Support + mkdir -p ${pkgdir}/etc/logrotate.d/ + cp -a ${srcdir}/${pkgbase}-${pkgver}/scripts/logrotate ${pkgdir}/etc/logrotate.d/${pkgbase} +} + +package_bacula-dir-mariadb() { + pkgdesc+="(Director - MariaDB support)" + depends=("${pkgbase}-dir" libmariadbclient) + conflicts=(${_dir_backends[@]/${pkgname}}) + replaces=("${pkgbase}-dir-mysql") + provides=("${pkgbase}-dir-mysql") + + cd "${srcdir}/install" + cp --parents -a usr/lib/libbaccats-mysql-${pkgver}.so "${pkgdir}" + cp --parents -a usr/lib/libbaccats-mysql.so "${pkgdir}" + cp -d usr/lib/libbaccats-mysql.so ${pkgdir}/usr/lib/libbaccats-${pkgver}.so + for file in etc/${pkgbase}/scripts/*mysql*; do + cp --parents -a "${file}" "${pkgdir}" + done +} + +package_bacula-dir-mysql() { + pkgdesc+="(transition package)" + depends=("${pkgbase}-dir-mariadb") +} + +package_bacula-dir-postgresql() { + pkgdesc+="(Director - PostgreSQL support)" + depends=("${pkgbase}-dir" postgresql-libs) + conflicts=(${_dir_backends[@]/${pkgname}}) + + cd "${srcdir}/install" + cp --parents -a usr/lib/libbaccats-postgresql-${pkgver}.so "${pkgdir}" + cp --parents -a usr/lib/libbaccats-postgresql.so "${pkgdir}" + cp -d usr/lib/libbaccats-postgresql.so "${pkgdir}/usr/lib/libbaccats-${pkgver}.so" + for file in etc/${pkgbase}/scripts/*postgresql*; do + cp --parents -a "${file}" "${pkgdir}" + done +} + +package_bacula-dir-sqlite3() { + pkgdesc+="(Director - SQLite3 support)" + depends=("${pkgbase}-dir" sqlite) + conflicts=(${_dir_backends[@]/${pkgname}}) + + cd "${srcdir}/install" + cp --parents -a usr/lib/libbaccats-sqlite3-${pkgver}.so "${pkgdir}" + cp --parents -a usr/lib/libbaccats-sqlite3.so "${pkgdir}" + cp -d usr/lib/libbaccats-sqlite3.so "${pkgdir}/usr/lib/libbaccats-${pkgver}.so" + for file in etc/${pkgbase}/scripts/*sqlite3*; do + cp --parents -a "${file}" "${pkgdir}" + done +} + +package_bacula-sd() { + pkgdesc+="(Storage Daemon)" + backup=("etc/${pkgbase}/${pkgname}.conf") + depends=("${pkgbase}-common") + + cd "${srcdir}/install" + cp --parents -a etc/${pkgbase}/${pkgname}.conf "${pkgdir}" + cp --parents -a usr/bin/${pkgname} "${pkgdir}" + cp --parents -a usr/bin/bextract "${pkgdir}" + cp --parents -a usr/bin/bls "${pkgdir}" + cp --parents -a usr/bin/bcopy "${pkgdir}" + cp --parents -a usr/bin/bscan "${pkgdir}" + cp --parents -a usr/bin/bsdjson "${pkgdir}" + cp --parents -a usr/bin/btape "${pkgdir}" + cp --parents -a usr/lib/libbacsd-${pkgver}.so "${pkgdir}" + cp --parents -a usr/lib/libbacsd.so "${pkgdir}" + cp --parents -a usr/share/man/man8/${pkgname}.8.gz "${pkgdir}" + cp --parents -a usr/share/man/man8/bextract.8.gz "${pkgdir}" + cp --parents -a usr/share/man/man8/bls.8.gz "${pkgdir}" + cp --parents -a usr/share/man/man8/bcopy.8.gz "${pkgdir}" + cp --parents -a usr/share/man/man8/bscan.8.gz "${pkgdir}" + cp --parents -a usr/share/man/man8/btape.8.gz "${pkgdir}" + + chmod +x "${pkgdir}/usr/bin"* + mkdir -p "${pkgdir}${_workdir}" + mkdir -p "${pkgdir}/usr/lib/systemd/system/" + cp -f "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/" +} |