From b24bd25253fe093f722ab576d29fdc41d04cb1ee Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 2 Aug 2019 19:14:55 +0100 Subject: gentoo resync : 02.08.2019 --- app-backup/bacula/Manifest | 10 +- app-backup/bacula/bacula-9.2.2-r1.ebuild | 437 ------------------------------ app-backup/bacula/bacula-9.2.2-r2.ebuild | 437 ++++++++++++++++++++++++++++++ app-backup/bacula/bacula-9.4.1-r1.ebuild | 441 ------------------------------- app-backup/bacula/bacula-9.4.1-r2.ebuild | 441 +++++++++++++++++++++++++++++++ app-backup/bacula/bacula-9.4.2-r1.ebuild | 438 ++++++++++++++++++++++++++++++ app-backup/bacula/bacula-9.4.2.ebuild | 438 ------------------------------ app-backup/bacula/bacula-9.4.3-r1.ebuild | 438 ++++++++++++++++++++++++++++++ app-backup/bacula/bacula-9.4.3.ebuild | 438 ------------------------------ app-backup/bacula/bacula-9.4.4-r1.ebuild | 438 ++++++++++++++++++++++++++++++ app-backup/bacula/bacula-9.4.4.ebuild | 438 ------------------------------ 11 files changed, 2197 insertions(+), 2197 deletions(-) delete mode 100644 app-backup/bacula/bacula-9.2.2-r1.ebuild create mode 100644 app-backup/bacula/bacula-9.2.2-r2.ebuild delete mode 100644 app-backup/bacula/bacula-9.4.1-r1.ebuild create mode 100644 app-backup/bacula/bacula-9.4.1-r2.ebuild create mode 100644 app-backup/bacula/bacula-9.4.2-r1.ebuild delete mode 100644 app-backup/bacula/bacula-9.4.2.ebuild create mode 100644 app-backup/bacula/bacula-9.4.3-r1.ebuild delete mode 100644 app-backup/bacula/bacula-9.4.3.ebuild create mode 100644 app-backup/bacula/bacula-9.4.4-r1.ebuild delete mode 100644 app-backup/bacula/bacula-9.4.4.ebuild (limited to 'app-backup/bacula') diff --git a/app-backup/bacula/Manifest b/app-backup/bacula/Manifest index 34e0425e5323..14f4d0a8c72e 100644 --- a/app-backup/bacula/Manifest +++ b/app-backup/bacula/Manifest @@ -36,9 +36,9 @@ DIST bacula-9.4.3.tar.gz 4167892 BLAKE2B 058d51fa62f7a37ccb19d91c33589dd2d2a52ee DIST bacula-9.4.4.tar.gz 4159759 BLAKE2B 29628626a9654369ea1633878c16ff8af48bf568ccd54c140c5b9c1e9df7fb988296f4d6f0119a4904827790f7c8881cd7207c9f4b9355bfbc1395a12f24a9c3 SHA512 f973c9ab8ee9867962645b1a1388b494fd402c990be8128b892e043e16361bff2fc08ec43e2c8c9bebeae9c94afd3fdbc04a610b35f99e7dd054ed1ad2c04b31 EBUILD bacula-5.2.13-r7.ebuild 11664 BLAKE2B 76603fc56fc0143680aa204e614bf66ed64e0502946c28663bc9dbd8d51bcb7ff77d60d74afd82b822cceea10d9c01a59faea6b0dfae437490e4eab2d08df6ec SHA512 29c0993f6a02fdb400d7a3cbcb94410e4ac3d96073ef84ea4fb39845ae1e637511a19ef419b52d10b5757f9d9196238a63c244fa0fb9bf3114e10c9d131931be EBUILD bacula-9.0.8-r1.ebuild 12685 BLAKE2B 23f9d0906008ebb264c5490f43eee05ccd85b590c152015037f281c3af33d31f8cd9b2e30b49b74406032331fbf38037755b9da4f5e18dfa951fb72f4860b368 SHA512 a495f5c3b076f9197435ca903afbab3bf8851a4c291ecf441408d0c231102a0549836bc113b80f092a209dfd7041399832fb14b39fbacbd8723e222c8b40d53e -EBUILD bacula-9.2.2-r1.ebuild 12670 BLAKE2B a8c95b2a8eed0008d640cc5945d1f0ed735225e6ad708b91930e8183002876defb6ed992bb004d6d8a5b9f8e11a4ef05ade1b5ed2c5efb6cd1c5a51c2647cbda SHA512 cfa5270dfb41873e2fa625bbac8988784d4c3ad5f44da95edcb91ed57c098b472b8f683c38fbf9c953531e4a142cb22773b5489444df6c6979f7b7692c90b1a7 -EBUILD bacula-9.4.1-r1.ebuild 12788 BLAKE2B 7c4db91d2d226679542a82e5381ade4a4118dc34990932161b8144f60e5a704a966941cab9299d1cd87db9d1f6452fbcb73aca1d4e0119537178bacd1c487797 SHA512 555817ecbd8f685eed263b063bd0a4d5751103fbf8b873094a32194b63d9b238c17a063567fb0a61965793fbf0ab924d1ae38a976a820a305b5a595907bd0d0a -EBUILD bacula-9.4.2.ebuild 12682 BLAKE2B 9edc19e42ab2f0c278135e8816dc4e4cb19566616f5d0a28383d4f30940b93beda567fdb3f4266715441f91d08b73eea8093df3abeb34d2369d00dd92588edd8 SHA512 75a02bab960ffed611c5987c4a3c7232ebcc61db7588e3442fd2e8a58b86aa7879cc8a31eb17d3c6d4f742b89b9bea9f5711b6f1335ca94fdd7c05f3515534c6 -EBUILD bacula-9.4.3.ebuild 12682 BLAKE2B 9edc19e42ab2f0c278135e8816dc4e4cb19566616f5d0a28383d4f30940b93beda567fdb3f4266715441f91d08b73eea8093df3abeb34d2369d00dd92588edd8 SHA512 75a02bab960ffed611c5987c4a3c7232ebcc61db7588e3442fd2e8a58b86aa7879cc8a31eb17d3c6d4f742b89b9bea9f5711b6f1335ca94fdd7c05f3515534c6 -EBUILD bacula-9.4.4.ebuild 12682 BLAKE2B 9edc19e42ab2f0c278135e8816dc4e4cb19566616f5d0a28383d4f30940b93beda567fdb3f4266715441f91d08b73eea8093df3abeb34d2369d00dd92588edd8 SHA512 75a02bab960ffed611c5987c4a3c7232ebcc61db7588e3442fd2e8a58b86aa7879cc8a31eb17d3c6d4f742b89b9bea9f5711b6f1335ca94fdd7c05f3515534c6 +EBUILD bacula-9.2.2-r2.ebuild 12670 BLAKE2B f6e008b2c48d74f3547966676e80dd726d5fdfe3b750c190351c5ca58b039b6eb8d57684d39ab5e450057eb39b5b6b9db3657ec42f3828988eacfeb1c35307c6 SHA512 438f118c0cab03b72a90a413f06b9522b8ecb2e0f12d8e492ef03dbef0c4ba08594cbc3f577587e8896f83916f88b7ca2e4ddcc7de5e296a291d27fd72850ffb +EBUILD bacula-9.4.1-r2.ebuild 12788 BLAKE2B 8efee7d5111147404b45e84e9341f303ba8800c70051c329cf34c4f39f393878330500c650e27a5aecd8aaf1a2eca04b726ca5910483a3e78fb906dc66713dd6 SHA512 2e558a31d87889199cf18f98e5cbe67a7762c07acd01e27f996fb326921ec6b86bf5cc287ec5978ee7ff43660e013b886054edd3355763445bb9ebd2fe1a0ebc +EBUILD bacula-9.4.2-r1.ebuild 12682 BLAKE2B a269fc0b4571ede55639f6c17313c06269528df0813554541721313a1457548dfe318a21d13366471bea07f5e8e30a18aa962edf1e8925f46f55d5df013f1713 SHA512 b982c0dc6787df809229c9cafc35b0cc138e84ff137bf2c40a7ad339a618ac166998d958d4d762fb05763bbfd705b5459f43e9f07a62dd780d8e1baa5a2c38b0 +EBUILD bacula-9.4.3-r1.ebuild 12682 BLAKE2B a269fc0b4571ede55639f6c17313c06269528df0813554541721313a1457548dfe318a21d13366471bea07f5e8e30a18aa962edf1e8925f46f55d5df013f1713 SHA512 b982c0dc6787df809229c9cafc35b0cc138e84ff137bf2c40a7ad339a618ac166998d958d4d762fb05763bbfd705b5459f43e9f07a62dd780d8e1baa5a2c38b0 +EBUILD bacula-9.4.4-r1.ebuild 12682 BLAKE2B a269fc0b4571ede55639f6c17313c06269528df0813554541721313a1457548dfe318a21d13366471bea07f5e8e30a18aa962edf1e8925f46f55d5df013f1713 SHA512 b982c0dc6787df809229c9cafc35b0cc138e84ff137bf2c40a7ad339a618ac166998d958d4d762fb05763bbfd705b5459f43e9f07a62dd780d8e1baa5a2c38b0 MISC metadata.xml 696 BLAKE2B 9a24744f1035e27017f140768b70ab4406e80e1eec452968cfa82e7686876d359ac7a90f9c5998356fc9b4170b9132842d3295877cfa6740d6f1d42e804afbcf SHA512 dcf03b8409574b0e4fb43fefc1f24f7ebc096ff04d79beef0bd31714b233f324bec87387cad8f3eb5c08ab972feae82a32702718aaef39255eec07e6e0352875 diff --git a/app-backup/bacula/bacula-9.2.2-r1.ebuild b/app-backup/bacula/bacula-9.2.2-r1.ebuild deleted file mode 100644 index 6e8635da494b..000000000000 --- a/app-backup/bacula/bacula-9.2.2-r1.ebuild +++ /dev/null @@ -1,437 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit desktop libtool qmake-utils systemd user - -MY_PV=${PV/_beta/-b} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="Featureful client/server network backup suite" -HOMEPAGE="https://www.bacula.org/" -SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" - -DEPEND=" - !bacula-clientonly? ( - !bacula-nodir? ( virtual/mta ) - postgres? ( dev-db/postgresql:=[threads] ) - mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) - sqlite? ( dev-db/sqlite:3 ) - ) - dev-libs/gmp:0 - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - dev-qt/qtsvg:5 - x11-libs/qwt:6 - ) - logwatch? ( sys-apps/logwatch ) - readline? ( sys-libs/readline:0 ) - static? ( - dev-libs/lzo[static-libs] - sys-libs/ncurses:=[static-libs] - sys-libs/zlib[static-libs] - acl? ( virtual/acl[static-libs] ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[static-libs] ) - libressl? ( dev-libs/libressl:0=[static-libs] ) - ) - ) - !static? ( - dev-libs/lzo - sys-libs/ncurses:= - sys-libs/zlib - acl? ( virtual/acl ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) -" -RDEPEND="${DEPEND} - !bacula-clientonly? ( - !bacula-nosd? ( - app-arch/mt-st - sys-block/mtx - ) - ) - vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) -" - -REQUIRED_USE=" - !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) - static? ( bacula-clientonly ) -" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - #XOR and !bacula-clientonly controlled by REQUIRED_USE - use mysql && export mydbtype="mysql" - use postgres && export mydbtype="postgresql" - use sqlite && export mydbtype="sqlite3" - - # create the daemon group and user - if [ -z "$(egetent group bacula 2>/dev/null)" ]; then - enewgroup bacula - einfo - einfo "The group 'bacula' has been created. Any users you add to this" - einfo "group have access to files created by the daemons." - einfo - fi - - if use bacula-clientonly && use static && use qt5; then - ewarn - ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." - ewarn - fi - - if ! use bacula-clientonly; then - if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then - enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw - einfo - einfo "The user 'bacula' has been created. Please see the bacula manual" - einfo "for information about running bacula as a non-root user." - einfo - fi - fi -} - -src_prepare() { - # adjusts default configuration files for several binaries - # to /etc/bacula/ instead of ./ - pushd src >&/dev/null || die - for f in console/console.c dird/dird.c filed/filed.c \ - stored/bcopy.c stored/bextract.c stored/bls.c \ - stored/bscan.c stored/btape.c stored/stored.c \ - qt-console/main.cpp; do - sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ - || die "sed on ${f} failed" - done - popd >&/dev/null || die - - # bug 466688 drop deprecated categories from Desktop file - sed -i -e 's/Application;//' scripts/bat.desktop.in || die - - # bug 466690 Use CXXFLAGS instead of CFLAGS - sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die - - # drop automatic install of unneeded documentation (for bug 356499) - eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch - - # bug #310087 - eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch - - # bug #311161 - eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch - - # bat needs to respect LDFLAGS and CFLAGS - eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch - - # bug #328701 - eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch - - eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch - - # fix soname in libbaccat.so bug #602952 - eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" - - # do not strip binaries - sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die - sed -i -e "s/strip /# strip /" src/console/Makefile.in || die - - # fix file not found error during make depend - eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch - - eapply_user - - # Fix systemd unit files: - # bug 497748 - sed -i -e '/Requires/d' platforms/systemd/*.service.in || die - sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die - # bug 504370 - sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die - # bug 584442 and 504368 - sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die - - # build 'bat' for Qt5 - export QMAKE="$(qt5_get_bindir)"/qmake - - # adapt to >=Qt-5.9 (see bug #644566) - # qmake needs an existing target file to generate install instructions - sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ - src/qt-console/bat.pro.in || die - mkdir src/qt-console/.libs || die - touch src/qt-console/.libs/bat || die - chmod 755 src/qt-console/.libs/bat || die - - # fix wrong handling of libressl version - # needs separate handling for =libressl2.7 - # (see bug #655520) - if has_version "&/dev/null || die - emake DESTDIR="${D}" install - popd >&/dev/null || die - fi - fi - - if ! use qt5; then - rm -vf "${D}"/usr/share/man/man1/bat.1* - fi - rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* - - if use bacula-clientonly || use bacula-nodir ; then - rm -vf "${D}"/usr/libexec/bacula/create_*_database - rm -vf "${D}"/usr/libexec/bacula/drop_*_database - rm -vf "${D}"/usr/libexec/bacula/make_*_tables - rm -vf "${D}"/usr/libexec/bacula/update_*_tables - rm -vf "${D}"/usr/libexec/bacula/drop_*_tables - rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges - rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup - fi - if use bacula-clientonly || use bacula-nosd; then - rm -vf "${D}"/usr/libexec/bacula/disk-changer - rm -vf "${D}"/usr/libexec/bacula/mtx-changer - rm -vf "${D}"/usr/libexec/bacula/dvd-handler - fi - - # documentation - dodoc ChangeLog ReleaseNotes SUPPORT - - # Install all man pages - doman "${S}"/manpages/* - - # install examples (bug #457504) - if use examples; then - docinto examples/ - dodoc -r examples/* - fi - - # vim-files - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax - doins scripts/bacula.vim - insinto /usr/share/vim/vimfiles/ftdetect - newins scripts/filetype.vim bacula_ft.vim - fi - - # setup init scripts - myscripts="bacula-fd" - if ! use bacula-clientonly; then - if ! use bacula-nodir; then - myscripts="${myscripts} bacula-dir" - fi - if ! use bacula-nosd; then - myscripts="${myscripts} bacula-sd" - fi - fi - for script in ${myscripts}; do - # copy over init script and config to a temporary location - # so we can modify them as needed - cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" - cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" - - # now set the database dependancy for the director init script - case "${script}" in - bacula-dir) - case "${mydbtype}" in - sqlite3) - # sqlite databases don't have a daemon - sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die - ;; - *) - # all other databases have daemons - sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die - ;; - esac - ;; - *) - ;; - esac - - # install init script and config - newinitd "${T}/${script}".initd "${script}" - newconfd "${T}/${script}".confd "${script}" - done - - systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service - - # make sure the working directory exists - diropts -m0750 - keepdir /var/lib/bacula - - # make sure bacula group can execute bacula libexec scripts - fowners -R root:bacula /usr/libexec/bacula -} - -pkg_postinst() { - if use bacula-clientonly; then - fowners root:bacula /var/lib/bacula - else - fowners bacula:bacula /var/lib/bacula - fi - - if ! use bacula-clientonly && ! use bacula-nodir; then - einfo - einfo "If this is a new install, you must create the ${mydbtype} databases with:" - einfo " /usr/libexec/bacula/create_${mydbtype}_database" - einfo " /usr/libexec/bacula/make_${mydbtype}_tables" - einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" - einfo - - ewarn "ATTENTION!" - ewarn "The format of the database may have changed." - ewarn "If you just upgraded from a version below 9.0.0 you must run" - ewarn "'update_bacula_tables' now." - ewarn "Make sure to have a backup of your catalog before." - ewarn - fi - - if use sqlite; then - einfo - einfo "Be aware that Bacula does not officially support SQLite database anymore." - einfo "Best use it only for a client-only installation. See Bug #445540." - einfo - fi - - einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" - einfo "you have to enable 'USE=qt5'." - einfo - einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" - einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." -} diff --git a/app-backup/bacula/bacula-9.2.2-r2.ebuild b/app-backup/bacula/bacula-9.2.2-r2.ebuild new file mode 100644 index 000000000000..ebf161bc4085 --- /dev/null +++ b/app-backup/bacula/bacula-9.2.2-r2.ebuild @@ -0,0 +1,437 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop libtool qmake-utils systemd user + +MY_PV=${PV/_beta/-b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Featureful client/server network backup suite" +HOMEPAGE="https://www.bacula.org/" +SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" + +DEPEND=" + !bacula-clientonly? ( + !bacula-nodir? ( virtual/mta ) + postgres? ( dev-db/postgresql:=[threads] ) + mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) + sqlite? ( dev-db/sqlite:3 ) + ) + dev-libs/gmp:0 + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtsvg:5 + x11-libs/qwt:6 + ) + logwatch? ( sys-apps/logwatch ) + readline? ( sys-libs/readline:0 ) + static? ( + dev-libs/lzo[static-libs] + sys-libs/ncurses:=[static-libs] + sys-libs/zlib[static-libs] + acl? ( virtual/acl[static-libs] ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[static-libs] ) + libressl? ( dev-libs/libressl:0=[static-libs] ) + ) + ) + !static? ( + dev-libs/lzo + sys-libs/ncurses:= + sys-libs/zlib + acl? ( virtual/acl ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) +" +RDEPEND="${DEPEND} + !bacula-clientonly? ( + !bacula-nosd? ( + app-arch/mt-st + sys-block/mtx + ) + ) + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) +" + +REQUIRED_USE=" + !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) + static? ( bacula-clientonly ) +" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + #XOR and !bacula-clientonly controlled by REQUIRED_USE + use mysql && export mydbtype="mysql" + use postgres && export mydbtype="postgresql" + use sqlite && export mydbtype="sqlite3" + + # create the daemon group and user + if [ -z "$(egetent group bacula 2>/dev/null)" ]; then + enewgroup bacula + einfo + einfo "The group 'bacula' has been created. Any users you add to this" + einfo "group have access to files created by the daemons." + einfo + fi + + if use bacula-clientonly && use static && use qt5; then + ewarn + ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." + ewarn + fi + + if ! use bacula-clientonly; then + if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then + enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw + einfo + einfo "The user 'bacula' has been created. Please see the bacula manual" + einfo "for information about running bacula as a non-root user." + einfo + fi + fi +} + +src_prepare() { + # adjusts default configuration files for several binaries + # to /etc/bacula/ instead of ./ + pushd src >&/dev/null || die + for f in console/console.c dird/dird.c filed/filed.c \ + stored/bcopy.c stored/bextract.c stored/bls.c \ + stored/bscan.c stored/btape.c stored/stored.c \ + qt-console/main.cpp; do + sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ + || die "sed on ${f} failed" + done + popd >&/dev/null || die + + # bug 466688 drop deprecated categories from Desktop file + sed -i -e 's/Application;//' scripts/bat.desktop.in || die + + # bug 466690 Use CXXFLAGS instead of CFLAGS + sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die + + # drop automatic install of unneeded documentation (for bug 356499) + eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch + + # bug #310087 + eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch + + # bug #311161 + eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch + + # bat needs to respect LDFLAGS and CFLAGS + eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch + + # bug #328701 + eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch + + eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch + + # fix soname in libbaccat.so bug #602952 + eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" + + # do not strip binaries + sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die + sed -i -e "s/strip /# strip /" src/console/Makefile.in || die + + # fix file not found error during make depend + eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch + + eapply_user + + # Fix systemd unit files: + # bug 497748 + sed -i -e '/Requires/d' platforms/systemd/*.service.in || die + sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die + # bug 504370 + sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die + # bug 584442 and 504368 + sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die + + # build 'bat' for Qt5 + export QMAKE="$(qt5_get_bindir)"/qmake + + # adapt to >=Qt-5.9 (see bug #644566) + # qmake needs an existing target file to generate install instructions + sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ + src/qt-console/bat.pro.in || die + mkdir src/qt-console/.libs || die + touch src/qt-console/.libs/bat || die + chmod 755 src/qt-console/.libs/bat || die + + # fix wrong handling of libressl version + # needs separate handling for =libressl2.7 + # (see bug #655520) + if has_version "&/dev/null || die + emake DESTDIR="${D}" install + popd >&/dev/null || die + fi + fi + + # Install all man pages + doman "${S}"/manpages/* + + if ! use qt5; then + rm -vf "${D}"/usr/share/man/man1/bat.1* + fi + rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* + + if use bacula-clientonly || use bacula-nodir ; then + rm -vf "${D}"/usr/libexec/bacula/create_*_database + rm -vf "${D}"/usr/libexec/bacula/drop_*_database + rm -vf "${D}"/usr/libexec/bacula/make_*_tables + rm -vf "${D}"/usr/libexec/bacula/update_*_tables + rm -vf "${D}"/usr/libexec/bacula/drop_*_tables + rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges + rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup + fi + if use bacula-clientonly || use bacula-nosd; then + rm -vf "${D}"/usr/libexec/bacula/disk-changer + rm -vf "${D}"/usr/libexec/bacula/mtx-changer + rm -vf "${D}"/usr/libexec/bacula/dvd-handler + fi + + # documentation + dodoc ChangeLog ReleaseNotes SUPPORT + + # install examples (bug #457504) + if use examples; then + docinto examples/ + dodoc -r examples/* + fi + + # vim-files + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/syntax + doins scripts/bacula.vim + insinto /usr/share/vim/vimfiles/ftdetect + newins scripts/filetype.vim bacula_ft.vim + fi + + # setup init scripts + myscripts="bacula-fd" + if ! use bacula-clientonly; then + if ! use bacula-nodir; then + myscripts="${myscripts} bacula-dir" + fi + if ! use bacula-nosd; then + myscripts="${myscripts} bacula-sd" + fi + fi + for script in ${myscripts}; do + # copy over init script and config to a temporary location + # so we can modify them as needed + cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" + cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" + + # now set the database dependancy for the director init script + case "${script}" in + bacula-dir) + case "${mydbtype}" in + sqlite3) + # sqlite databases don't have a daemon + sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die + ;; + *) + # all other databases have daemons + sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die + ;; + esac + ;; + *) + ;; + esac + + # install init script and config + newinitd "${T}/${script}".initd "${script}" + newconfd "${T}/${script}".confd "${script}" + done + + systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service + + # make sure the working directory exists + diropts -m0750 + keepdir /var/lib/bacula + + # make sure bacula group can execute bacula libexec scripts + fowners -R root:bacula /usr/libexec/bacula +} + +pkg_postinst() { + if use bacula-clientonly; then + fowners root:bacula /var/lib/bacula + else + fowners bacula:bacula /var/lib/bacula + fi + + if ! use bacula-clientonly && ! use bacula-nodir; then + einfo + einfo "If this is a new install, you must create the ${mydbtype} databases with:" + einfo " /usr/libexec/bacula/create_${mydbtype}_database" + einfo " /usr/libexec/bacula/make_${mydbtype}_tables" + einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" + einfo + + ewarn "ATTENTION!" + ewarn "The format of the database may have changed." + ewarn "If you just upgraded from a version below 9.0.0 you must run" + ewarn "'update_bacula_tables' now." + ewarn "Make sure to have a backup of your catalog before." + ewarn + fi + + if use sqlite; then + einfo + einfo "Be aware that Bacula does not officially support SQLite database anymore." + einfo "Best use it only for a client-only installation. See Bug #445540." + einfo + fi + + einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" + einfo "you have to enable 'USE=qt5'." + einfo + einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" + einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." +} diff --git a/app-backup/bacula/bacula-9.4.1-r1.ebuild b/app-backup/bacula/bacula-9.4.1-r1.ebuild deleted file mode 100644 index 750f5bddbfa8..000000000000 --- a/app-backup/bacula/bacula-9.4.1-r1.ebuild +++ /dev/null @@ -1,441 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit desktop libtool qmake-utils systemd user - -MY_PV=${PV/_beta/-b} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="Featureful client/server network backup suite" -HOMEPAGE="https://www.bacula.org/" -SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" - -DEPEND=" - !bacula-clientonly? ( - !bacula-nodir? ( virtual/mta ) - postgres? ( dev-db/postgresql:=[threads] ) - mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) - sqlite? ( dev-db/sqlite:3 ) - ) - dev-libs/gmp:0 - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - dev-qt/qtsvg:5 - x11-libs/qwt:6 - ) - logwatch? ( sys-apps/logwatch ) - readline? ( sys-libs/readline:0 ) - static? ( - dev-libs/lzo[static-libs] - sys-libs/ncurses:=[static-libs] - sys-libs/zlib[static-libs] - acl? ( virtual/acl[static-libs] ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[static-libs] ) - libressl? ( dev-libs/libressl:0=[static-libs] ) - ) - ) - !static? ( - dev-libs/lzo - sys-libs/ncurses:= - sys-libs/zlib - acl? ( virtual/acl ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) -" -RDEPEND="${DEPEND} - !bacula-clientonly? ( - !bacula-nosd? ( - app-arch/mt-st - sys-block/mtx - ) - ) - vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) -" - -REQUIRED_USE=" - !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) - static? ( bacula-clientonly ) -" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - #XOR and !bacula-clientonly controlled by REQUIRED_USE - use mysql && export mydbtype="mysql" - use postgres && export mydbtype="postgresql" - use sqlite && export mydbtype="sqlite3" - - # create the daemon group and user - if [ -z "$(egetent group bacula 2>/dev/null)" ]; then - enewgroup bacula - einfo - einfo "The group 'bacula' has been created. Any users you add to this" - einfo "group have access to files created by the daemons." - einfo - fi - - if use bacula-clientonly && use static && use qt5; then - ewarn - ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." - ewarn - fi - - if ! use bacula-clientonly; then - if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then - enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw - einfo - einfo "The user 'bacula' has been created. Please see the bacula manual" - einfo "for information about running bacula as a non-root user." - einfo - fi - fi -} - -src_prepare() { - # adjusts default configuration files for several binaries - # to /etc/bacula/ instead of ./ - pushd src >&/dev/null || die - for f in console/console.c dird/dird.c filed/filed.c \ - stored/bcopy.c stored/bextract.c stored/bls.c \ - stored/bscan.c stored/btape.c stored/stored.c \ - qt-console/main.cpp; do - sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ - || die "sed on ${f} failed" - done - popd >&/dev/null || die - - # bug 466688 drop deprecated categories from Desktop file - sed -i -e 's/Application;//' scripts/bat.desktop.in || die - - # bug 466690 Use CXXFLAGS instead of CFLAGS - sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die - - # drop automatic install of unneeded documentation (for bug 356499) - eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch - - # bug #310087 - eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch - - # bug #311161 - eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch - - # bat needs to respect LDFLAGS and CFLAGS - eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch - - # bug #328701 - eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch - - eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch - - # fix soname in libbaccat.so bug #602952 - eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" - - # do not strip binaries - sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die - sed -i -e "s/strip /# strip /" src/console/Makefile.in || die - - # fix file not found error during make depend - eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch - - eapply_user - - # Fix systemd unit files: - # bug 497748 - sed -i -e '/Requires/d' platforms/systemd/*.service.in || die - sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die - # bug 504370 - sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die - # bug 584442 and 504368 - sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die - - # build 'bat' for Qt5 - export QMAKE="$(qt5_get_bindir)"/qmake - - # adapt to >=Qt-5.9 (see bug #644566) - # qmake needs an existing target file to generate install instructions - sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ - src/qt-console/bat.pro.in || die - mkdir src/qt-console/.libs || die - touch src/qt-console/.libs/bat || die - chmod 755 src/qt-console/.libs/bat || die - - # fix handling of libressl version - # needs separate handling for =libressl2.7 - # (see bug #655520) - if has_version "&/dev/null || die - emake DESTDIR="${D}" install - popd >&/dev/null || die - fi - fi - - if ! use qt5; then - rm -vf "${D}"/usr/share/man/man1/bat.1* - fi - rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* - - if use bacula-clientonly || use bacula-nodir ; then - rm -vf "${D}"/usr/libexec/bacula/create_*_database - rm -vf "${D}"/usr/libexec/bacula/drop_*_database - rm -vf "${D}"/usr/libexec/bacula/make_*_tables - rm -vf "${D}"/usr/libexec/bacula/update_*_tables - rm -vf "${D}"/usr/libexec/bacula/drop_*_tables - rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges - rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup - fi - if use bacula-clientonly || use bacula-nosd; then - rm -vf "${D}"/usr/libexec/bacula/disk-changer - rm -vf "${D}"/usr/libexec/bacula/mtx-changer - rm -vf "${D}"/usr/libexec/bacula/dvd-handler - fi - - # documentation - dodoc ChangeLog ReleaseNotes SUPPORT - - # Install all man pages - doman "${S}"/manpages/* - - # install examples (bug #457504) - if use examples; then - docinto examples/ - dodoc -r examples/* - fi - - # vim-files - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax - doins scripts/bacula.vim - insinto /usr/share/vim/vimfiles/ftdetect - newins scripts/filetype.vim bacula_ft.vim - fi - - # setup init scripts - myscripts="bacula-fd" - if ! use bacula-clientonly; then - if ! use bacula-nodir; then - myscripts="${myscripts} bacula-dir" - fi - if ! use bacula-nosd; then - myscripts="${myscripts} bacula-sd" - fi - fi - for script in ${myscripts}; do - # copy over init script and config to a temporary location - # so we can modify them as needed - cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" - cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" - - # now set the database dependancy for the director init script - case "${script}" in - bacula-dir) - case "${mydbtype}" in - sqlite3) - # sqlite databases don't have a daemon - sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die - ;; - *) - # all other databases have daemons - sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die - ;; - esac - ;; - *) - ;; - esac - - # install init script and config - newinitd "${T}/${script}".initd "${script}" - newconfd "${T}/${script}".confd "${script}" - done - - systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service - - # make sure the working directory exists - diropts -m0750 - keepdir /var/lib/bacula - - # make sure bacula group can execute bacula libexec scripts - fowners -R root:bacula /usr/libexec/bacula -} - -pkg_postinst() { - if use bacula-clientonly; then - fowners root:bacula /var/lib/bacula - else - fowners bacula:bacula /var/lib/bacula - fi - - if ! use bacula-clientonly && ! use bacula-nodir; then - einfo - einfo "If this is a new install, you must create the ${mydbtype} databases with:" - einfo " /usr/libexec/bacula/create_${mydbtype}_database" - einfo " /usr/libexec/bacula/make_${mydbtype}_tables" - einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" - einfo - - ewarn "ATTENTION!" - ewarn "The format of the database may have changed." - ewarn "If you just upgraded from a version below 9.0.0 you must run" - ewarn "'update_bacula_tables' now." - ewarn "Make sure to have a backup of your catalog before." - ewarn - fi - - if use sqlite; then - einfo - einfo "Be aware that Bacula does not officially support SQLite database anymore." - einfo "Best use it only for a client-only installation. See Bug #445540." - einfo - fi - - einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" - einfo "you have to enable 'USE=qt5'." - einfo - einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" - einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." -} diff --git a/app-backup/bacula/bacula-9.4.1-r2.ebuild b/app-backup/bacula/bacula-9.4.1-r2.ebuild new file mode 100644 index 000000000000..371d229b4fd6 --- /dev/null +++ b/app-backup/bacula/bacula-9.4.1-r2.ebuild @@ -0,0 +1,441 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop libtool qmake-utils systemd user + +MY_PV=${PV/_beta/-b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Featureful client/server network backup suite" +HOMEPAGE="https://www.bacula.org/" +SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" + +DEPEND=" + !bacula-clientonly? ( + !bacula-nodir? ( virtual/mta ) + postgres? ( dev-db/postgresql:=[threads] ) + mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) + sqlite? ( dev-db/sqlite:3 ) + ) + dev-libs/gmp:0 + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtsvg:5 + x11-libs/qwt:6 + ) + logwatch? ( sys-apps/logwatch ) + readline? ( sys-libs/readline:0 ) + static? ( + dev-libs/lzo[static-libs] + sys-libs/ncurses:=[static-libs] + sys-libs/zlib[static-libs] + acl? ( virtual/acl[static-libs] ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[static-libs] ) + libressl? ( dev-libs/libressl:0=[static-libs] ) + ) + ) + !static? ( + dev-libs/lzo + sys-libs/ncurses:= + sys-libs/zlib + acl? ( virtual/acl ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) +" +RDEPEND="${DEPEND} + !bacula-clientonly? ( + !bacula-nosd? ( + app-arch/mt-st + sys-block/mtx + ) + ) + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) +" + +REQUIRED_USE=" + !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) + static? ( bacula-clientonly ) +" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + #XOR and !bacula-clientonly controlled by REQUIRED_USE + use mysql && export mydbtype="mysql" + use postgres && export mydbtype="postgresql" + use sqlite && export mydbtype="sqlite3" + + # create the daemon group and user + if [ -z "$(egetent group bacula 2>/dev/null)" ]; then + enewgroup bacula + einfo + einfo "The group 'bacula' has been created. Any users you add to this" + einfo "group have access to files created by the daemons." + einfo + fi + + if use bacula-clientonly && use static && use qt5; then + ewarn + ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." + ewarn + fi + + if ! use bacula-clientonly; then + if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then + enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw + einfo + einfo "The user 'bacula' has been created. Please see the bacula manual" + einfo "for information about running bacula as a non-root user." + einfo + fi + fi +} + +src_prepare() { + # adjusts default configuration files for several binaries + # to /etc/bacula/ instead of ./ + pushd src >&/dev/null || die + for f in console/console.c dird/dird.c filed/filed.c \ + stored/bcopy.c stored/bextract.c stored/bls.c \ + stored/bscan.c stored/btape.c stored/stored.c \ + qt-console/main.cpp; do + sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ + || die "sed on ${f} failed" + done + popd >&/dev/null || die + + # bug 466688 drop deprecated categories from Desktop file + sed -i -e 's/Application;//' scripts/bat.desktop.in || die + + # bug 466690 Use CXXFLAGS instead of CFLAGS + sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die + + # drop automatic install of unneeded documentation (for bug 356499) + eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch + + # bug #310087 + eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch + + # bug #311161 + eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch + + # bat needs to respect LDFLAGS and CFLAGS + eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch + + # bug #328701 + eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch + + eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch + + # fix soname in libbaccat.so bug #602952 + eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" + + # do not strip binaries + sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die + sed -i -e "s/strip /# strip /" src/console/Makefile.in || die + + # fix file not found error during make depend + eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch + + eapply_user + + # Fix systemd unit files: + # bug 497748 + sed -i -e '/Requires/d' platforms/systemd/*.service.in || die + sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die + # bug 504370 + sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die + # bug 584442 and 504368 + sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die + + # build 'bat' for Qt5 + export QMAKE="$(qt5_get_bindir)"/qmake + + # adapt to >=Qt-5.9 (see bug #644566) + # qmake needs an existing target file to generate install instructions + sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ + src/qt-console/bat.pro.in || die + mkdir src/qt-console/.libs || die + touch src/qt-console/.libs/bat || die + chmod 755 src/qt-console/.libs/bat || die + + # fix handling of libressl version + # needs separate handling for =libressl2.7 + # (see bug #655520) + if has_version "&/dev/null || die + emake DESTDIR="${D}" install + popd >&/dev/null || die + fi + fi + + # Install all man pages + doman "${S}"/manpages/* + + if ! use qt5; then + rm -vf "${D}"/usr/share/man/man1/bat.1* + fi + rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* + + if use bacula-clientonly || use bacula-nodir ; then + rm -vf "${D}"/usr/libexec/bacula/create_*_database + rm -vf "${D}"/usr/libexec/bacula/drop_*_database + rm -vf "${D}"/usr/libexec/bacula/make_*_tables + rm -vf "${D}"/usr/libexec/bacula/update_*_tables + rm -vf "${D}"/usr/libexec/bacula/drop_*_tables + rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges + rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup + fi + if use bacula-clientonly || use bacula-nosd; then + rm -vf "${D}"/usr/libexec/bacula/disk-changer + rm -vf "${D}"/usr/libexec/bacula/mtx-changer + rm -vf "${D}"/usr/libexec/bacula/dvd-handler + fi + + # documentation + dodoc ChangeLog ReleaseNotes SUPPORT + + # install examples (bug #457504) + if use examples; then + docinto examples/ + dodoc -r examples/* + fi + + # vim-files + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/syntax + doins scripts/bacula.vim + insinto /usr/share/vim/vimfiles/ftdetect + newins scripts/filetype.vim bacula_ft.vim + fi + + # setup init scripts + myscripts="bacula-fd" + if ! use bacula-clientonly; then + if ! use bacula-nodir; then + myscripts="${myscripts} bacula-dir" + fi + if ! use bacula-nosd; then + myscripts="${myscripts} bacula-sd" + fi + fi + for script in ${myscripts}; do + # copy over init script and config to a temporary location + # so we can modify them as needed + cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" + cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" + + # now set the database dependancy for the director init script + case "${script}" in + bacula-dir) + case "${mydbtype}" in + sqlite3) + # sqlite databases don't have a daemon + sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die + ;; + *) + # all other databases have daemons + sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die + ;; + esac + ;; + *) + ;; + esac + + # install init script and config + newinitd "${T}/${script}".initd "${script}" + newconfd "${T}/${script}".confd "${script}" + done + + systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service + + # make sure the working directory exists + diropts -m0750 + keepdir /var/lib/bacula + + # make sure bacula group can execute bacula libexec scripts + fowners -R root:bacula /usr/libexec/bacula +} + +pkg_postinst() { + if use bacula-clientonly; then + fowners root:bacula /var/lib/bacula + else + fowners bacula:bacula /var/lib/bacula + fi + + if ! use bacula-clientonly && ! use bacula-nodir; then + einfo + einfo "If this is a new install, you must create the ${mydbtype} databases with:" + einfo " /usr/libexec/bacula/create_${mydbtype}_database" + einfo " /usr/libexec/bacula/make_${mydbtype}_tables" + einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" + einfo + + ewarn "ATTENTION!" + ewarn "The format of the database may have changed." + ewarn "If you just upgraded from a version below 9.0.0 you must run" + ewarn "'update_bacula_tables' now." + ewarn "Make sure to have a backup of your catalog before." + ewarn + fi + + if use sqlite; then + einfo + einfo "Be aware that Bacula does not officially support SQLite database anymore." + einfo "Best use it only for a client-only installation. See Bug #445540." + einfo + fi + + einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" + einfo "you have to enable 'USE=qt5'." + einfo + einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" + einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." +} diff --git a/app-backup/bacula/bacula-9.4.2-r1.ebuild b/app-backup/bacula/bacula-9.4.2-r1.ebuild new file mode 100644 index 000000000000..0d8fb9502665 --- /dev/null +++ b/app-backup/bacula/bacula-9.4.2-r1.ebuild @@ -0,0 +1,438 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop libtool qmake-utils systemd user + +MY_PV=${PV/_beta/-b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Featureful client/server network backup suite" +HOMEPAGE="https://www.bacula.org/" +SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" + +DEPEND=" + !bacula-clientonly? ( + !bacula-nodir? ( virtual/mta ) + postgres? ( dev-db/postgresql:=[threads] ) + mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) + sqlite? ( dev-db/sqlite:3 ) + ) + dev-libs/gmp:0 + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtsvg:5 + x11-libs/qwt:6 + ) + logwatch? ( sys-apps/logwatch ) + readline? ( sys-libs/readline:0 ) + static? ( + dev-libs/lzo[static-libs] + sys-libs/ncurses:=[static-libs] + sys-libs/zlib[static-libs] + acl? ( virtual/acl[static-libs] ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[static-libs] ) + libressl? ( dev-libs/libressl:0=[static-libs] ) + ) + ) + !static? ( + dev-libs/lzo + sys-libs/ncurses:= + sys-libs/zlib + acl? ( virtual/acl ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) +" +RDEPEND="${DEPEND} + !bacula-clientonly? ( + !bacula-nosd? ( + app-arch/mt-st + sys-block/mtx + ) + ) + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) +" + +REQUIRED_USE=" + !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) + static? ( bacula-clientonly ) +" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + #XOR and !bacula-clientonly controlled by REQUIRED_USE + use mysql && export mydbtype="mysql" + use postgres && export mydbtype="postgresql" + use sqlite && export mydbtype="sqlite3" + + # create the daemon group and user + if [ -z "$(egetent group bacula 2>/dev/null)" ]; then + enewgroup bacula + einfo + einfo "The group 'bacula' has been created. Any users you add to this" + einfo "group have access to files created by the daemons." + einfo + fi + + if use bacula-clientonly && use static && use qt5; then + ewarn + ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." + ewarn + fi + + if ! use bacula-clientonly; then + if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then + enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw + einfo + einfo "The user 'bacula' has been created. Please see the bacula manual" + einfo "for information about running bacula as a non-root user." + einfo + fi + fi +} + +src_prepare() { + # adjusts default configuration files for several binaries + # to /etc/bacula/ instead of ./ + pushd src >&/dev/null || die + for f in console/console.c dird/dird.c filed/filed.c \ + stored/bcopy.c stored/bextract.c stored/bls.c \ + stored/bscan.c stored/btape.c stored/stored.c \ + qt-console/main.cpp; do + sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ + || die "sed on ${f} failed" + done + popd >&/dev/null || die + + # bug 466688 drop deprecated categories from Desktop file + sed -i -e 's/Application;//' scripts/bat.desktop.in || die + + # bug 466690 Use CXXFLAGS instead of CFLAGS + sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die + + # drop automatic install of unneeded documentation (for bug 356499) + eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch + + # bug #310087 + eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch + + # bug #311161 + eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch + + # bat needs to respect LDFLAGS and CFLAGS + eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch + + # bug #328701 + eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch + + eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch + + # fix soname in libbaccat.so bug #602952 + eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" + + # do not strip binaries + sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die + sed -i -e "s/strip /# strip /" src/console/Makefile.in || die + + # fix file not found error during make depend + eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch + + eapply_user + + # Fix systemd unit files: + # bug 497748 + sed -i -e '/Requires/d' platforms/systemd/*.service.in || die + sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die + # bug 504370 + sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die + # bug 584442 and 504368 + sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die + + # build 'bat' for Qt5 + export QMAKE="$(qt5_get_bindir)"/qmake + + # adapt to >=Qt-5.9 (see bug #644566) + # qmake needs an existing target file to generate install instructions + sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ + src/qt-console/bat.pro.in || die + mkdir src/qt-console/.libs || die + touch src/qt-console/.libs/bat || die + chmod 755 src/qt-console/.libs/bat || die + + # fix handling of libressl version + # needs separate handling for =libressl2.7 + # (see bug #655520) + if has_version "&/dev/null || die + emake DESTDIR="${D}" install + popd >&/dev/null || die + fi + fi + + # Install all man pages + doman "${S}"/manpages/* + + if ! use qt5; then + rm -vf "${D}"/usr/share/man/man1/bat.1* + fi + rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* + + if use bacula-clientonly || use bacula-nodir ; then + rm -vf "${D}"/usr/libexec/bacula/create_*_database + rm -vf "${D}"/usr/libexec/bacula/drop_*_database + rm -vf "${D}"/usr/libexec/bacula/make_*_tables + rm -vf "${D}"/usr/libexec/bacula/update_*_tables + rm -vf "${D}"/usr/libexec/bacula/drop_*_tables + rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges + rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup + fi + if use bacula-clientonly || use bacula-nosd; then + rm -vf "${D}"/usr/libexec/bacula/disk-changer + rm -vf "${D}"/usr/libexec/bacula/mtx-changer + rm -vf "${D}"/usr/libexec/bacula/dvd-handler + fi + + # documentation + dodoc ChangeLog ReleaseNotes SUPPORT + + # install examples (bug #457504) + if use examples; then + docinto examples/ + dodoc -r examples/* + fi + + # vim-files + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/syntax + doins scripts/bacula.vim + insinto /usr/share/vim/vimfiles/ftdetect + newins scripts/filetype.vim bacula_ft.vim + fi + + # setup init scripts + myscripts="bacula-fd" + if ! use bacula-clientonly; then + if ! use bacula-nodir; then + myscripts="${myscripts} bacula-dir" + fi + if ! use bacula-nosd; then + myscripts="${myscripts} bacula-sd" + fi + fi + for script in ${myscripts}; do + # copy over init script and config to a temporary location + # so we can modify them as needed + cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" + cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" + + # now set the database dependancy for the director init script + case "${script}" in + bacula-dir) + case "${mydbtype}" in + sqlite3) + # sqlite databases don't have a daemon + sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die + ;; + *) + # all other databases have daemons + sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die + ;; + esac + ;; + *) + ;; + esac + + # install init script and config + newinitd "${T}/${script}".initd "${script}" + newconfd "${T}/${script}".confd "${script}" + done + + systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service + + # make sure the working directory exists + diropts -m0750 + keepdir /var/lib/bacula + + # make sure bacula group can execute bacula libexec scripts + fowners -R root:bacula /usr/libexec/bacula +} + +pkg_postinst() { + if use bacula-clientonly; then + fowners root:bacula /var/lib/bacula + else + fowners bacula:bacula /var/lib/bacula + fi + + if ! use bacula-clientonly && ! use bacula-nodir; then + einfo + einfo "If this is a new install, you must create the ${mydbtype} databases with:" + einfo " /usr/libexec/bacula/create_${mydbtype}_database" + einfo " /usr/libexec/bacula/make_${mydbtype}_tables" + einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" + einfo + + ewarn "ATTENTION!" + ewarn "The format of the database may have changed." + ewarn "If you just upgraded from a version below 9.0.0 you must run" + ewarn "'update_bacula_tables' now." + ewarn "Make sure to have a backup of your catalog before." + ewarn + fi + + if use sqlite; then + einfo + einfo "Be aware that Bacula does not officially support SQLite database anymore." + einfo "Best use it only for a client-only installation. See Bug #445540." + einfo + fi + + einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" + einfo "you have to enable 'USE=qt5'." + einfo + einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" + einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." +} diff --git a/app-backup/bacula/bacula-9.4.2.ebuild b/app-backup/bacula/bacula-9.4.2.ebuild deleted file mode 100644 index 17ec8d24af39..000000000000 --- a/app-backup/bacula/bacula-9.4.2.ebuild +++ /dev/null @@ -1,438 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit desktop libtool qmake-utils systemd user - -MY_PV=${PV/_beta/-b} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="Featureful client/server network backup suite" -HOMEPAGE="https://www.bacula.org/" -SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" - -DEPEND=" - !bacula-clientonly? ( - !bacula-nodir? ( virtual/mta ) - postgres? ( dev-db/postgresql:=[threads] ) - mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) - sqlite? ( dev-db/sqlite:3 ) - ) - dev-libs/gmp:0 - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - dev-qt/qtsvg:5 - x11-libs/qwt:6 - ) - logwatch? ( sys-apps/logwatch ) - readline? ( sys-libs/readline:0 ) - static? ( - dev-libs/lzo[static-libs] - sys-libs/ncurses:=[static-libs] - sys-libs/zlib[static-libs] - acl? ( virtual/acl[static-libs] ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[static-libs] ) - libressl? ( dev-libs/libressl:0=[static-libs] ) - ) - ) - !static? ( - dev-libs/lzo - sys-libs/ncurses:= - sys-libs/zlib - acl? ( virtual/acl ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) -" -RDEPEND="${DEPEND} - !bacula-clientonly? ( - !bacula-nosd? ( - app-arch/mt-st - sys-block/mtx - ) - ) - vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) -" - -REQUIRED_USE=" - !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) - static? ( bacula-clientonly ) -" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - #XOR and !bacula-clientonly controlled by REQUIRED_USE - use mysql && export mydbtype="mysql" - use postgres && export mydbtype="postgresql" - use sqlite && export mydbtype="sqlite3" - - # create the daemon group and user - if [ -z "$(egetent group bacula 2>/dev/null)" ]; then - enewgroup bacula - einfo - einfo "The group 'bacula' has been created. Any users you add to this" - einfo "group have access to files created by the daemons." - einfo - fi - - if use bacula-clientonly && use static && use qt5; then - ewarn - ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." - ewarn - fi - - if ! use bacula-clientonly; then - if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then - enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw - einfo - einfo "The user 'bacula' has been created. Please see the bacula manual" - einfo "for information about running bacula as a non-root user." - einfo - fi - fi -} - -src_prepare() { - # adjusts default configuration files for several binaries - # to /etc/bacula/ instead of ./ - pushd src >&/dev/null || die - for f in console/console.c dird/dird.c filed/filed.c \ - stored/bcopy.c stored/bextract.c stored/bls.c \ - stored/bscan.c stored/btape.c stored/stored.c \ - qt-console/main.cpp; do - sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ - || die "sed on ${f} failed" - done - popd >&/dev/null || die - - # bug 466688 drop deprecated categories from Desktop file - sed -i -e 's/Application;//' scripts/bat.desktop.in || die - - # bug 466690 Use CXXFLAGS instead of CFLAGS - sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die - - # drop automatic install of unneeded documentation (for bug 356499) - eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch - - # bug #310087 - eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch - - # bug #311161 - eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch - - # bat needs to respect LDFLAGS and CFLAGS - eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch - - # bug #328701 - eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch - - eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch - - # fix soname in libbaccat.so bug #602952 - eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" - - # do not strip binaries - sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die - sed -i -e "s/strip /# strip /" src/console/Makefile.in || die - - # fix file not found error during make depend - eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch - - eapply_user - - # Fix systemd unit files: - # bug 497748 - sed -i -e '/Requires/d' platforms/systemd/*.service.in || die - sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die - # bug 504370 - sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die - # bug 584442 and 504368 - sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die - - # build 'bat' for Qt5 - export QMAKE="$(qt5_get_bindir)"/qmake - - # adapt to >=Qt-5.9 (see bug #644566) - # qmake needs an existing target file to generate install instructions - sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ - src/qt-console/bat.pro.in || die - mkdir src/qt-console/.libs || die - touch src/qt-console/.libs/bat || die - chmod 755 src/qt-console/.libs/bat || die - - # fix handling of libressl version - # needs separate handling for =libressl2.7 - # (see bug #655520) - if has_version "&/dev/null || die - emake DESTDIR="${D}" install - popd >&/dev/null || die - fi - fi - - if ! use qt5; then - rm -vf "${D}"/usr/share/man/man1/bat.1* - fi - rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* - - if use bacula-clientonly || use bacula-nodir ; then - rm -vf "${D}"/usr/libexec/bacula/create_*_database - rm -vf "${D}"/usr/libexec/bacula/drop_*_database - rm -vf "${D}"/usr/libexec/bacula/make_*_tables - rm -vf "${D}"/usr/libexec/bacula/update_*_tables - rm -vf "${D}"/usr/libexec/bacula/drop_*_tables - rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges - rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup - fi - if use bacula-clientonly || use bacula-nosd; then - rm -vf "${D}"/usr/libexec/bacula/disk-changer - rm -vf "${D}"/usr/libexec/bacula/mtx-changer - rm -vf "${D}"/usr/libexec/bacula/dvd-handler - fi - - # documentation - dodoc ChangeLog ReleaseNotes SUPPORT - - # Install all man pages - doman "${S}"/manpages/* - - # install examples (bug #457504) - if use examples; then - docinto examples/ - dodoc -r examples/* - fi - - # vim-files - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax - doins scripts/bacula.vim - insinto /usr/share/vim/vimfiles/ftdetect - newins scripts/filetype.vim bacula_ft.vim - fi - - # setup init scripts - myscripts="bacula-fd" - if ! use bacula-clientonly; then - if ! use bacula-nodir; then - myscripts="${myscripts} bacula-dir" - fi - if ! use bacula-nosd; then - myscripts="${myscripts} bacula-sd" - fi - fi - for script in ${myscripts}; do - # copy over init script and config to a temporary location - # so we can modify them as needed - cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" - cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" - - # now set the database dependancy for the director init script - case "${script}" in - bacula-dir) - case "${mydbtype}" in - sqlite3) - # sqlite databases don't have a daemon - sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die - ;; - *) - # all other databases have daemons - sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die - ;; - esac - ;; - *) - ;; - esac - - # install init script and config - newinitd "${T}/${script}".initd "${script}" - newconfd "${T}/${script}".confd "${script}" - done - - systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service - - # make sure the working directory exists - diropts -m0750 - keepdir /var/lib/bacula - - # make sure bacula group can execute bacula libexec scripts - fowners -R root:bacula /usr/libexec/bacula -} - -pkg_postinst() { - if use bacula-clientonly; then - fowners root:bacula /var/lib/bacula - else - fowners bacula:bacula /var/lib/bacula - fi - - if ! use bacula-clientonly && ! use bacula-nodir; then - einfo - einfo "If this is a new install, you must create the ${mydbtype} databases with:" - einfo " /usr/libexec/bacula/create_${mydbtype}_database" - einfo " /usr/libexec/bacula/make_${mydbtype}_tables" - einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" - einfo - - ewarn "ATTENTION!" - ewarn "The format of the database may have changed." - ewarn "If you just upgraded from a version below 9.0.0 you must run" - ewarn "'update_bacula_tables' now." - ewarn "Make sure to have a backup of your catalog before." - ewarn - fi - - if use sqlite; then - einfo - einfo "Be aware that Bacula does not officially support SQLite database anymore." - einfo "Best use it only for a client-only installation. See Bug #445540." - einfo - fi - - einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" - einfo "you have to enable 'USE=qt5'." - einfo - einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" - einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." -} diff --git a/app-backup/bacula/bacula-9.4.3-r1.ebuild b/app-backup/bacula/bacula-9.4.3-r1.ebuild new file mode 100644 index 000000000000..0d8fb9502665 --- /dev/null +++ b/app-backup/bacula/bacula-9.4.3-r1.ebuild @@ -0,0 +1,438 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop libtool qmake-utils systemd user + +MY_PV=${PV/_beta/-b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Featureful client/server network backup suite" +HOMEPAGE="https://www.bacula.org/" +SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" + +DEPEND=" + !bacula-clientonly? ( + !bacula-nodir? ( virtual/mta ) + postgres? ( dev-db/postgresql:=[threads] ) + mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) + sqlite? ( dev-db/sqlite:3 ) + ) + dev-libs/gmp:0 + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtsvg:5 + x11-libs/qwt:6 + ) + logwatch? ( sys-apps/logwatch ) + readline? ( sys-libs/readline:0 ) + static? ( + dev-libs/lzo[static-libs] + sys-libs/ncurses:=[static-libs] + sys-libs/zlib[static-libs] + acl? ( virtual/acl[static-libs] ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[static-libs] ) + libressl? ( dev-libs/libressl:0=[static-libs] ) + ) + ) + !static? ( + dev-libs/lzo + sys-libs/ncurses:= + sys-libs/zlib + acl? ( virtual/acl ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) +" +RDEPEND="${DEPEND} + !bacula-clientonly? ( + !bacula-nosd? ( + app-arch/mt-st + sys-block/mtx + ) + ) + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) +" + +REQUIRED_USE=" + !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) + static? ( bacula-clientonly ) +" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + #XOR and !bacula-clientonly controlled by REQUIRED_USE + use mysql && export mydbtype="mysql" + use postgres && export mydbtype="postgresql" + use sqlite && export mydbtype="sqlite3" + + # create the daemon group and user + if [ -z "$(egetent group bacula 2>/dev/null)" ]; then + enewgroup bacula + einfo + einfo "The group 'bacula' has been created. Any users you add to this" + einfo "group have access to files created by the daemons." + einfo + fi + + if use bacula-clientonly && use static && use qt5; then + ewarn + ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." + ewarn + fi + + if ! use bacula-clientonly; then + if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then + enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw + einfo + einfo "The user 'bacula' has been created. Please see the bacula manual" + einfo "for information about running bacula as a non-root user." + einfo + fi + fi +} + +src_prepare() { + # adjusts default configuration files for several binaries + # to /etc/bacula/ instead of ./ + pushd src >&/dev/null || die + for f in console/console.c dird/dird.c filed/filed.c \ + stored/bcopy.c stored/bextract.c stored/bls.c \ + stored/bscan.c stored/btape.c stored/stored.c \ + qt-console/main.cpp; do + sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ + || die "sed on ${f} failed" + done + popd >&/dev/null || die + + # bug 466688 drop deprecated categories from Desktop file + sed -i -e 's/Application;//' scripts/bat.desktop.in || die + + # bug 466690 Use CXXFLAGS instead of CFLAGS + sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die + + # drop automatic install of unneeded documentation (for bug 356499) + eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch + + # bug #310087 + eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch + + # bug #311161 + eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch + + # bat needs to respect LDFLAGS and CFLAGS + eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch + + # bug #328701 + eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch + + eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch + + # fix soname in libbaccat.so bug #602952 + eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" + + # do not strip binaries + sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die + sed -i -e "s/strip /# strip /" src/console/Makefile.in || die + + # fix file not found error during make depend + eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch + + eapply_user + + # Fix systemd unit files: + # bug 497748 + sed -i -e '/Requires/d' platforms/systemd/*.service.in || die + sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die + # bug 504370 + sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die + # bug 584442 and 504368 + sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die + + # build 'bat' for Qt5 + export QMAKE="$(qt5_get_bindir)"/qmake + + # adapt to >=Qt-5.9 (see bug #644566) + # qmake needs an existing target file to generate install instructions + sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ + src/qt-console/bat.pro.in || die + mkdir src/qt-console/.libs || die + touch src/qt-console/.libs/bat || die + chmod 755 src/qt-console/.libs/bat || die + + # fix handling of libressl version + # needs separate handling for =libressl2.7 + # (see bug #655520) + if has_version "&/dev/null || die + emake DESTDIR="${D}" install + popd >&/dev/null || die + fi + fi + + # Install all man pages + doman "${S}"/manpages/* + + if ! use qt5; then + rm -vf "${D}"/usr/share/man/man1/bat.1* + fi + rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* + + if use bacula-clientonly || use bacula-nodir ; then + rm -vf "${D}"/usr/libexec/bacula/create_*_database + rm -vf "${D}"/usr/libexec/bacula/drop_*_database + rm -vf "${D}"/usr/libexec/bacula/make_*_tables + rm -vf "${D}"/usr/libexec/bacula/update_*_tables + rm -vf "${D}"/usr/libexec/bacula/drop_*_tables + rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges + rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup + fi + if use bacula-clientonly || use bacula-nosd; then + rm -vf "${D}"/usr/libexec/bacula/disk-changer + rm -vf "${D}"/usr/libexec/bacula/mtx-changer + rm -vf "${D}"/usr/libexec/bacula/dvd-handler + fi + + # documentation + dodoc ChangeLog ReleaseNotes SUPPORT + + # install examples (bug #457504) + if use examples; then + docinto examples/ + dodoc -r examples/* + fi + + # vim-files + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/syntax + doins scripts/bacula.vim + insinto /usr/share/vim/vimfiles/ftdetect + newins scripts/filetype.vim bacula_ft.vim + fi + + # setup init scripts + myscripts="bacula-fd" + if ! use bacula-clientonly; then + if ! use bacula-nodir; then + myscripts="${myscripts} bacula-dir" + fi + if ! use bacula-nosd; then + myscripts="${myscripts} bacula-sd" + fi + fi + for script in ${myscripts}; do + # copy over init script and config to a temporary location + # so we can modify them as needed + cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" + cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" + + # now set the database dependancy for the director init script + case "${script}" in + bacula-dir) + case "${mydbtype}" in + sqlite3) + # sqlite databases don't have a daemon + sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die + ;; + *) + # all other databases have daemons + sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die + ;; + esac + ;; + *) + ;; + esac + + # install init script and config + newinitd "${T}/${script}".initd "${script}" + newconfd "${T}/${script}".confd "${script}" + done + + systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service + + # make sure the working directory exists + diropts -m0750 + keepdir /var/lib/bacula + + # make sure bacula group can execute bacula libexec scripts + fowners -R root:bacula /usr/libexec/bacula +} + +pkg_postinst() { + if use bacula-clientonly; then + fowners root:bacula /var/lib/bacula + else + fowners bacula:bacula /var/lib/bacula + fi + + if ! use bacula-clientonly && ! use bacula-nodir; then + einfo + einfo "If this is a new install, you must create the ${mydbtype} databases with:" + einfo " /usr/libexec/bacula/create_${mydbtype}_database" + einfo " /usr/libexec/bacula/make_${mydbtype}_tables" + einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" + einfo + + ewarn "ATTENTION!" + ewarn "The format of the database may have changed." + ewarn "If you just upgraded from a version below 9.0.0 you must run" + ewarn "'update_bacula_tables' now." + ewarn "Make sure to have a backup of your catalog before." + ewarn + fi + + if use sqlite; then + einfo + einfo "Be aware that Bacula does not officially support SQLite database anymore." + einfo "Best use it only for a client-only installation. See Bug #445540." + einfo + fi + + einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" + einfo "you have to enable 'USE=qt5'." + einfo + einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" + einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." +} diff --git a/app-backup/bacula/bacula-9.4.3.ebuild b/app-backup/bacula/bacula-9.4.3.ebuild deleted file mode 100644 index 17ec8d24af39..000000000000 --- a/app-backup/bacula/bacula-9.4.3.ebuild +++ /dev/null @@ -1,438 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit desktop libtool qmake-utils systemd user - -MY_PV=${PV/_beta/-b} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="Featureful client/server network backup suite" -HOMEPAGE="https://www.bacula.org/" -SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" - -DEPEND=" - !bacula-clientonly? ( - !bacula-nodir? ( virtual/mta ) - postgres? ( dev-db/postgresql:=[threads] ) - mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) - sqlite? ( dev-db/sqlite:3 ) - ) - dev-libs/gmp:0 - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - dev-qt/qtsvg:5 - x11-libs/qwt:6 - ) - logwatch? ( sys-apps/logwatch ) - readline? ( sys-libs/readline:0 ) - static? ( - dev-libs/lzo[static-libs] - sys-libs/ncurses:=[static-libs] - sys-libs/zlib[static-libs] - acl? ( virtual/acl[static-libs] ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[static-libs] ) - libressl? ( dev-libs/libressl:0=[static-libs] ) - ) - ) - !static? ( - dev-libs/lzo - sys-libs/ncurses:= - sys-libs/zlib - acl? ( virtual/acl ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) -" -RDEPEND="${DEPEND} - !bacula-clientonly? ( - !bacula-nosd? ( - app-arch/mt-st - sys-block/mtx - ) - ) - vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) -" - -REQUIRED_USE=" - !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) - static? ( bacula-clientonly ) -" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - #XOR and !bacula-clientonly controlled by REQUIRED_USE - use mysql && export mydbtype="mysql" - use postgres && export mydbtype="postgresql" - use sqlite && export mydbtype="sqlite3" - - # create the daemon group and user - if [ -z "$(egetent group bacula 2>/dev/null)" ]; then - enewgroup bacula - einfo - einfo "The group 'bacula' has been created. Any users you add to this" - einfo "group have access to files created by the daemons." - einfo - fi - - if use bacula-clientonly && use static && use qt5; then - ewarn - ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." - ewarn - fi - - if ! use bacula-clientonly; then - if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then - enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw - einfo - einfo "The user 'bacula' has been created. Please see the bacula manual" - einfo "for information about running bacula as a non-root user." - einfo - fi - fi -} - -src_prepare() { - # adjusts default configuration files for several binaries - # to /etc/bacula/ instead of ./ - pushd src >&/dev/null || die - for f in console/console.c dird/dird.c filed/filed.c \ - stored/bcopy.c stored/bextract.c stored/bls.c \ - stored/bscan.c stored/btape.c stored/stored.c \ - qt-console/main.cpp; do - sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ - || die "sed on ${f} failed" - done - popd >&/dev/null || die - - # bug 466688 drop deprecated categories from Desktop file - sed -i -e 's/Application;//' scripts/bat.desktop.in || die - - # bug 466690 Use CXXFLAGS instead of CFLAGS - sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die - - # drop automatic install of unneeded documentation (for bug 356499) - eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch - - # bug #310087 - eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch - - # bug #311161 - eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch - - # bat needs to respect LDFLAGS and CFLAGS - eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch - - # bug #328701 - eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch - - eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch - - # fix soname in libbaccat.so bug #602952 - eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" - - # do not strip binaries - sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die - sed -i -e "s/strip /# strip /" src/console/Makefile.in || die - - # fix file not found error during make depend - eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch - - eapply_user - - # Fix systemd unit files: - # bug 497748 - sed -i -e '/Requires/d' platforms/systemd/*.service.in || die - sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die - # bug 504370 - sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die - # bug 584442 and 504368 - sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die - - # build 'bat' for Qt5 - export QMAKE="$(qt5_get_bindir)"/qmake - - # adapt to >=Qt-5.9 (see bug #644566) - # qmake needs an existing target file to generate install instructions - sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ - src/qt-console/bat.pro.in || die - mkdir src/qt-console/.libs || die - touch src/qt-console/.libs/bat || die - chmod 755 src/qt-console/.libs/bat || die - - # fix handling of libressl version - # needs separate handling for =libressl2.7 - # (see bug #655520) - if has_version "&/dev/null || die - emake DESTDIR="${D}" install - popd >&/dev/null || die - fi - fi - - if ! use qt5; then - rm -vf "${D}"/usr/share/man/man1/bat.1* - fi - rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* - - if use bacula-clientonly || use bacula-nodir ; then - rm -vf "${D}"/usr/libexec/bacula/create_*_database - rm -vf "${D}"/usr/libexec/bacula/drop_*_database - rm -vf "${D}"/usr/libexec/bacula/make_*_tables - rm -vf "${D}"/usr/libexec/bacula/update_*_tables - rm -vf "${D}"/usr/libexec/bacula/drop_*_tables - rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges - rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup - fi - if use bacula-clientonly || use bacula-nosd; then - rm -vf "${D}"/usr/libexec/bacula/disk-changer - rm -vf "${D}"/usr/libexec/bacula/mtx-changer - rm -vf "${D}"/usr/libexec/bacula/dvd-handler - fi - - # documentation - dodoc ChangeLog ReleaseNotes SUPPORT - - # Install all man pages - doman "${S}"/manpages/* - - # install examples (bug #457504) - if use examples; then - docinto examples/ - dodoc -r examples/* - fi - - # vim-files - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax - doins scripts/bacula.vim - insinto /usr/share/vim/vimfiles/ftdetect - newins scripts/filetype.vim bacula_ft.vim - fi - - # setup init scripts - myscripts="bacula-fd" - if ! use bacula-clientonly; then - if ! use bacula-nodir; then - myscripts="${myscripts} bacula-dir" - fi - if ! use bacula-nosd; then - myscripts="${myscripts} bacula-sd" - fi - fi - for script in ${myscripts}; do - # copy over init script and config to a temporary location - # so we can modify them as needed - cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" - cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" - - # now set the database dependancy for the director init script - case "${script}" in - bacula-dir) - case "${mydbtype}" in - sqlite3) - # sqlite databases don't have a daemon - sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die - ;; - *) - # all other databases have daemons - sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die - ;; - esac - ;; - *) - ;; - esac - - # install init script and config - newinitd "${T}/${script}".initd "${script}" - newconfd "${T}/${script}".confd "${script}" - done - - systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service - - # make sure the working directory exists - diropts -m0750 - keepdir /var/lib/bacula - - # make sure bacula group can execute bacula libexec scripts - fowners -R root:bacula /usr/libexec/bacula -} - -pkg_postinst() { - if use bacula-clientonly; then - fowners root:bacula /var/lib/bacula - else - fowners bacula:bacula /var/lib/bacula - fi - - if ! use bacula-clientonly && ! use bacula-nodir; then - einfo - einfo "If this is a new install, you must create the ${mydbtype} databases with:" - einfo " /usr/libexec/bacula/create_${mydbtype}_database" - einfo " /usr/libexec/bacula/make_${mydbtype}_tables" - einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" - einfo - - ewarn "ATTENTION!" - ewarn "The format of the database may have changed." - ewarn "If you just upgraded from a version below 9.0.0 you must run" - ewarn "'update_bacula_tables' now." - ewarn "Make sure to have a backup of your catalog before." - ewarn - fi - - if use sqlite; then - einfo - einfo "Be aware that Bacula does not officially support SQLite database anymore." - einfo "Best use it only for a client-only installation. See Bug #445540." - einfo - fi - - einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" - einfo "you have to enable 'USE=qt5'." - einfo - einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" - einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." -} diff --git a/app-backup/bacula/bacula-9.4.4-r1.ebuild b/app-backup/bacula/bacula-9.4.4-r1.ebuild new file mode 100644 index 000000000000..0d8fb9502665 --- /dev/null +++ b/app-backup/bacula/bacula-9.4.4-r1.ebuild @@ -0,0 +1,438 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop libtool qmake-utils systemd user + +MY_PV=${PV/_beta/-b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Featureful client/server network backup suite" +HOMEPAGE="https://www.bacula.org/" +SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" + +DEPEND=" + !bacula-clientonly? ( + !bacula-nodir? ( virtual/mta ) + postgres? ( dev-db/postgresql:=[threads] ) + mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) + sqlite? ( dev-db/sqlite:3 ) + ) + dev-libs/gmp:0 + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtsvg:5 + x11-libs/qwt:6 + ) + logwatch? ( sys-apps/logwatch ) + readline? ( sys-libs/readline:0 ) + static? ( + dev-libs/lzo[static-libs] + sys-libs/ncurses:=[static-libs] + sys-libs/zlib[static-libs] + acl? ( virtual/acl[static-libs] ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[static-libs] ) + libressl? ( dev-libs/libressl:0=[static-libs] ) + ) + ) + !static? ( + dev-libs/lzo + sys-libs/ncurses:= + sys-libs/zlib + acl? ( virtual/acl ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) +" +RDEPEND="${DEPEND} + !bacula-clientonly? ( + !bacula-nosd? ( + app-arch/mt-st + sys-block/mtx + ) + ) + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) +" + +REQUIRED_USE=" + !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) + static? ( bacula-clientonly ) +" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + #XOR and !bacula-clientonly controlled by REQUIRED_USE + use mysql && export mydbtype="mysql" + use postgres && export mydbtype="postgresql" + use sqlite && export mydbtype="sqlite3" + + # create the daemon group and user + if [ -z "$(egetent group bacula 2>/dev/null)" ]; then + enewgroup bacula + einfo + einfo "The group 'bacula' has been created. Any users you add to this" + einfo "group have access to files created by the daemons." + einfo + fi + + if use bacula-clientonly && use static && use qt5; then + ewarn + ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." + ewarn + fi + + if ! use bacula-clientonly; then + if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then + enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw + einfo + einfo "The user 'bacula' has been created. Please see the bacula manual" + einfo "for information about running bacula as a non-root user." + einfo + fi + fi +} + +src_prepare() { + # adjusts default configuration files for several binaries + # to /etc/bacula/ instead of ./ + pushd src >&/dev/null || die + for f in console/console.c dird/dird.c filed/filed.c \ + stored/bcopy.c stored/bextract.c stored/bls.c \ + stored/bscan.c stored/btape.c stored/stored.c \ + qt-console/main.cpp; do + sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ + || die "sed on ${f} failed" + done + popd >&/dev/null || die + + # bug 466688 drop deprecated categories from Desktop file + sed -i -e 's/Application;//' scripts/bat.desktop.in || die + + # bug 466690 Use CXXFLAGS instead of CFLAGS + sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die + + # drop automatic install of unneeded documentation (for bug 356499) + eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch + + # bug #310087 + eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch + + # bug #311161 + eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch + + # bat needs to respect LDFLAGS and CFLAGS + eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch + + # bug #328701 + eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch + + eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch + + # fix soname in libbaccat.so bug #602952 + eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" + + # do not strip binaries + sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die + sed -i -e "s/strip /# strip /" src/console/Makefile.in || die + + # fix file not found error during make depend + eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch + + eapply_user + + # Fix systemd unit files: + # bug 497748 + sed -i -e '/Requires/d' platforms/systemd/*.service.in || die + sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die + # bug 504370 + sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die + # bug 584442 and 504368 + sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die + + # build 'bat' for Qt5 + export QMAKE="$(qt5_get_bindir)"/qmake + + # adapt to >=Qt-5.9 (see bug #644566) + # qmake needs an existing target file to generate install instructions + sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ + src/qt-console/bat.pro.in || die + mkdir src/qt-console/.libs || die + touch src/qt-console/.libs/bat || die + chmod 755 src/qt-console/.libs/bat || die + + # fix handling of libressl version + # needs separate handling for =libressl2.7 + # (see bug #655520) + if has_version "&/dev/null || die + emake DESTDIR="${D}" install + popd >&/dev/null || die + fi + fi + + # Install all man pages + doman "${S}"/manpages/* + + if ! use qt5; then + rm -vf "${D}"/usr/share/man/man1/bat.1* + fi + rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* + + if use bacula-clientonly || use bacula-nodir ; then + rm -vf "${D}"/usr/libexec/bacula/create_*_database + rm -vf "${D}"/usr/libexec/bacula/drop_*_database + rm -vf "${D}"/usr/libexec/bacula/make_*_tables + rm -vf "${D}"/usr/libexec/bacula/update_*_tables + rm -vf "${D}"/usr/libexec/bacula/drop_*_tables + rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges + rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup + fi + if use bacula-clientonly || use bacula-nosd; then + rm -vf "${D}"/usr/libexec/bacula/disk-changer + rm -vf "${D}"/usr/libexec/bacula/mtx-changer + rm -vf "${D}"/usr/libexec/bacula/dvd-handler + fi + + # documentation + dodoc ChangeLog ReleaseNotes SUPPORT + + # install examples (bug #457504) + if use examples; then + docinto examples/ + dodoc -r examples/* + fi + + # vim-files + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/syntax + doins scripts/bacula.vim + insinto /usr/share/vim/vimfiles/ftdetect + newins scripts/filetype.vim bacula_ft.vim + fi + + # setup init scripts + myscripts="bacula-fd" + if ! use bacula-clientonly; then + if ! use bacula-nodir; then + myscripts="${myscripts} bacula-dir" + fi + if ! use bacula-nosd; then + myscripts="${myscripts} bacula-sd" + fi + fi + for script in ${myscripts}; do + # copy over init script and config to a temporary location + # so we can modify them as needed + cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" + cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" + + # now set the database dependancy for the director init script + case "${script}" in + bacula-dir) + case "${mydbtype}" in + sqlite3) + # sqlite databases don't have a daemon + sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die + ;; + *) + # all other databases have daemons + sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die + ;; + esac + ;; + *) + ;; + esac + + # install init script and config + newinitd "${T}/${script}".initd "${script}" + newconfd "${T}/${script}".confd "${script}" + done + + systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service + + # make sure the working directory exists + diropts -m0750 + keepdir /var/lib/bacula + + # make sure bacula group can execute bacula libexec scripts + fowners -R root:bacula /usr/libexec/bacula +} + +pkg_postinst() { + if use bacula-clientonly; then + fowners root:bacula /var/lib/bacula + else + fowners bacula:bacula /var/lib/bacula + fi + + if ! use bacula-clientonly && ! use bacula-nodir; then + einfo + einfo "If this is a new install, you must create the ${mydbtype} databases with:" + einfo " /usr/libexec/bacula/create_${mydbtype}_database" + einfo " /usr/libexec/bacula/make_${mydbtype}_tables" + einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" + einfo + + ewarn "ATTENTION!" + ewarn "The format of the database may have changed." + ewarn "If you just upgraded from a version below 9.0.0 you must run" + ewarn "'update_bacula_tables' now." + ewarn "Make sure to have a backup of your catalog before." + ewarn + fi + + if use sqlite; then + einfo + einfo "Be aware that Bacula does not officially support SQLite database anymore." + einfo "Best use it only for a client-only installation. See Bug #445540." + einfo + fi + + einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" + einfo "you have to enable 'USE=qt5'." + einfo + einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" + einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." +} diff --git a/app-backup/bacula/bacula-9.4.4.ebuild b/app-backup/bacula/bacula-9.4.4.ebuild deleted file mode 100644 index 17ec8d24af39..000000000000 --- a/app-backup/bacula/bacula-9.4.4.ebuild +++ /dev/null @@ -1,438 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit desktop libtool qmake-utils systemd user - -MY_PV=${PV/_beta/-b} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="Featureful client/server network backup suite" -HOMEPAGE="https://www.bacula.org/" -SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X" - -DEPEND=" - !bacula-clientonly? ( - !bacula-nodir? ( virtual/mta ) - postgres? ( dev-db/postgresql:=[threads] ) - mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) ) - sqlite? ( dev-db/sqlite:3 ) - ) - dev-libs/gmp:0 - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - dev-qt/qtsvg:5 - x11-libs/qwt:6 - ) - logwatch? ( sys-apps/logwatch ) - readline? ( sys-libs/readline:0 ) - static? ( - dev-libs/lzo[static-libs] - sys-libs/ncurses:=[static-libs] - sys-libs/zlib[static-libs] - acl? ( virtual/acl[static-libs] ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[static-libs] ) - libressl? ( dev-libs/libressl:0=[static-libs] ) - ) - ) - !static? ( - dev-libs/lzo - sys-libs/ncurses:= - sys-libs/zlib - acl? ( virtual/acl ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) -" -RDEPEND="${DEPEND} - !bacula-clientonly? ( - !bacula-nosd? ( - app-arch/mt-st - sys-block/mtx - ) - ) - vim-syntax? ( || ( app-editors/vim app-editors/gvim ) ) -" - -REQUIRED_USE=" - !bacula-clientonly? ( ^^ ( mysql postgres sqlite ) ) - static? ( bacula-clientonly ) -" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - #XOR and !bacula-clientonly controlled by REQUIRED_USE - use mysql && export mydbtype="mysql" - use postgres && export mydbtype="postgresql" - use sqlite && export mydbtype="sqlite3" - - # create the daemon group and user - if [ -z "$(egetent group bacula 2>/dev/null)" ]; then - enewgroup bacula - einfo - einfo "The group 'bacula' has been created. Any users you add to this" - einfo "group have access to files created by the daemons." - einfo - fi - - if use bacula-clientonly && use static && use qt5; then - ewarn - ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." - ewarn - fi - - if ! use bacula-clientonly; then - if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then - enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw - einfo - einfo "The user 'bacula' has been created. Please see the bacula manual" - einfo "for information about running bacula as a non-root user." - einfo - fi - fi -} - -src_prepare() { - # adjusts default configuration files for several binaries - # to /etc/bacula/ instead of ./ - pushd src >&/dev/null || die - for f in console/console.c dird/dird.c filed/filed.c \ - stored/bcopy.c stored/bextract.c stored/bls.c \ - stored/bscan.c stored/btape.c stored/stored.c \ - qt-console/main.cpp; do - sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \ - || die "sed on ${f} failed" - done - popd >&/dev/null || die - - # bug 466688 drop deprecated categories from Desktop file - sed -i -e 's/Application;//' scripts/bat.desktop.in || die - - # bug 466690 Use CXXFLAGS instead of CFLAGS - sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die - - # drop automatic install of unneeded documentation (for bug 356499) - eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch - - # bug #310087 - eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch - - # bug #311161 - eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch - - # bat needs to respect LDFLAGS and CFLAGS - eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch - - # bug #328701 - eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch - - eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch - - # fix soname in libbaccat.so bug #602952 - eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch" - - # do not strip binaries - sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die - sed -i -e "s/strip /# strip /" src/console/Makefile.in || die - - # fix file not found error during make depend - eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch - - eapply_user - - # Fix systemd unit files: - # bug 497748 - sed -i -e '/Requires/d' platforms/systemd/*.service.in || die - sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die - # bug 504370 - sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die - # bug 584442 and 504368 - sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die - - # build 'bat' for Qt5 - export QMAKE="$(qt5_get_bindir)"/qmake - - # adapt to >=Qt-5.9 (see bug #644566) - # qmake needs an existing target file to generate install instructions - sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \ - src/qt-console/bat.pro.in || die - mkdir src/qt-console/.libs || die - touch src/qt-console/.libs/bat || die - chmod 755 src/qt-console/.libs/bat || die - - # fix handling of libressl version - # needs separate handling for =libressl2.7 - # (see bug #655520) - if has_version "&/dev/null || die - emake DESTDIR="${D}" install - popd >&/dev/null || die - fi - fi - - if ! use qt5; then - rm -vf "${D}"/usr/share/man/man1/bat.1* - fi - rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* - - if use bacula-clientonly || use bacula-nodir ; then - rm -vf "${D}"/usr/libexec/bacula/create_*_database - rm -vf "${D}"/usr/libexec/bacula/drop_*_database - rm -vf "${D}"/usr/libexec/bacula/make_*_tables - rm -vf "${D}"/usr/libexec/bacula/update_*_tables - rm -vf "${D}"/usr/libexec/bacula/drop_*_tables - rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges - rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup - fi - if use bacula-clientonly || use bacula-nosd; then - rm -vf "${D}"/usr/libexec/bacula/disk-changer - rm -vf "${D}"/usr/libexec/bacula/mtx-changer - rm -vf "${D}"/usr/libexec/bacula/dvd-handler - fi - - # documentation - dodoc ChangeLog ReleaseNotes SUPPORT - - # Install all man pages - doman "${S}"/manpages/* - - # install examples (bug #457504) - if use examples; then - docinto examples/ - dodoc -r examples/* - fi - - # vim-files - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax - doins scripts/bacula.vim - insinto /usr/share/vim/vimfiles/ftdetect - newins scripts/filetype.vim bacula_ft.vim - fi - - # setup init scripts - myscripts="bacula-fd" - if ! use bacula-clientonly; then - if ! use bacula-nodir; then - myscripts="${myscripts} bacula-dir" - fi - if ! use bacula-nosd; then - myscripts="${myscripts} bacula-sd" - fi - fi - for script in ${myscripts}; do - # copy over init script and config to a temporary location - # so we can modify them as needed - cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd" - cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd" - - # now set the database dependancy for the director init script - case "${script}" in - bacula-dir) - case "${mydbtype}" in - sqlite3) - # sqlite databases don't have a daemon - sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die - ;; - *) - # all other databases have daemons - sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die - ;; - esac - ;; - *) - ;; - esac - - # install init script and config - newinitd "${T}/${script}".initd "${script}" - newconfd "${T}/${script}".confd "${script}" - done - - systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service - - # make sure the working directory exists - diropts -m0750 - keepdir /var/lib/bacula - - # make sure bacula group can execute bacula libexec scripts - fowners -R root:bacula /usr/libexec/bacula -} - -pkg_postinst() { - if use bacula-clientonly; then - fowners root:bacula /var/lib/bacula - else - fowners bacula:bacula /var/lib/bacula - fi - - if ! use bacula-clientonly && ! use bacula-nodir; then - einfo - einfo "If this is a new install, you must create the ${mydbtype} databases with:" - einfo " /usr/libexec/bacula/create_${mydbtype}_database" - einfo " /usr/libexec/bacula/make_${mydbtype}_tables" - einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges" - einfo - - ewarn "ATTENTION!" - ewarn "The format of the database may have changed." - ewarn "If you just upgraded from a version below 9.0.0 you must run" - ewarn "'update_bacula_tables' now." - ewarn "Make sure to have a backup of your catalog before." - ewarn - fi - - if use sqlite; then - einfo - einfo "Be aware that Bacula does not officially support SQLite database anymore." - einfo "Best use it only for a client-only installation. See Bug #445540." - einfo - fi - - einfo "Please note that 'bconsole' will always be installed. To compile 'bat'" - einfo "you have to enable 'USE=qt5'." - einfo - einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during" - einfo "restores, so be sure to set it to an appropriate in dir in the bacula config." -} -- cgit v1.2.3