diff options
author | Sam James <sam@gentoo.org> | 2023-08-21 07:19:44 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-08-21 07:19:44 +0100 |
commit | 2625c0b5703f010194069af66b96edbc5f6a799a (patch) | |
tree | 076212db0914aeda2e8e0b1e55ea866b19f43063 /app-backup | |
parent | app-backup/btrbk: master now supports+prefers asciidoc again (diff) | |
download | gentoo-2625c0b5703f010194069af66b96edbc5f6a799a.tar.gz gentoo-2625c0b5703f010194069af66b96edbc5f6a799a.tar.bz2 gentoo-2625c0b5703f010194069af66b96edbc5f6a799a.zip |
app-backup/btrbk: backport asciidoc fix
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-backup')
-rw-r--r-- | app-backup/btrbk/btrbk-0.32.6-r2.ebuild | 93 | ||||
-rw-r--r-- | app-backup/btrbk/files/btrbk-0.32.6-support-asciidoc.patch | 58 |
2 files changed, 151 insertions, 0 deletions
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 <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 $@ $< |