diff options
Diffstat (limited to 'app-backup')
-rw-r--r-- | app-backup/Manifest.gz | bin | 10512 -> 10524 bytes | |||
-rw-r--r-- | app-backup/bacula/Manifest | 1 | ||||
-rw-r--r-- | app-backup/bacula/bacula-9.4.4-r2.ebuild | 429 | ||||
-rw-r--r-- | app-backup/btrbk/Manifest | 6 | ||||
-rw-r--r-- | app-backup/btrbk/btrbk-0.29.0.ebuild | 77 | ||||
-rw-r--r-- | app-backup/btrbk/btrbk-9999.ebuild | 4 | ||||
-rw-r--r-- | app-backup/btrbk/metadata.xml | 1 | ||||
-rw-r--r-- | app-backup/snapper/Manifest | 7 | ||||
-rw-r--r-- | app-backup/snapper/files/snapper.bash | 200 | ||||
-rw-r--r-- | app-backup/snapper/snapper-0.8.1.ebuild | 78 | ||||
-rw-r--r-- | app-backup/snapper/snapper-0.8.4.ebuild (renamed from app-backup/snapper/snapper-0.8.2.ebuild) | 3 |
11 files changed, 719 insertions, 87 deletions
diff --git a/app-backup/Manifest.gz b/app-backup/Manifest.gz Binary files differindex 88f88d5283c4..6185ec1bdba1 100644 --- a/app-backup/Manifest.gz +++ b/app-backup/Manifest.gz diff --git a/app-backup/bacula/Manifest b/app-backup/bacula/Manifest index 14f4d0a8c72e..7b2a129334d3 100644 --- a/app-backup/bacula/Manifest +++ b/app-backup/bacula/Manifest @@ -41,4 +41,5 @@ EBUILD bacula-9.4.1-r2.ebuild 12788 BLAKE2B 8efee7d5111147404b45e84e9341f303ba88 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 +EBUILD bacula-9.4.4-r2.ebuild 12407 BLAKE2B e5988a2f98d59e02d5fc09fe41272d2a947d1008972f2926b067ed2c538f8a72b9e54b4171d120758ff1272ce6f78472c52e0b655120638517a0bb5d48893aed SHA512 88c887e8b55098267a538c8f53142b150c81f05301f04b6d7d90a600e8aa8e512966fb0672e2051e250dd0e989ddb6c8f4f20488ac970f4d63c2428bfcadad24 MISC metadata.xml 696 BLAKE2B 9a24744f1035e27017f140768b70ab4406e80e1eec452968cfa82e7686876d359ac7a90f9c5998356fc9b4170b9132842d3295877cfa6740d6f1d42e804afbcf SHA512 dcf03b8409574b0e4fb43fefc1f24f7ebc096ff04d79beef0bd31714b233f324bec87387cad8f3eb5c08ab972feae82a32702718aaef39255eec07e6e0352875 diff --git a/app-backup/bacula/bacula-9.4.4-r2.ebuild b/app-backup/bacula/bacula-9.4.4-r2.ebuild new file mode 100644 index 000000000000..e10673ddc968 --- /dev/null +++ b/app-backup/bacula/bacula-9.4.4-r2.ebuild @@ -0,0 +1,429 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop libtool qmake-utils systemd + +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} + acct-user/bacula + acct-group/bacula + !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" + + if use bacula-clientonly && use static && use qt5; then + ewarn + ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag." + ewarn + fi +} + +src_prepare() { + # adjusts default configuration files for several binaries + # to /etc/bacula/<config> instead of ./<config> + 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 <libressl-2.7 and >=libressl2.7 + # (see bug #655520) + if has_version "<dev-libs/libressl-2.7"; then + eapply -p0 "${FILESDIR}"/9.4.0/${PN}-9.4.0-libressl26.patch + else + eapply -p0 "${FILESDIR}"/9.4.0/${PN}-9.4.0-libressl27.patch + fi + + # Don't let program install man pages directly + rm "${S}"/manpages/Makefile.in || die "Unable to remove man pages Makefile.in" + eapply -p1 "${FILESDIR}/bacula-fix-manpages.patch" + + # fix bundled libtool (bug 466696) + # But first move directory with M4 macros out of the way. + # It is only needed by autoconf and gives errors during elibtoolize. + mv autoconf/libtool autoconf/libtool1 || die + elibtoolize +} + +src_configure() { + local myconf='' + + if use bacula-clientonly; then + myconf="${myconf} \ + $(use_enable bacula-clientonly client-only) \ + $(use_enable !static libtool) \ + $(use_enable static static-cons) \ + $(use_enable static static-fd)" + else + myconf="${myconf} \ + $(use_enable !bacula-nodir build-dird) \ + $(use_enable !bacula-nosd build-stored)" + # bug #311099 + # database support needed by dir-only *and* sd-only + # build as well (for building bscan, btape, etc.) + myconf="${myconf} + --with-${mydbtype}" + fi + + # do not build bat if 'static' clientonly + if ! use bacula-clientonly || ! use static; then + myconf="${myconf} \ + $(use_enable qt5 bat)" + fi + + myconf="${myconf} \ + $(use_with X x) \ + $(use_enable batch-insert) \ + $(use_enable !readline conio) \ + $(use_enable readline) \ + $(use_with readline readline /usr) \ + $(use_with ssl openssl) \ + $(use_enable ipv6) \ + $(use_enable acl) \ + $(use_with tcpd tcp-wrappers)" + + econf \ + --libdir=/usr/$(get_libdir) \ + --docdir=/usr/share/doc/${PF} \ + --htmldir=/usr/share/doc/${PF}/html \ + --with-pid-dir=/var/run \ + --sysconfdir=/etc/bacula \ + --with-archivedir=/var/lib/bacula/tmp \ + --with-subsys-dir=/var/lock/subsys \ + --with-working-dir=/var/lib/bacula \ + --with-logdir=/var/lib/bacula \ + --with-scriptdir=/usr/libexec/bacula \ + --with-systemd=$(systemd_get_systemunitdir) \ + --with-dir-user=bacula \ + --with-dir-group=bacula \ + --with-sd-user=root \ + --with-sd-group=bacula \ + --with-fd-user=root \ + --with-fd-group=bacula \ + --enable-smartalloc \ + --disable-afs \ + --without-s3 \ + --host=${CHOST} \ + ${myconf} +} + +src_compile() { + # Make build log verbose (bug #447806) + emake NO_ECHO="" +} + +src_install() { + emake DESTDIR="${D}" install + doicon scripts/bacula.png + + # install bat icon and desktop file when enabled + # (for some reason ./configure doesn't pick this up) + if use qt5 && ! use static ; then + doicon src/qt-console/images/bat_icon.png + domenu scripts/bat.desktop + fi + + # remove some scripts we don't need at all + rm -f "${D}"/usr/libexec/bacula/{bacula,bacula-ctl-dir,bacula-ctl-fd,bacula-ctl-sd,startmysql,stopmysql} + + # rename statically linked apps + if use bacula-clientonly && use static ; then + pushd "${D}"/usr/sbin || die + mv static-bacula-fd bacula-fd || die + mv static-bconsole bconsole || die + popd || die + fi + + # extra files which 'make install' doesn't cover + if ! use bacula-clientonly; then + # the database update scripts + diropts -m0750 + insinto /usr/libexec/bacula/updatedb + insopts -m0754 + doins "${S}"/updatedb/* + fperms 0640 /usr/libexec/bacula/updatedb/README + + # the logrotate configuration + # (now unconditional wrt bug #258187) + diropts -m0755 + insinto /etc/logrotate.d + insopts -m0644 + newins "${S}"/scripts/logrotate bacula + + # the logwatch scripts + if use logwatch; then + diropts -m0750 + dodir /usr/share/logwatch/scripts/services + dodir /usr/share/logwatch/scripts/shared + dodir /etc/logwatch/conf/logfiles + dodir /etc/logwatch/conf/services + pushd "${S}"/scripts/logwatch >&/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 + + einfo + einfo "A group 'bacula' has been created. Any users you add to this" + einfo "group have access to files created by the daemons." + einfo + einfo "A user 'bacula' has been created. Please see the bacula manual" + einfo "for information about running bacula as a non-root user." + einfo + + 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/btrbk/Manifest b/app-backup/btrbk/Manifest index d6baf54e15c2..d0c9adef720e 100644 --- a/app-backup/btrbk/Manifest +++ b/app-backup/btrbk/Manifest @@ -9,6 +9,7 @@ DIST btrbk-0.28.0.tar.xz 99336 BLAKE2B 4becaac5a34029e57345baa3c8bb787032ddfdc52 DIST btrbk-0.28.1.tar.xz 94740 BLAKE2B 75313aabab7208083e06a2d4bb607950c7d5d0e87188a9a8f8c97cba1549cc2d3bcfff14b2bc2d20898c44bcc0fe50d74db2e16b213dde852d89704704b70ece SHA512 0e24908b3162b2ab67e0482a38fb966bf33b3c3ee5b2f62259673af14e9309bc4707bd049403579240ec416efae6643a8b5da73f4763e3dc01b3893047e92581 DIST btrbk-0.28.2.tar.xz 94888 BLAKE2B 4501a8bbe1c88e2449c67d3c5e2322c8b3d3bd5b855cbc0451ff59a3e9aea66de4110587f786fee8f21acfb8a7e496f80a21a91a0e0756d37130bd49a76bb26f SHA512 43e9e0dfe48b0b0c8d1b64e2ce447b9dde9c494b2ad233d68e6ad0648d746d1e950751199f72affe77e06b0c94567912b399bd0b6aa8ebc31dd8fb87ef9ae0ae DIST btrbk-0.28.3.tar.xz 95000 BLAKE2B 95de0eae8621b313e9dce3a90ba416a0e4553b05e7e9e1432bd740941ea4b7bdc154a6dd34c9cf7b7ef9fb98f46fd4bc99a3b37933b4c9bd21ef493a7f51e2a5 SHA512 a2919527ab14486113c075fdb2646ee70fa20c813e5a69fc8a0cd16b75bc7aaccee338b272da938f6223a4be8c2d539839426b55ce72d338c7cf20680a41a849 +DIST btrbk-0.29.0.tar.xz 97632 BLAKE2B dc7b63804a2a4ff99ae33e2247363402cfa683bad852c1b70bbb8fc3571730a690589cff1184a3c6e63b66b385430027b55da959e7dca96b7eca6eff900be109 SHA512 e3b0fd45bcaafa4fe53e230bb66cc23ae950dd91251d5e4d19a576021f2dcc52b219cd348b1b747224c2da803b47554266f4fc91c092a62decedc74ac59b9b28 EBUILD btrbk-0.24.0-r1.ebuild 755 BLAKE2B 1ee8bedbe3dd869c4afb8103763269906d4a75c5dccfebefebb851bdb4a1243d14eac3a35d5e8ac5d29660b96e7856e0421d2804f83c982c47d58f888e3b498c SHA512 2924123eeabd0b1e7a325d9b413c6ff9ee750184b85ea1f460f236aa74e978df1e5537ab77fc49e8f82148caff743724355d31cf60aa5e760d1615b60d22f7e5 EBUILD btrbk-0.25.1-r1.ebuild 743 BLAKE2B bb707beaa6dd1dae7648262190ee05f76f70197982d6994386e9ee8bc8e885a88ba0c9f9eb33d2846f9f7b023d6a0c97a95d9bf04fbb6de72d8ff489da09d8b2 SHA512 452cdc0bbcba6b08e00bbccdc0332dc06aa59d746a0e8a608ee5da5bb5ac2047705380df2e7865fdd3a2e3d44fce6a4b1fda8e890f150a8a3d543d63fa2610eb EBUILD btrbk-0.26.0.ebuild 1078 BLAKE2B 9c92380e34d5005cc0d738c68e7b404a4db77fccc1a233ada610d7518e253cfaafa91135da7d9ce6cf6546150a6805f524b3a9302b680b84e63616a1f910b029 SHA512 0d22df7d376f96de76a19be8a3ce7a9e7773c02c6da7545949ce0083a32ea6e5aaeabf026ce91655af34109532fa06fbd8b074e494e591d529dbb9d6f0bd4a58 @@ -21,5 +22,6 @@ EBUILD btrbk-0.28.0.ebuild 2304 BLAKE2B 27a92a35f09b88cbd4b3cf0f93bc1819a34849a4 EBUILD btrbk-0.28.1.ebuild 2304 BLAKE2B 27a92a35f09b88cbd4b3cf0f93bc1819a34849a4d2bba93ff536541f159f917d4a0bfabc44065978209e59f3f1a425566209614f389b1c2b40aa6adb1d396638 SHA512 6422fc1801469d7300c192a73664b7ca3f6f068e6b2c21cf56fbe8ebe508bfe5cab8e4c8d1d4356b1e82ce47506448ac65693f49d35215738e11577c4d3ad6b4 EBUILD btrbk-0.28.2.ebuild 2304 BLAKE2B 27a92a35f09b88cbd4b3cf0f93bc1819a34849a4d2bba93ff536541f159f917d4a0bfabc44065978209e59f3f1a425566209614f389b1c2b40aa6adb1d396638 SHA512 6422fc1801469d7300c192a73664b7ca3f6f068e6b2c21cf56fbe8ebe508bfe5cab8e4c8d1d4356b1e82ce47506448ac65693f49d35215738e11577c4d3ad6b4 EBUILD btrbk-0.28.3.ebuild 2304 BLAKE2B 27a92a35f09b88cbd4b3cf0f93bc1819a34849a4d2bba93ff536541f159f917d4a0bfabc44065978209e59f3f1a425566209614f389b1c2b40aa6adb1d396638 SHA512 6422fc1801469d7300c192a73664b7ca3f6f068e6b2c21cf56fbe8ebe508bfe5cab8e4c8d1d4356b1e82ce47506448ac65693f49d35215738e11577c4d3ad6b4 -EBUILD btrbk-9999.ebuild 2304 BLAKE2B 27a92a35f09b88cbd4b3cf0f93bc1819a34849a4d2bba93ff536541f159f917d4a0bfabc44065978209e59f3f1a425566209614f389b1c2b40aa6adb1d396638 SHA512 6422fc1801469d7300c192a73664b7ca3f6f068e6b2c21cf56fbe8ebe508bfe5cab8e4c8d1d4356b1e82ce47506448ac65693f49d35215738e11577c4d3ad6b4 -MISC metadata.xml 1076 BLAKE2B 38beb88fb33730c665430ce275d33b231a57f02c2644b3ff89974935f93d1f0cea8b53b908019eb7bcb0ad99dca49e69475d44a506e08719270c2f8524b5e096 SHA512 20141d3aeba7ebe743ed3101af70c3f6515f11aaed4d43a73d507c18a933d30e778d10cfc17b98e33c616e80c79edd157d64fb0f54e35ad64a7e3114b3fd667f +EBUILD btrbk-0.29.0.ebuild 2331 BLAKE2B b86a85018684272d61b418d4d6fe4c048a25d9622c5b64f5279d2d7efeaac5f446f3ed697d133cb729393655a155124ad36f11cc0b8c1ea43984bfe83bbc0371 SHA512 26a88ea69c785cb390dc66f47886b3b79953afef98f89fbd2855a8ab5151b213c5e93ed18a985e29752ba55ef6638b8fd9f09ec0a723005fa18433c9b42b8467 +EBUILD btrbk-9999.ebuild 2331 BLAKE2B b86a85018684272d61b418d4d6fe4c048a25d9622c5b64f5279d2d7efeaac5f446f3ed697d133cb729393655a155124ad36f11cc0b8c1ea43984bfe83bbc0371 SHA512 26a88ea69c785cb390dc66f47886b3b79953afef98f89fbd2855a8ab5151b213c5e93ed18a985e29752ba55ef6638b8fd9f09ec0a723005fa18433c9b42b8467 +MISC metadata.xml 1194 BLAKE2B 9fd7bc80e3334d38cc30df17375b709fea9af5b31ff48c74d3ccb65bb8b58940a1c0c0640c977f476bb13dffa357db3d6f2672b11b9ab658b67c46ce1ca8c788 SHA512 1949a2a9b14669ab67a53b3aa86dd1838c0ad4ef924a2f6729bf7a0b17c67f1db9e6094e746b710988440905b713c8938af36caffe9b9f4440c65ba72e4779ec diff --git a/app-backup/btrbk/btrbk-0.29.0.ebuild b/app-backup/btrbk/btrbk-0.29.0.ebuild new file mode 100644 index 000000000000..7b91fc51e8b7 --- /dev/null +++ b/app-backup/btrbk/btrbk-0.29.0.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit systemd + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/digint/btrbk.git" + inherit git-r3 + SRC_URI="" + KEYWORDS="" +else + SRC_URI="https://digint.ch/download/btrbk/releases/${P}.tar.xz" + KEYWORDS="~amd64 ~arm ~x86" +fi + +DESCRIPTION="Tool for creating snapshots and remote backups of btrfs subvolumes" +HOMEPAGE="https://digint.ch/btrbk/" +LICENSE="GPL-3+" +SLOT="0" +IUSE="+mbuffer +doc" + +DEPEND="doc? ( >=dev-ruby/asciidoctor-1.5.7 )" + +RDEPEND="dev-lang/perl + net-misc/openssh + mbuffer? ( >=sys-block/mbuffer-20180505 ) + >=sys-fs/btrfs-progs-4.12" + +src_compile() { + emake clean + use doc && emake -C doc +} +src_install() { + local targets="install-bin install-etc install-share install-systemd" + use doc && targets="${targets} install-man install-doc" + emake \ + DESTDIR="${D}" \ + DOCDIR="/usr/share/doc/${PF}" \ + SYSTEMDDIR="$(systemd_get_systemunitdir)" \ + ${targets} +} +pkg_preinst() { + if has_version "<${CATEGORY}/${PN}-0.26.0" ; then + upgrade_0_26_0_warning="1" + fi + if has_version "<${CATEGORY}/${PN}-0.27.0" ; then + upgrade_0_27_0_warning="1" + fi +} +pkg_postinst() { + if [[ "${upgrade_0_26_0_warning}" == "1" ]]; then + ewarn "If you are using raw targets, make sure to run the" + ewarn "\"raw_suffix2sidecar\" utility in each target directory." + fi + if [[ "${upgrade_0_27_0_warning}" == "1" ]]; then + ewarn 'Due to a bugfix in the scheduler [1] [2], previously preserved' + ewarn 'monthly/yearly backups could get deleted when upgrading to' + ewarn 'btrbk-0.27.0.' + ewarn '' + ewarn 'Before upgrading to btrbk-0.27.0, make sure to stop all cron jobs' + ewarn 'or systemd timers calling btrbk.' + ewarn '' + ewarn 'After upgrading, run "btrbk prune --dry-run --print-schedule" and' + ewarn 'check if any snapshots/backups would get deleted. If you want to' + ewarn 'forcibly preserve a snapshot/backup forever, rename it:' + ewarn '' + ewarn ' mv mysubvol.YYYYMMDD mysubvol.YYYYMMDD.keep_forever' + ewarn '' + ewarn 'Note that btrbk ignores subvolumes with unknown naming scheme, e.g.' + ewarn '(".keep_forever" suffix in the example above).' + ewarn '' + ewarn ' [1] https://github.com/digint/btrbk/issues/217' + ewarn ' [2] https://github.com/digint/btrbk/commit/719fb5f' + fi +} diff --git a/app-backup/btrbk/btrbk-9999.ebuild b/app-backup/btrbk/btrbk-9999.ebuild index ffd2ecb0e6f7..7b91fc51e8b7 100644 --- a/app-backup/btrbk/btrbk-9999.ebuild +++ b/app-backup/btrbk/btrbk-9999.ebuild @@ -19,13 +19,13 @@ DESCRIPTION="Tool for creating snapshots and remote backups of btrfs subvolumes" HOMEPAGE="https://digint.ch/btrbk/" LICENSE="GPL-3+" SLOT="0" -IUSE="+pv +doc" +IUSE="+mbuffer +doc" DEPEND="doc? ( >=dev-ruby/asciidoctor-1.5.7 )" RDEPEND="dev-lang/perl net-misc/openssh - pv? ( sys-apps/pv ) + mbuffer? ( >=sys-block/mbuffer-20180505 ) >=sys-fs/btrfs-progs-4.12" src_compile() { diff --git a/app-backup/btrbk/metadata.xml b/app-backup/btrbk/metadata.xml index d5e883ce6629..73a2d8bc134d 100644 --- a/app-backup/btrbk/metadata.xml +++ b/app-backup/btrbk/metadata.xml @@ -24,5 +24,6 @@ </upstream> <use> <flag name='pv'>Use sys-apps/pv to enable progress bar functionality</flag> + <flag name='mbuffer'>Use sys-block/mbuffer to enable progress bar and buffering/limiting functionality</flag> </use> </pkgmetadata> diff --git a/app-backup/snapper/Manifest b/app-backup/snapper/Manifest index 986e5f4fbee2..a5d6456d9140 100644 --- a/app-backup/snapper/Manifest +++ b/app-backup/snapper/Manifest @@ -1,11 +1,10 @@ AUX cron-confd.patch 916 BLAKE2B 52672e59ebbfde9dd120516d9c0fb80443b8bfe38d08ec943956005a3d07aa1ed3e9273c572730722a02d3b841859dbc8d3fa81e89e87d6958251abec016716c SHA512 7f0872b14f1fa6b3c7990a9b219a0b2c0b941b1376fb89eda6e4fdf4b3b37818d0114febdb21d2432f5b1c08f1ba4354936d556c1c26953a0fe0f3196d699aa7 AUX snapper-0.5.6-swap.patch 852 BLAKE2B 89b05a268d3fed009665c9db6e43d5552023940b14c5afb58521582ba10c9ce332cf2aa07dcb336dd8cb825e5063a553aa6fcb84f597e380831bf0d507b7a96b SHA512 7ec3a471ece6e24c6e225f45401635317197a8d4daebb32817df64b035df3a7df02f0af85677a37d7a2b69af1afc785d70bcfe42252cc7453bc7eb2f7aa2740b +AUX snapper.bash 5939 BLAKE2B f8139dfbfb9bd9616d1b43cc1e90e0f7cf4472515a12425c8501c8109af72206e76c19d95f2156afd7048085fe48c84509fdffddbd11242db66f40732c68230f SHA512 c72a9557a93e988ccebc76b076a1abb9fcccea582b80f615b98b69fd4671a2f52c0dd60cbc6248ed9c55ddf96ea16b10a874348325f61fe14a0b675fd0887e98 DIST snapper-0.5.6.tar.bz2 580047 BLAKE2B 3b945acbf734db1925dad5515323a64a2c08ee8226a593025f9160e0d1b1140734b2b498d036256946159900b50fec8567147dc0a974c281be747e977bcbd05b SHA512 392427d097cbe221bf7ca0ae20bc065dffaa4d0017ed750c41748d71128fc7ce054bb4425d6dbed7308a530df71815f80f56e60d72aab17ef3e0a16f3b3ba47e -DIST snapper-0.8.1.tar.bz2 591061 BLAKE2B 5f9ae50469f43e930de4c4479428c94b24441832bd713847c6792ff583fb79badfa341b53cc63abfedb787367b22b715de9f83f9172dec945f7b3071c06137ba SHA512 9fa20311f346de54c4f5d1cabb42dce5c677eaac03b3fac2a6049f408553911f5a968b1920fd014f3318ebb6911f2e6bce06463e976b468927e250e16fe783a0 -DIST snapper-0.8.2.tar.bz2 591558 BLAKE2B 552c07d1d83e6a8db1e1661b523aeb7164335bb6ebbeb07489325b6d23d8a5def730ac1cf0da06ab65b7a9fc1284d0d05ca0f875bc897504c1bbb45698b40294 SHA512 d968490782a47112f7ba2474555cafe450833cf055734186c79991dd836f9c5d8d669a6c65dd29b05da298e46f65e0ac5c4a1dae3b548a01dbf1b11d7e00c462 DIST snapper-0.8.3.tar.bz2 592405 BLAKE2B 7694a6c79e4beaf307801ccd97a6cd1c3c6078e68653e9a5eda3ddcd087ef32f8302d380ee550ac5c7259c7e23ddb15bf9f2d01267d5691fe10e0335d490a258 SHA512 409a8464c10905da1407ce3bf68ad1d7df53480da4f8e98e40ef4ee5cb5170bb99c07fabb367510eb2a19744a827dc9a33cf74de05fbb2fc5f22fe3dc4adef6d +DIST snapper-0.8.4.tar.bz2 594555 BLAKE2B b176420be06dea2dca73fafbebb362bb27d9b793868f84466dae020cea9d1c61c7a3896de6e0701d1e924eed8c13b1b11a7bbc3047ca41c9aaee260a438ddce3 SHA512 9e3708a2b015470798731e105ab843f21c5273f0f2f4e183afde538ad4998892c4d79996e1963e74d0a09d10b9b3057faed5e2f501a1d9a5a4b1fa36ba88bb7e EBUILD snapper-0.5.6-r1.ebuild 1720 BLAKE2B 8f0007910dad5e443dcc1945e225ca4b25a8d916ae20748a1c37bb0398b8d8d996dfa0c1a9ad6e17b9b3d57864fbceb10801783e1bb82ec6e6ce2897519ee127 SHA512 b7a8aa1602022326a43efbb405cf7dd3f978799dfcfdfeefd52a148bcc8c4c208a1699bbde1b73f447c356125bd4857ec9093fef845281db5e95d06695ec3b2c -EBUILD snapper-0.8.1.ebuild 1729 BLAKE2B 5dc6a58a46466120a8afa0ce116559a61eee4545e5039da5ee9361a1e06ff8ae532d630e085567f77fdffe87ee43047eae653c6a819945c2b643581f6275deed SHA512 6894a8117da291b2c3c9ea0fbc4c45febe0daf7ab9b92ceac13f9c7efd0d44b529945d57cb9b3f5de685f4ffbbdb5a7681a8213c3b2e4fe64f3e47afeeff6f87 -EBUILD snapper-0.8.2.ebuild 1691 BLAKE2B cc80aeba71d1413c1c292c21e760ba5ced7d10273282a0508279723bde7ae092e9e764ef788afc0767aadcd8fa448659f91a6ed9027be87639ed0ff45463a94b SHA512 f7d8f90baf610a7c53632a5a7da3acd28c912e9ace4c6e267f29f31e496c377d2470e44d3c640fb3731780c8f250d00ee26bb266db46b633d0c125f39ef30fdc EBUILD snapper-0.8.3.ebuild 1691 BLAKE2B cc80aeba71d1413c1c292c21e760ba5ced7d10273282a0508279723bde7ae092e9e764ef788afc0767aadcd8fa448659f91a6ed9027be87639ed0ff45463a94b SHA512 f7d8f90baf610a7c53632a5a7da3acd28c912e9ace4c6e267f29f31e496c377d2470e44d3c640fb3731780c8f250d00ee26bb266db46b633d0c125f39ef30fdc +EBUILD snapper-0.8.4.ebuild 1754 BLAKE2B 6b439012d319dfd0bc3920701bdfa50f3af89a410e532f15f9723bbf9373ded6d45044847eb71b8b4f5a01b572501b4b80d56c9964f943ee5bfd388e114e6b17 SHA512 384164fcd42632de4a1d010623faca4a38342ec45545fce1e0b4ab54152850ceec45246cf6f6c4cce6271da3c8017fe718a42321907b45bac8c450fe088392db MISC metadata.xml 1300 BLAKE2B a6f8d0942ec42f06331ec08d2b87a8ed5e395718d064eee7de11ae1a41cc0cffd85f012704076dacc46846d35a13bd1f9743ddda511e30a9967b241354ca619b SHA512 4f22d97f6fe05d89a973079f2373dac101859e73327b06eacc1a8a08260f234453240158c5cff320ef888259fc09e32d8abba080d08b0fb06964bf041ba68157 diff --git a/app-backup/snapper/files/snapper.bash b/app-backup/snapper/files/snapper.bash new file mode 100644 index 000000000000..e5ca4134342a --- /dev/null +++ b/app-backup/snapper/files/snapper.bash @@ -0,0 +1,200 @@ +_snapper() +{ + local configdir="/etc/snapper/configs" + local cur prev words cword + _init_completion || return + + local GLOGAL_SNAPPER_OPTIONS=' + -q --quiet + -v --verbose + --utc + --iso + -t --table-style + -c --config + -r --root + --no-dbus + --version + --help + ' + + # see if the user selected a command already + local COMMANDS=( + "list-configs" "create-config" "delete-config" "set-config" + "list" "ls" + "create" "modify" "delete" "remove" "rm" + "mount" "umount" + "status" "diff" "xadiff" + "undochange" "rollback" + "setup-quota" + "cleanup") + + local command i + for (( i=0; i < ${#words[@]}-1; i++ )); do + if [[ ${COMMANDS[@]} =~ ${words[i]} ]]; then + command=${words[i]} + break + fi + done + + case $prev in + --version|--help) + return 0 + ;; + esac + + # supported options per command + if [[ "$cur" == -* ]]; then + case $command in + create-config) + COMPREPLY=( $( compgen -W '--fstype -f + --templete -t' -- "$cur" ) ) + return 0 + ;; + list|ls) + COMPREPLY=( $( compgen -W '--type -t + --all-configs -a' -- "$cur" ) ) + return 0 + ;; + create) + COMPREPLY=( $( compgen -W '--type -t + --pre-number + --print-number -p + --description -d + --cleanup-algorithm -c + --userdata -u + --command' -- "$cur" ) ) + return 0 + ;; + modify) + COMPREPLY=( $( compgen -W '--description -d + --cleanup-algorithm -c + --userdata -u' -- "$cur" ) ) + return 0 + ;; + delete|remove|rm) + COMPREPLY=( $( compgen -W '--sync -s + ' -- "$cur" ) ) + return 0 + ;; + status) + COMPREPLY=( $( compgen -W '--output -o + ' -- "$cur" ) ) + return 0 + ;; + diff) + COMPREPLY=( $( compgen -W '--input -i + --diff-cmd + --extensions -x' -- "$cur" ) ) + return 0 + ;; + undochange) + COMPREPLY=( $( compgen -W '--input -i + ' -- "$cur" ) ) + return 0 + ;; + rollback) + COMPREPLY=( $( compgen -W '--print-number -p + --description -d + --cleanup-algorithm -c + --userdata -u' -- "$cur" ) ) + return 0 + ;; + *) + COMPREPLY=( $( compgen -W "$GLOGAL_SNAPPER_OPTIONS" -- "$cur" ) ) + return 0 + ;; + esac + fi + + # specific command arguments + if [[ -n $command ]]; then + case $command in + create-config) + case "$prev" in + --fstype|-f) + COMPREPLY=( $( compgen -W 'btrfs ext4 lvm(xfs) lvm(ext4) + ' -- "$cur" ) ) + ;; + esac + return 0 + ;; + list) + case "$prev" in + --type|-t) + COMPREPLY=( $( compgen -W 'all single pre-post + ' -- "$cur" ) ) + ;; + esac + return 0 + ;; + create) + case "$prev" in + --type|-t) + COMPREPLY=( $( compgen -W 'single pre post + ' -- "$cur" ) ) + ;; + --pre-number) + COMPREPLY=( $( compgen -W ' + ' -- "$cur" ) ) + ;; + --cleanup-algorithm|-c) + COMPREPLY=( $( compgen -W 'empty-pre-post timeline number + ' -- "$cur" ) ) + ;; + esac + return 0 + ;; + modify) + case "$prev" in + --cleanup-algorithm|-c) + COMPREPLY=( $( compgen -W 'empty-pre-post timeline number + ' -- "$cur" ) ) + ;; + esac + return 0 + ;; + status) + case "$prev" in + --output|-o) + COMPREPLY=( $( compgen -f -- "$cur" ) ) + ;; + esac + return 0 + ;; + cleanup) + case "$prev" in + empty-pre-post|timeline|number) + ;; + *) + COMPREPLY=( $( compgen -W 'empty-pre-post timeline number + ' -- "$cur" ) ) + ;; + esac + return 0 + ;; + diff) + return 0 + ;; + undochange) + return 0 + ;; + rollback) + case "$prev" in + --cleanup-algorithm|-c) + COMPREPLY=( $( compgen -W 'empty-pre-post timeline number + ' -- "$cur" ) ) + ;; + esac + return 0 + ;; + esac + fi + + # no command yet, show what commands we have + if [ "$command" = "" ]; then + COMPREPLY=( $( compgen -W '${COMMANDS[@]} ${GLOGAL_SNAPPER_OPTIONS[@]}' -- "$cur" ) ) + fi + + return 0 +} && +complete -F _snapper snapper diff --git a/app-backup/snapper/snapper-0.8.1.ebuild b/app-backup/snapper/snapper-0.8.1.ebuild deleted file mode 100644 index db9c8e6fee6c..000000000000 --- a/app-backup/snapper/snapper-0.8.1.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit systemd - -DESCRIPTION="Command-line program for btrfs and lvm snapshot management" -HOMEPAGE="http://snapper.io/" -SRC_URI="ftp://ftp.suse.com/pub/projects/snapper/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="lvm pam xattr" - -RDEPEND="dev-libs/boost:=[threads] - dev-libs/libxml2 - dev-libs/icu:= - sys-apps/acl - sys-apps/dbus - sys-apps/util-linux - >=sys-fs/btrfs-progs-3.17.1 - sys-libs/zlib - virtual/libintl - lvm? ( sys-fs/lvm2 ) - pam? ( sys-libs/pam ) - xattr? ( sys-apps/attr )" - -DEPEND="${RDEPEND} - sys-devel/gettext - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/cron-confd.patch - "${FILESDIR}"/${PN}-0.5.6-swap.patch -) - -src_prepare() { - default - - sed -e "s,/usr/lib/systemd/system,$(systemd_get_systemunitdir),g" \ - -i data/Makefile.* \ - || die "Failed to fix systemd services and timers installation path" -} - -src_configure() { - # ext4 code does not work anymore - # snapper does not build without btrfs - local myeconfargs=( - --with-conf="/etc/conf.d" - --docdir="/usr/share/doc/${PF}" - --disable-zypp - --enable-rollback - --disable-ext4 - --enable-btrfs - $(use_enable lvm) - $(use_enable pam) - $(use_enable xattr xattrs) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - # Existing configuration file required to function - newconfd data/sysconfig.snapper snapper - find "${D}" -name '*.la' -delete || die -} - -pkg_postinst() { - elog "In order to use Snapper, you need to set up" - elog "at least one config first. To do this, run:" - elog "snapper create-config <subvolume>" - elog "For more information, see man (8) snapper or" - elog "http://snapper.io/documentation.html" -} diff --git a/app-backup/snapper/snapper-0.8.2.ebuild b/app-backup/snapper/snapper-0.8.4.ebuild index 1ce8e5e12348..90bf21dacc24 100644 --- a/app-backup/snapper/snapper-0.8.2.ebuild +++ b/app-backup/snapper/snapper-0.8.4.ebuild @@ -3,7 +3,7 @@ EAPI=7 -inherit systemd +inherit systemd bash-completion-r1 DESCRIPTION="Command-line program for btrfs and lvm snapshot management" HOMEPAGE="http://snapper.io/" @@ -66,6 +66,7 @@ src_install() { # Existing configuration file required to function newconfd data/sysconfig.snapper snapper find "${D}" -name '*.la' -delete || die + newbashcomp "${FILESDIR}"/${PN}.bash ${PN} } pkg_postinst() { |