sys-fs/btrfsmaintenance: version bump to 0.4 and add systemd support.
authorLuigi 'Comio' Mantellini <luigi.mantellini@gmail.com>
Thu, 25 Jan 2018 18:38:12 +0000 (19:38 +0100)
committerPatrice Clement <monsieurp@gentoo.org>
Fri, 26 Jan 2018 21:22:56 +0000 (22:22 +0100)
Closes: https://bugs.gentoo.org/645660
Closes: https://bugs.gentoo.org/643166
Closes: https://github.com/gentoo/gentoo/pull/6955

sys-fs/btrfsmaintenance/Manifest
sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.ebuild [new file with mode: 0644]
sys-fs/btrfsmaintenance/metadata.xml

index 82d8d13de79b40a39f4ca56d1259f6e807c256c2..fa6007136117e3e0a6f9dd8c955fca951fcac5d9 100644 (file)
@@ -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 (file)
index 0000000..8c42080
--- /dev/null
@@ -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
+}
index 1aba136c2736e2d6079d487c9d940dcd37fcd78c..46342cb51b3886bab8de6fffb5b0e69aedb6d6f1 100644 (file)
@@ -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>