You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.3 KiB

# Copyright 1999-2022 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"
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"
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
}