sys-fs/sanoid - 2.2.0 (vowstar)

Search

Install

Install this version:

emerge -a =sys-fs/sanoid-2.2.0

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =sys-fs/sanoid-2.2.0

Or alternatively:

emerge --autounmask-write -a =sys-fs/sanoid-2.2.0

Package Information

Description:
Policy-driven snapshot management and replication tools.
Homepage:
https://github.com/jimsalterjrs/sanoid
License:
GPL-3

Ebuild Details

Version EAPI Keywords Slot
2.2.0 8 ~amd64 0
View Raw Ebuild
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit systemd

DESCRIPTION="Policy-driven snapshot management and replication tools."
HOMEPAGE="https://github.com/jimsalterjrs/sanoid"
SRC_URI="https://github.com/jimsalterjrs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="cron systemd"

REQUIRED_USE="cron? ( !systemd )"

RDEPEND="
	>=dev-lang/perl-5.30
	app-arch/gzip
	app-arch/lz4
	app-arch/lzop
	app-arch/zstd
	cron? ( virtual/cron )
	dev-perl/Capture-Tiny
	dev-perl/Config-IniFiles
	sys-apps/pv
	sys-block/mbuffer
	virtual/ssh
"
DEPEND="${RDEPEND}"

DOCS="CHANGELIST LICENSE README.md"

src_prepare() {
	default
	sed -i 's|/usr/sbin|/usr/bin|g' \
		"packages/debian/sanoid.timer" \
		"packages/debian/sanoid.service" \
		"packages/debian/sanoid-prune.service" || die
}

src_install() {
	# Documents
	einstalldocs
	# Configs
	insinto /etc/sanoid
	doins sanoid.defaults.conf
	doins sanoid.conf
	# Binaries
	dobin sanoid syncoid findoid sleepymutex
	# Cron
	if use cron; then
		insinto /etc/cron.d
		echo "* * * * * root TZ=UTC /usr/bin/sanoid --cron" > "${PN}.cron" || die
		newins "${PN}.cron" "${PN}"
	fi
	# Systemd
	if use systemd; then
		systemd_dounit "packages/debian/sanoid.service"
		systemd_dounit "packages/debian/sanoid.timer"
		systemd_dounit "packages/debian/sanoid-prune.service"
	fi
}

pkg_postinst() {
	elog "Edit the /etc/sanoid/sanoid.conf file to configure sanoid."
	if use cron; then
		elog "/etc/cron.d/sanoid executes \`sanoid --cron\` every minute."
	fi
	if use systemd; then
		elog "systemd units are installed. Enable them with:"
		elog "systemctl enable sanoid.service"
		elog "systemctl enable sanoid-prune.service"
	fi
}

USE Flags

Manage flags for this package: euse -i <flag> -p sys-fs/sanoid | euse -E <flag> -p sys-fs/sanoid | euse -D <flag> -p sys-fs/sanoid

Global/Standard Flags

Inherited Eclasses

Dependencies

DEPEND

	>=dev-lang/perl-5.30
	app-arch/gzip
	app-arch/lz4
	app-arch/lzop
	app-arch/zstd
	cron? ( virtual/cron )
	dev-perl/Capture-Tiny
	dev-perl/Config-IniFiles
	sys-apps/pv
	sys-block/mbuffer
	virtual/ssh

RDEPEND

	>=dev-lang/perl-5.30
	app-arch/gzip
	app-arch/lz4
	app-arch/lzop
	app-arch/zstd
	cron? ( virtual/cron )
	dev-perl/Capture-Tiny
	dev-perl/Config-IniFiles
	sys-apps/pv
	sys-block/mbuffer
	virtual/ssh

Manifest for 2.2.0

Type File Size Source URLs
DIST sanoid-2.2.0.tar.gz 77865 bytes https://github.com/jimsalterjrs/sanoid/archive/v2.2.0.tar.gz