summaryrefslogtreecommitdiff
path: root/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-09-30 17:27:54 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-09-30 17:27:54 +0100
commitf70a1bfc721336d4fc7dfb711c2f518a6b18cf16 (patch)
treee907cb121b30e3c1df1710719c0ddf4029597a47 /sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
parentdb063b515939ab15261136b24e4bc44386335c0c (diff)
gentoo resync : 30.09.2020
Diffstat (limited to 'sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild')
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild48
1 files changed, 42 insertions, 6 deletions
diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
index c880e32a7601..4096503e2fff 100644
--- a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
+++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit readme.gentoo-r1
+inherit prefix readme.gentoo-r1 systemd
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -20,10 +20,14 @@ HOMEPAGE="https://github.com/zfsonlinux/zfs-auto-snapshot"
LICENSE="GPL-2+"
SLOT="0"
-IUSE="+default-exclude"
+IUSE="+cron +default-exclude systemd"
-RDEPEND="sys-fs/zfs
- virtual/cron"
+RDEPEND="
+ sys-fs/zfs
+ !systemd? ( virtual/cron )
+"
+
+REQUIRED_USE="!systemd? ( cron )"
src_install() {
if use default-exclude; then
@@ -34,6 +38,25 @@ src_install() {
fi
readme.gentoo_create_doc
emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install
+
+ local exclude unit
+ exclude="$(usev default-exclude)"
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.service; do
+ cp "${FILESDIR}/${unit}" "${T}/${unit}" || die
+ eprefixify "${T}/${unit}"
+ sed -i "s/@DEFAULT_EXCLUDE@/${exclude:+--default-exclude}/g" "${T}/${unit}" || die
+ systemd_dounit "${T}/${unit}"
+ done
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.timer; do
+ systemd_dounit "${FILESDIR}/${unit}"
+ done
+ systemd_dounit "${FILESDIR}/${PN}.target"
+
+ if ! use cron; then
+ ebegin "removing cron files from installation image"
+ rm -rfv "${ED}/etc" || die
+ eend "$?"
+ fi
}
pkg_postinst() {
@@ -45,8 +68,21 @@ pkg_postinst() {
elog
fi
- if has_version sys-process/fcron; then
+ if use cron && has_version sys-process/fcron; then
ewarn "frequent snapshot may not work if you are using fcron"
ewarn "you should add frequent job to crontab manually"
fi
+
+ if use cron; then
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ echo
+ ewarn "Both 'cron' and 'systemd' flags are enabled."
+ ewarn "So both ${PN}.target and cron files were installed."
+ ewarn "Please don't use 2 implementations at the same time."
+ ewarn "Cronjobs are usually enabled by default via /etc/cron.* jobs"
+ ewarn "If you want to use systemd ${PN}.target timers"
+ ewarn "disable 'cron' flag and reinstall ${PN}"
+ echo
+ fi
+ fi
}