summaryrefslogtreecommitdiff
path: root/app-backup/btrbk
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-21 09:43:30 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-21 09:43:30 +0100
commit28e28adc401b344fa5c230e2609c542873c372f8 (patch)
treece600e2ae889fb50ee1d80dd98a1f30886081bcd /app-backup/btrbk
parent855f2ab2714a36dd2d3b757890b2449d3e9155f2 (diff)
gentoo auto-resync : 21:08:2023 - 09:43:30
Diffstat (limited to 'app-backup/btrbk')
-rw-r--r--app-backup/btrbk/Manifest4
-rw-r--r--app-backup/btrbk/btrbk-0.32.6-r2.ebuild93
-rw-r--r--app-backup/btrbk/btrbk-9999.ebuild17
-rw-r--r--app-backup/btrbk/files/btrbk-0.32.6-support-asciidoc.patch58
4 files changed, 167 insertions, 5 deletions
diff --git a/app-backup/btrbk/Manifest b/app-backup/btrbk/Manifest
index d733552b3c26..aa68f2aa16dd 100644
--- a/app-backup/btrbk/Manifest
+++ b/app-backup/btrbk/Manifest
@@ -1,4 +1,6 @@
+AUX btrbk-0.32.6-support-asciidoc.patch 2453 BLAKE2B 0c6ebb3fc102d103b1219693ba98f09452416f9f4b358859808a80b1660d879f2bde9216b68cac63cd0717b25f54fabe5706cbbbad787d871c03534483e059c6 SHA512 dc6fc53ed65880dae0d88be9004dcf318ac9eea287bad6439cd4303627bdf729ed84023542b9123c5d644df3e87867c5c0a75c414f60020b719e67ef4607ac6e
DIST btrbk-0.32.6.tar.xz 111804 BLAKE2B f23e5f60e63bb1a9d5cc2f1339ac3e40a9cae5c0e3f626f1ad0e7396b8f9ebb00bce319835c9c708cdfe3c1cad3ef4e90985cb9c633be7091ffdbde93a10412c SHA512 5a21b3728aded1610ef9106d0460db12b07bbc6d62be199081baba92413b30ba0f7b4a77612d0bbb0910863be85f2c68eab3d02fabf1ea5a7f5fb22aeb1f7a38
EBUILD btrbk-0.32.6-r1.ebuild 2383 BLAKE2B 6489bf667539dd1d915426682299a79b0244c4b7f1cf5cc2e6d2622ef301517ade7d3fc606a8ae0c5e95f1f681dca4adf58e2f0a525cdb88a2716dd8323d34d8 SHA512 8a49e3e2879052323084548575560c76c1e8bae849169309d57ace38375da6cc5eb830011989ce7cec981a86bcfd46dc52df68956664a2fe47f6cb715351e3cf
-EBUILD btrbk-9999.ebuild 2387 BLAKE2B 7dd1eedadeca915599a157007832bcd0c43e05f8f90230e63a34fc866e8df28b57c1d596644ccb8a19587b92dcaecedb1ffe025b8d2339c0043b9f45fd414862 SHA512 2f1f1fb17aaae7e8ea3dccec0e1b09813f89fff1b29dddb3cd1ca9e11dfff85158e1a0f14c2f329f8f5de55a77e52e205b35d9be3ac04ec1d65cb3b7efbf7583
+EBUILD btrbk-0.32.6-r2.ebuild 2486 BLAKE2B 989a1603597e1d97acf89cdf5b8a3ca113188304442784e8510a00b23cc008bcf16d11e6b31dbcd143cdefec7aaa1792c7edc12fe4b9e6222b524510aa5578f9 SHA512 e351ef5cc42f013888b7f4daf4a6060ee4a9d5b4b1660b0c635deff2a80497baf9760ed1acc047a9e36bbc0501ca7dee86f3966ea6e537984f31493908f3302a
+EBUILD btrbk-9999.ebuild 2430 BLAKE2B 35c75fbd2e3664392b6f1ae893e04e2b11e0881ddd4865e72d8debf4caa6581c430f3da25c202241b0cedc125a3e40bf8c312dc5d0e68758c864a5b50f8a52fd SHA512 c6338b7c24b1873678383508136902340aab6c388a2dfe8e43ae9923f393f119e8138b08e61b59d359a58435d17c9f12b5ef593031326d536ed9b1c0869bb164
MISC metadata.xml 1075 BLAKE2B 9e352a1f9346ebb1cff94393f977dfb0c3714e53380ce2ed3c8eb53375d2ac74c95655556fb604bf538ae63ae00de9ed97cf9a02cadaec97c7117f9a621ca481 SHA512 681a2a38dc3ddba866d46bd9e88bc8549cb1ba297de965a1faecada4ac7b966a3603ce4b647544ba9dabfbbb59e1072cbecf550b580835ae1d1d79efcc3af7e5
diff --git a/app-backup/btrbk/btrbk-0.32.6-r2.ebuild b/app-backup/btrbk/btrbk-0.32.6-r2.ebuild
new file mode 100644
index 000000000000..3d512852507b
--- /dev/null
+++ b/app-backup/btrbk/btrbk-0.32.6-r2.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/digint/btrbk.git"
+ inherit git-r3
+ SRC_URI=""
+else
+ SRC_URI="https://digint.ch/download/btrbk/releases/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~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 +lsbtr"
+
+RDEPEND="
+ dev-lang/perl
+ >=sys-fs/btrfs-progs-4.12
+ virtual/openssh
+ mbuffer? ( >=sys-block/mbuffer-20180505 )
+"
+BDEPEND="
+ doc? (
+ || (
+ app-text/asciidoc
+ >=dev-ruby/asciidoctor-1.5.7
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-support-asciidoc.patch
+)
+
+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"
+ use lsbtr && targets="${targets} install-bin-links"
+ 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 93122c48a06d..dfefb0fe16b4 100644
--- a/app-backup/btrbk/btrbk-9999.ebuild
+++ b/app-backup/btrbk/btrbk-9999.ebuild
@@ -16,16 +16,25 @@ 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 +lsbtr"
-DEPEND="doc? ( >=dev-ruby/asciidoctor-1.5.7 )"
-
-RDEPEND="dev-lang/perl
+RDEPEND="
+ dev-lang/perl
+ >=sys-fs/btrfs-progs-4.12
virtual/openssh
mbuffer? ( >=sys-block/mbuffer-20180505 )
- >=sys-fs/btrfs-progs-4.12"
+"
+BDEPEND="
+ doc? (
+ || (
+ app-text/asciidoc
+ >=dev-ruby/asciidoctor-1.5.7
+ )
+ )
+"
src_compile() {
emake clean
diff --git a/app-backup/btrbk/files/btrbk-0.32.6-support-asciidoc.patch b/app-backup/btrbk/files/btrbk-0.32.6-support-asciidoc.patch
new file mode 100644
index 000000000000..5de2a1168d9e
--- /dev/null
+++ b/app-backup/btrbk/files/btrbk-0.32.6-support-asciidoc.patch
@@ -0,0 +1,58 @@
+https://github.com/digint/btrbk/commit/9dfee7bc32f392a599164ae4c2a0c24d418751ef
+
+From 9dfee7bc32f392a599164ae4c2a0c24d418751ef Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 8 Jul 2023 23:44:53 +0100
+Subject: [PATCH] doc: allow asciidoc again
+
+This effectively reverts 0e63843195eb35c26386863d18a70a764a3efd04 and
+173319e7e1599ef9d08b985740e55020ebc2ea85.
+
+asciidoc has been revived (for a while now) and doesn't require Python 2. We
+still prefer asciidoctor and fallback to asciidoc/a2x if it's not available.
+
+Comparing the asciidoc and asciidoctor man pages, everything looks OK.
+
+Python tends to be available more readily in distribution build environments
+rather than the Ruby stack. Also, the pregenerated man pages are gone as of
+f132c94c655afa930a73423e6c1abf88d412f49d.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/doc/Makefile
++++ b/doc/Makefile
+@@ -18,8 +18,19 @@ ifeq ($(COMPRESS), yes)
+ endif
+
+ # convert using "asciidoctor": <https://asciidoctor.org>
+-ASCIIDOCTOR_MANPAGE = asciidoctor -d manpage -b manpage
+-ASCIIDOCTOR_HTML = asciidoctor -b html5 -d article
++# fallback to "a2x" from asciidoc package: <http://asciidoc.org>
++ifneq (, $(shell command -v asciidoctor 2> /dev/null))
++ ASCIIDOC_MANPAGE = asciidoctor -d manpage -b manpage
++ ASCIIDOC_HTML = asciidoctor -b html5 -d article
++else ifneq (, $(shell command -v a2x 2> /dev/null))
++ # NOTE: using -L (--no-xmllint), as xmllint is a separate package on many distros.
++ ASCIIDOC_MANPAGE = a2x -L -d manpage -f manpage
++ ASCIIDOC_HTML = asciidoc -b html -d article
++else
++ ASCIIDOC_ERR = $(error "please install either asciidoc or asciidoctor")
++ ASCIIDOC_MANPAGE = $(ASCIIDOC_ERR)
++ ASCIIDOC_HTML = $(ASCIIDOC_ERR)
++endif
+
+ # reproducible builds: reference date is ":date:" attribute from asciidoc source
+ date_attr = $(shell sed -rn 's/:date:\s*//p' $(1))
+@@ -50,10 +61,10 @@ clean:
+ gzip -9 -n -c $< > $@
+
+ %.1 : %.1.asciidoc
+- SOURCE_DATE_EPOCH=$(call source_date_epoch,$<) $(ASCIIDOCTOR_MANPAGE) -o $@ $<
++ SOURCE_DATE_EPOCH=$(call source_date_epoch,$<) $(ASCIIDOC_MANPAGE) $<
+
+ %.5 : %.5.asciidoc
+- SOURCE_DATE_EPOCH=$(call source_date_epoch,$<) $(ASCIIDOCTOR_MANPAGE) -o $@ $<
++ SOURCE_DATE_EPOCH=$(call source_date_epoch,$<) $(ASCIIDOC_MANPAGE) $<
+
+ %.html : %.asciidoc
+- SOURCE_DATE_EPOCH=$(call source_date_epoch,$<) $(ASCIIDOCTOR_HTML) -o $@ $<
++ SOURCE_DATE_EPOCH=$(call source_date_epoch,$<) $(ASCIIDOC_HTML) -o $@ $<