summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/btrfsmaintenance')
-rw-r--r--sys-fs/btrfsmaintenance/Manifest1
-rw-r--r--sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.ebuild62
-rw-r--r--sys-fs/btrfsmaintenance/metadata.xml5
3 files changed, 68 insertions, 0 deletions
diff --git a/sys-fs/btrfsmaintenance/Manifest b/sys-fs/btrfsmaintenance/Manifest
index 82d8d13de79b..fa6007136117 100644
--- a/sys-fs/btrfsmaintenance/Manifest
+++ b/sys-fs/btrfsmaintenance/Manifest
@@ -1 +1,2 @@
DIST btrfsmaintenance-0.3.1.tar.gz 19698 BLAKE2B f792d7e55dd738b4be2f18aa4047c8b2c092244b71c50e32cf881a7862b14a2d897a170515388fcee40a89763c4c91d357ca3ceb559e372ca3c673d0b1d3aec2 SHA512 89be6da3d6bb3f85f645ac899f173d19cb787e938dd2fc91be16b3202a6784ca33dc4a4d9f9ee78ac6a96468dbaa4f4dc7a2f2e6998d550ea44d7af24198dbfb
+DIST btrfsmaintenance-0.4.tar.gz 21622 BLAKE2B 844d467b7712093370c1d6391e26d5046deb84cee6fd60b5774743415c75ad00a1e27c0be21004c260680b72b5615dcfd01b84f1eba3d57f7c9c5d22b6750d8d SHA512 2d19e82c03b291d157dc5f763dcb094330fd1a4aaee6215dbe576a5da44f71f4adee55fd06c60409e4699ac671d2fc73628f202f4f68270910eeba782f0ad153
diff --git a/sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.ebuild b/sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.ebuild
new file mode 100644
index 000000000000..8c4208008be5
--- /dev/null
+++ b/sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd
+
+DESCRIPTION="Scripts for btrfs maintenance tasks like periodic scrub, balance, trim or defrag"
+HOMEPAGE="https://github.com/kdave/btrfsmaintenance"
+SRC_URI="https://github.com/kdave/btrfsmaintenance/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="systemd"
+
+RDEPEND="systemd? ( sys-apps/systemd )
+ sys-fs/btrfs-progs
+ virtual/cron"
+
+src_prepare() {
+ # Fix config path into watching service
+ sed -i 's%/etc/sysconfig/btrfsmaintenance%/etc/default/btrfsmaintenance%g' btrfsmaintenance-refresh.* || \
+ die "Unable to patch btrfsmaintenance-refresh.*"
+ default
+}
+
+src_install() {
+ dodoc README.md CONTRIBUTING.md btrfsmaintenance.changes
+ insinto /etc/default
+ newins sysconfig.btrfsmaintenance btrfsmaintenance
+ insinto /usr/share/btrfsmaintenance
+ doins btrfsmaintenance-functions
+ exeinto /usr/share/btrfsmaintenance
+ doexe btrfs*.sh
+ systemd_dounit *.service
+ systemd_dounit *.timer
+ systemd_dounit *.path
+}
+
+pkg_postinst() {
+ elog "Installing default btrfsmaintenance scripts"
+ if use systemd; then
+ "${EROOT%/}"/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh systemd-timer || die
+ else
+ "${EROOT%/}"/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh || die
+ fi
+ elog "Now edit cron periods and mount points in /etc/default/btrfsmaintenance "
+ elog "then run /usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh to"
+ elog "update cron symlinks or run"
+ elog "/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh systemd-timer"
+ elog "to update systemd timers."
+ elog "You can also enable btrfsmaintenance-refresh.path service in order to"
+ elog "monitor the config files changes and update systemd timers accordly."
+}
+
+pkg_prerm() {
+ if [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ elog "Removing symlinks from btrfsmaintenance cron tasks"
+ "${EROOT%/}"/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh uninstall || die
+ fi
+}
diff --git a/sys-fs/btrfsmaintenance/metadata.xml b/sys-fs/btrfsmaintenance/metadata.xml
index 1aba136c2736..46342cb51b38 100644
--- a/sys-fs/btrfsmaintenance/metadata.xml
+++ b/sys-fs/btrfsmaintenance/metadata.xml
@@ -12,4 +12,9 @@
<upstream>
<remote-id type="github">kdave/btrfsmaintenance</remote-id>
</upstream>
+ <use>
+ <flag name="systemd">
+ Enable systemd services and timers instead of cron timers
+ </flag>
+ </use>
</pkgmetadata>