commit: 679d63c45583a9df86b2597d9f2b196e8edb5f86
Author: Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 13 19:30:10 2025 +0000
Commit: Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
CommitDate: Mon Oct 13 19:32:03 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=679d63c4
sys-fs/sanoid: update metadata, merge ::guru package
This commit merges many differences from the
::guru package and adds the missing -9999 ebuild
as well
Signed-off-by: Marc Schiffbauer <mschiff <AT> gentoo.org>
sys-fs/sanoid/Manifest | 2 +-
sys-fs/sanoid/metadata.xml | 6 ++
sys-fs/sanoid/sanoid-2.3.0-r1.ebuild | 117 +++++++++++++++++++++++++++++++++++
sys-fs/sanoid/sanoid-2.3.0.ebuild | 80 ------------------------
sys-fs/sanoid/sanoid-9999.ebuild | 117 +++++++++++++++++++++++++++++++++++
5 files changed, 241 insertions(+), 81 deletions(-)
diff --git a/sys-fs/sanoid/Manifest b/sys-fs/sanoid/Manifest
index 52f2b9217bbd..fb05cd6662cf 100644
--- a/sys-fs/sanoid/Manifest
+++ b/sys-fs/sanoid/Manifest
@@ -1 +1 @@
-DIST sanoid-2.3.0.tar.gz 86514 BLAKE2B
bb1d7284875ba6654ddebe712423f27f5b0ff2eaeacc759a301c7c75552aabf172b639504dfcd31b2bbc78a1f2eaf290c120509b1acdebdc79ee2978a809267a
SHA512
b1201cddd5aa04474307e2984a6d3625c54135730663e973c11834bc34c544f7771b1870dcf2820f774817ad2a689c5a2bc602d84b3b8f48db61acb3224edb72
+DIST sanoid-2.3.0.gh.tar.gz 86514 BLAKE2B
bb1d7284875ba6654ddebe712423f27f5b0ff2eaeacc759a301c7c75552aabf172b639504dfcd31b2bbc78a1f2eaf290c120509b1acdebdc79ee2978a809267a
SHA512
b1201cddd5aa04474307e2984a6d3625c54135730663e973c11834bc34c544f7771b1870dcf2820f774817ad2a689c5a2bc602d84b3b8f48db61acb3224edb72
diff --git a/sys-fs/sanoid/metadata.xml b/sys-fs/sanoid/metadata.xml
index cd60f785b38c..4b90634ff746 100644
--- a/sys-fs/sanoid/metadata.xml
+++ b/sys-fs/sanoid/metadata.xml
@@ -5,10 +5,16 @@
<email>[email protected]</email>
<name>Marc Schiffbauer</name>
</maintainer>
+ <maintainer type="person">
+ <email>[email protected]</email>
+ <name>John M. Harris, Jr.</name>
+ </maintainer>
<use>
<flag name="cron">Installs cron file</flag>
</use>
<upstream>
+
<changelog>https://github.com/jimsalterjrs/sanoid/releases</changelog>
+ <bugs-to>https://github.com/jimsalterjrs/sanoid/issues</bugs-to>
<remote-id type="github">jimsalterjrs/sanoid</remote-id>
</upstream>
<longdescription lang="en">
diff --git a/sys-fs/sanoid/sanoid-2.3.0-r1.ebuild
b/sys-fs/sanoid/sanoid-2.3.0-r1.ebuild
new file mode 100644
index 000000000000..ecf53c859eee
--- /dev/null
+++ b/sys-fs/sanoid/sanoid-2.3.0-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd optfeature
+
+DESCRIPTION="Policy-driven snapshot management and replication tools for
OpenZFS."
+HOMEPAGE="https://github.com/jimsalterjrs/sanoid"
+
+if [[ "${PV}" = *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/jimsalterjrs/${PN^}.git"
+else
+ SRC_URI="https://github.com/jimsalterjrs/${PN^}/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="cron"
+
+BDEPEND="
+ dev-lang/perl
+ sys-apps/groff
+"
+
+RDEPEND="
+ dev-lang/perl
+ app-arch/gzip
+ app-arch/lz4
+ cron? ( virtual/cron )
+ dev-perl/Capture-Tiny
+ dev-perl/Config-IniFiles
+ sys-apps/pv
+ sys-block/mbuffer
+ sys-fs/zfs
+ virtual/perl-Data-Dumper
+ virtual/perl-Getopt-Long
+ virtual/ssh
+"
+
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ perldoc -onroff -dsanoid.1 sanoid || die "Failed to compile sanoid.1"
+ perldoc -onroff -dsyncoid.1 syncoid || die "Failed to compile syncoid.1"
+}
+
+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.sanoid-prune.service" || die
+}
+
+src_install() {
+ dobin sanoid
+ dobin syncoid
+ doman sanoid.1 syncoid.1
+
+ # 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 units
+ systemd_dounit "packages/debian/sanoid.service"
+ systemd_dounit "packages/debian/sanoid.timer"
+ systemd_dounit "packages/debian/sanoid.sanoid-prune.service"
+}
+
+pkg_postinst() {
+ optfeature "lzop compression support" app-arch/lzop
+ optfeature "pigz compression support" app-arch/pigz
+ optfeature "zstd compression support" app-arch/zstd
+
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "You will need to set up your
${EROOT}/etc/sanoid/sanoid.conf file before"
+ elog "running sanoid for the first time. For details, please
consult the"
+ elog "documentation on https://github.com/jimsalterjrs/sanoid."
+ if systemd_is_booted; then
+ elog ""
+ elog "To enable sanoid via systemd timer, run:"
+ elog " systemctl enable --now sanoid.timer"
+ if use cron; then
+ elog ""
+ elog "or"
+ elog ""
+ fi
+ fi
+ if use cron; then
+ elog "To enable sanoid via cron, uncomment the cron job
in /etc/cron.d/sanoid."
+ fi
+ else
+ elog "Removing old cache files (if any)"
+ [[ -f /var/cache/sanoidsnapshots.txt ]] && rm -v
/var/cache/sanoidsnapshots.txt
+ [[ -f /var/cache/sanoid/snapshots.txt ]] && rm -v
/var/cache/sanoid/snapshots.txt
+ [[ -f /var/cache/sanoid/datasets.txt ]] && rm -v
/var/cache/sanoid/datasets.txt
+ fi
+}
diff --git a/sys-fs/sanoid/sanoid-2.3.0.ebuild
b/sys-fs/sanoid/sanoid-2.3.0.ebuild
deleted file mode 100644
index e907688ce738..000000000000
--- a/sys-fs/sanoid/sanoid-2.3.0.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2023-2025 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"
-
-RDEPEND="
- dev-lang/perl
- 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.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 units
- systemd_dounit "packages/debian/sanoid.service"
- systemd_dounit "packages/debian/sanoid.timer"
- systemd_dounit "packages/debian/sanoid.sanoid-prune.service"
-}
-
-pkg_postinst() {
- elog "Removing old cache files (if any)"
- [[ -f /var/cache/sanoidsnapshots.txt ]] && rm -v
/var/cache/sanoidsnapshots.txt
- [[ -f /var/cache/sanoid/snapshots.txt ]] && rm -v
/var/cache/sanoid/snapshots.txt
- [[ -f /var/cache/sanoid/datasets.txt ]] && rm -v
/var/cache/sanoid/datasets.txt
-
- elog "Edit the /etc/sanoid/sanoid.conf file to configure sanoid."
- if systemd_is_booted; then
- elog "To enable sanoid via systemd timer, run:"
- elog " systemctl enable --now sanoid.timer"
- fi
- if use cron && systemd_is_booted; then
- elog "OR"
- fi
- if use cron; then
- elog "To enable sanoid via cron, uncomment the cron job in
/etc/cron.d/sanoid."
- fi
-}
diff --git a/sys-fs/sanoid/sanoid-9999.ebuild b/sys-fs/sanoid/sanoid-9999.ebuild
new file mode 100644
index 000000000000..ecf53c859eee
--- /dev/null
+++ b/sys-fs/sanoid/sanoid-9999.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd optfeature
+
+DESCRIPTION="Policy-driven snapshot management and replication tools for
OpenZFS."
+HOMEPAGE="https://github.com/jimsalterjrs/sanoid"
+
+if [[ "${PV}" = *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/jimsalterjrs/${PN^}.git"
+else
+ SRC_URI="https://github.com/jimsalterjrs/${PN^}/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="cron"
+
+BDEPEND="
+ dev-lang/perl
+ sys-apps/groff
+"
+
+RDEPEND="
+ dev-lang/perl
+ app-arch/gzip
+ app-arch/lz4
+ cron? ( virtual/cron )
+ dev-perl/Capture-Tiny
+ dev-perl/Config-IniFiles
+ sys-apps/pv
+ sys-block/mbuffer
+ sys-fs/zfs
+ virtual/perl-Data-Dumper
+ virtual/perl-Getopt-Long
+ virtual/ssh
+"
+
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ perldoc -onroff -dsanoid.1 sanoid || die "Failed to compile sanoid.1"
+ perldoc -onroff -dsyncoid.1 syncoid || die "Failed to compile syncoid.1"
+}
+
+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.sanoid-prune.service" || die
+}
+
+src_install() {
+ dobin sanoid
+ dobin syncoid
+ doman sanoid.1 syncoid.1
+
+ # 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 units
+ systemd_dounit "packages/debian/sanoid.service"
+ systemd_dounit "packages/debian/sanoid.timer"
+ systemd_dounit "packages/debian/sanoid.sanoid-prune.service"
+}
+
+pkg_postinst() {
+ optfeature "lzop compression support" app-arch/lzop
+ optfeature "pigz compression support" app-arch/pigz
+ optfeature "zstd compression support" app-arch/zstd
+
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "You will need to set up your
${EROOT}/etc/sanoid/sanoid.conf file before"
+ elog "running sanoid for the first time. For details, please
consult the"
+ elog "documentation on https://github.com/jimsalterjrs/sanoid."
+ if systemd_is_booted; then
+ elog ""
+ elog "To enable sanoid via systemd timer, run:"
+ elog " systemctl enable --now sanoid.timer"
+ if use cron; then
+ elog ""
+ elog "or"
+ elog ""
+ fi
+ fi
+ if use cron; then
+ elog "To enable sanoid via cron, uncomment the cron job
in /etc/cron.d/sanoid."
+ fi
+ else
+ elog "Removing old cache files (if any)"
+ [[ -f /var/cache/sanoidsnapshots.txt ]] && rm -v
/var/cache/sanoidsnapshots.txt
+ [[ -f /var/cache/sanoid/snapshots.txt ]] && rm -v
/var/cache/sanoid/snapshots.txt
+ [[ -f /var/cache/sanoid/datasets.txt ]] && rm -v
/var/cache/sanoid/datasets.txt
+ fi
+}