summaryrefslogtreecommitdiff
path: root/archlinuxaba/bacula/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'archlinuxaba/bacula/PKGBUILD')
-rw-r--r--archlinuxaba/bacula/PKGBUILD269
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/"
+}