commit:     2625c0b5703f010194069af66b96edbc5f6a799a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 21 06:19:44 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 21 06:19:44 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2625c0b5

app-backup/btrbk: backport asciidoc fix

Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-backup/btrbk/btrbk-0.32.6-r2.ebuild            | 93 ++++++++++++++++++++++
 .../files/btrbk-0.32.6-support-asciidoc.patch      | 58 ++++++++++++++
 2 files changed, 151 insertions(+)

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/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 <[email protected]>
+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 <[email protected]>
+--- 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 $@ $<

Reply via email to