summaryrefslogtreecommitdiff
path: root/sys-fs
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
parentdb063b515939ab15261136b24e4bc44386335c0c (diff)
gentoo resync : 30.09.2020
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/Manifest.gzbin21551 -> 21549 bytes
-rw-r--r--sys-fs/bcache-tools/Manifest9
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.0.8.ebuild51
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.1.ebuild (renamed from sys-fs/bcache-tools/bcache-tools-1.0.5.ebuild)31
-rw-r--r--sys-fs/bcache-tools/bcache-tools-9999.ebuild57
-rw-r--r--sys-fs/bcache-tools/files/1.1/bcache-tools-add-bcache-status.patch381
-rw-r--r--sys-fs/bcache-tools/files/1.1/bcache-tools-add-man-page-bcache-status.8.patch69
-rw-r--r--sys-fs/bindfs/Manifest2
-rw-r--r--sys-fs/bindfs/bindfs-1.14.8.ebuild23
-rw-r--r--sys-fs/diskdev_cmds/Manifest2
-rw-r--r--sys-fs/diskdev_cmds/metadata.xml4
-rw-r--r--sys-fs/fuse-common/Manifest2
-rw-r--r--sys-fs/fuse-common/metadata.xml2
-rw-r--r--sys-fs/fuse/Manifest2
-rw-r--r--sys-fs/fuse/metadata.xml2
-rw-r--r--sys-fs/hfsutils/Manifest4
-rw-r--r--sys-fs/hfsutils/hfsutils-3.2.6_p14.ebuild2
-rw-r--r--sys-fs/hfsutils/metadata.xml8
-rw-r--r--sys-fs/inotify-tools/Manifest2
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild5
-rw-r--r--sys-fs/jdiskreport-bin/Manifest4
-rw-r--r--sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.5-r1.ebuild31
-rw-r--r--sys-fs/jdiskreport-bin/jdiskreport-bin-1.3.0.ebuild31
-rw-r--r--sys-fs/mac-fdisk/Manifest2
-rw-r--r--sys-fs/mac-fdisk/metadata.xml8
-rw-r--r--sys-fs/zfs-auto-snapshot/Manifest16
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot.target11
-rw-r--r--sys-fs/zfs-auto-snapshot/metadata.xml3
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r1.ebuild88
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild48
-rw-r--r--sys-fs/zfs/Manifest3
-rw-r--r--sys-fs/zfs/files/2.0.0_rc2-exports-d-permissions.patch189
-rw-r--r--sys-fs/zfs/zfs-2.0.0_rc2-r1.ebuild (renamed from sys-fs/zfs/zfs-2.0.0_rc2.ebuild)5
43 files changed, 948 insertions, 219 deletions
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz
index 018bba8851c3..f96dfc63cb27 100644
--- a/sys-fs/Manifest.gz
+++ b/sys-fs/Manifest.gz
Binary files differ
diff --git a/sys-fs/bcache-tools/Manifest b/sys-fs/bcache-tools/Manifest
index 65fd77dbe340..758d7cc9f754 100644
--- a/sys-fs/bcache-tools/Manifest
+++ b/sys-fs/bcache-tools/Manifest
@@ -4,12 +4,11 @@ AUX 1.0.8_p20140220/bcache-tools-1.0.8-noprobe.patch 1335 BLAKE2B bb99576cd404dc
AUX 1.0.8_p20140220/bcache-tools-1.0.8-probe-bcache-underlinking.patch 531 BLAKE2B 3e1ec0b19cf4e68cb30197c94f4a2c85f3479e60b9ca953553f2c5c5730a30cd1bef7b013c5d5087a9220f05bf0d634903a4ed263df250673641f78982d98835 SHA512 883dbb66051bc7d1cbb170235ef8dbb4a1d115d0a598eae907d89fae6365c2e6725929e1297f9f74c742150d893ed8febb99a03bf55e91f0b90cc33314cf51d2
AUX 1.0.8_p20140220/bcache-tools-20131018-fedconf.patch 253 BLAKE2B 74ebc9f660eab05c6633ac9574951ee5b6355bceb0e32ff6bc586a6cc0e4bde70bbe085e71fe6186fc4e29317c4f7d7d1556945f1ec237688d555695a95112c0 SHA512 459875969ef1a80a5bb635e5da2187222a01aefe9ea49eb7feeab89d5290e4d478a0e5e37e424dd77a69916811b0ad3f82f7ec4e0ae91ae686e3fe7f5eac9d57
AUX 1.0.8_p20140220/bcache-tools-status-20130826-man.patch 1095 BLAKE2B df33f5ce76d5e5b9b859588ebe4be1ea5c710281e21595cc80438ffd2dece7cf9278936bc08c9f8250672d4d3f9daa4b52c9723340650fbc9d348794cfead564 SHA512 44f4227e7cd3e4ec3b4c90d27445be8bfa36b229aa11a08b9b66c08c224dc9c006c0d358580b0906a8372eb83b938c0a5a199665680e96898aa2070bb55000de
+AUX 1.1/bcache-tools-add-bcache-status.patch 13158 BLAKE2B e986d81d6fdf76f809ffcaad0c93869421e369e77efb7a51f81c1abe07b941c703bf80ce89e4c09bad42f5b4d76a7bb7c40fa5ad94c87f31237b676c40b41049 SHA512 bdcc2912d3b6e47781e9023433e2b152d628ce9fa538ae4ff7ed8385a495752786cdb32bd8f82d7a7c84ad068d49b22b3911c0125e235f561a729c20c8223363
+AUX 1.1/bcache-tools-add-man-page-bcache-status.8.patch 1431 BLAKE2B f88c54286ad07766e4ebe216a27b99838ee9eb63412bb50a1036c93e1e41d77ea9d02cc47c148105ab63115f954c4dcc52903e7c726399b2d2ec2066a7b24ecc SHA512 e6e5f073b01e0272710bc6effeecf5ce6786f1606986e12f18bf37a1124d25858a4ed25fa42f2da85bf04e95844e3c6156af2e83bed323bb83621601774b0802
DIST bcache-status-20140220.tar.gz 3779 BLAKE2B a3fa5e9d87b2c51f1f5178693db6d9f8b4bde31c77783d1ebd9de6e81995d89a4b07df43178cba384757b212087c474a0508640d1d3ddcd97d3d928643971e4a SHA512 0c8db02dc865b469f3a5964f679a3bfdf5cdbf5a2f6ccd5d81544f3bb3c06df2f5d06b9f09aaec527ec90229740dcd31fbb33e2628721b6da139cfcee6b48d7c
-DIST bcache-tools-1.0.5.tgz 21934 BLAKE2B 9761fd0b7b7fa5a9a6911576988065b80ada0fbb52a094b1290affca302b2b995f0418ed65ab5af6de71c7d18953606968cc910e7b4c4f8cb2e0e9970c8e7d7c SHA512 aaf27e4cc3037d482cb14c8bb083c1ce5cda5641a19cec67ca1ad22cde71ce035e49701145c6d920b4d62058897c4b7d29d341b3b8bd436c9c51e2f8bdb5c568
-DIST bcache-tools-1.0.8.tgz 22153 BLAKE2B d40a64b02e0d66ef8868151870715f6e6ab54633e4875c32d0e03dfe1871e5aa98d7e133b9eed583ac4898b1598f38b71e47109210009ca51c4dfe9dbd31768c SHA512 21eaed457e5de623089c0d4e1c11394a3950f29c749c502bfd5dd94d3dcdc7379c4a910825e33bf9fc8080df656949b94a1a28d19048a8eb6422976cb391b7dc
DIST bcache-tools-1.0.8_p20140220.tgz 22153 BLAKE2B d40a64b02e0d66ef8868151870715f6e6ab54633e4875c32d0e03dfe1871e5aa98d7e133b9eed583ac4898b1598f38b71e47109210009ca51c4dfe9dbd31768c SHA512 21eaed457e5de623089c0d4e1c11394a3950f29c749c502bfd5dd94d3dcdc7379c4a910825e33bf9fc8080df656949b94a1a28d19048a8eb6422976cb391b7dc
-EBUILD bcache-tools-1.0.5.ebuild 948 BLAKE2B 933b23d5b1a82ace33886d6d85960630c19ceb7b65ee8a39cf3538d6f58f410d3caece111ea3db203b3e14148e5595f424f2c79caebb64195dd12f4cd894a735 SHA512 9aaf48abd2b5c5aeffbdf0d9036c45c795802281ac1424c1acb9ac45f26b5f232632738ebc22ad894c007478e1036c8ce28ed7fb85cddbe5ca14c98a0228d8f1
-EBUILD bcache-tools-1.0.8.ebuild 948 BLAKE2B 933b23d5b1a82ace33886d6d85960630c19ceb7b65ee8a39cf3538d6f58f410d3caece111ea3db203b3e14148e5595f424f2c79caebb64195dd12f4cd894a735 SHA512 9aaf48abd2b5c5aeffbdf0d9036c45c795802281ac1424c1acb9ac45f26b5f232632738ebc22ad894c007478e1036c8ce28ed7fb85cddbe5ca14c98a0228d8f1
+DIST bcache-tools-1.1.tar.gz 34548 BLAKE2B e6ebc0f609debe0cc123deba0e21076441c37cdbc6edd02bf2c16c0e36fe806f1fc160b9e9baed577f86f6358884182a4e3903f34bccee81943191c0ba6a2d11 SHA512 4ccbef47255bf3644a50242a79951b1f3720e71a55eb1e07dc6b8486df0245da99a77bba751b50197d489b4c5d738e5284aabc014c2f7f44816ddf6a1bb807ca
EBUILD bcache-tools-1.0.8_p20140220-r1.ebuild 1600 BLAKE2B b9cece80cc38461984bcfbe4a736f294f5d65339b29dc6e72ec5416fb6cca669d17af4137ef5e43100c682c01d779069c82e81ed87236200f29f6f1cab84c596 SHA512 37f20893675416762095b2d45aea6098a5f1886fe4a8abdf2005bad5e5a3e90ad5eeaa0642daf95adefc37866b00f2615a9291ee9aeff40cf5481ce797d4fb44
-EBUILD bcache-tools-9999.ebuild 992 BLAKE2B b44ccdac9c100f3777e73db2b5d91831d4cb9f434507df1b03d4aac965a0f3d927e1872f40050d1d5b3b81a0072d832425eb58ac047ca16ee3122e00f55bd525 SHA512 96f1b026c0365cb19fdd4d0815778609eb2f59cc6cd4760a5287a1e76f6c5591b9ac1ae36eae966255fa93b5be690e16553ca2881880c7cb8b4bb62ee4ae4de5
+EBUILD bcache-tools-1.1.ebuild 1352 BLAKE2B 8c53986672505f423e11800d10953fe45eea9304d3a3a03a98d28d392f6c3c906b2a977ced978366574fbe4b768f9f1804333c0aabba6acd7a3fe13798d0f837 SHA512 9143c9749d870668d457d1cb78276bb35d7f8be01846227d7b8c266c2ae2a56b93aac418c012347f14477c7d4d45fc35c5ee281594b65e9a025a0bdc452c5059
MISC metadata.xml 253 BLAKE2B 053cd7caa33b4ace537584fb68b0fd010978dd08ec030003d4f4cad19896018102a7fa85ccdfd6cbecb8f8c62c63fd97b7babc6a5b72d2a6f37d4aec14442694 SHA512 3ea0dad00b289add099c74cf0b6b8202e9adc0ac7537b16b7673d2fadddcf83c7c686b0662bfd4766819d37af300cf978bb939133aed74b9a8aa8de2b84e805a
diff --git a/sys-fs/bcache-tools/bcache-tools-1.0.8.ebuild b/sys-fs/bcache-tools/bcache-tools-1.0.8.ebuild
deleted file mode 100644
index ed33527ffb9e..000000000000
--- a/sys-fs/bcache-tools/bcache-tools-1.0.8.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs udev
-
-DESCRIPTION="Tools for bcachefs"
-HOMEPAGE="https://bcache.evilpiepirate.org/"
-SRC_URI="https://github.com/g2p/bcache-tools/archive/v${PV}.tar.gz -> ${P}.tgz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-RDEPEND=">=sys-apps/util-linux-2.24"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- tc-export CC
- sed \
- -e '/^CFLAGS/s:-O2::' \
- -e '/^CFLAGS/s:-g:-std=gnu89:' \
- -i Makefile || die
-}
-
-src_install() {
- into /
- dosbin make-bcache bcache-super-show
-
- exeinto $(get_udevdir)
- doexe bcache-register probe-bcache
-
- udev_dorules 69-bcache.rules
-
- insinto /etc/initramfs-tools/hooks/bcache
- doins initramfs/hook
-
- # that is what dracut does
- insinto /usr/lib/dracut/modules.d/90bcache
- doins dracut/module-setup.sh
-
- doman *.8
-
- dodoc README
-}
-
-pkg_postinst() {
- udev_reload
-}
diff --git a/sys-fs/bcache-tools/bcache-tools-1.0.5.ebuild b/sys-fs/bcache-tools/bcache-tools-1.1.ebuild
index ed33527ffb9e..0f340688356d 100644
--- a/sys-fs/bcache-tools/bcache-tools-1.0.5.ebuild
+++ b/sys-fs/bcache-tools/bcache-tools-1.1.ebuild
@@ -1,37 +1,54 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit toolchain-funcs udev
+PYTHON_COMPAT=( python3_{6,7,8,9} )
-DESCRIPTION="Tools for bcachefs"
+inherit flag-o-matic python-r1 toolchain-funcs udev
+
+DESCRIPTION="Tools for bcache"
HOMEPAGE="https://bcache.evilpiepirate.org/"
-SRC_URI="https://github.com/g2p/bcache-tools/archive/v${PV}.tar.gz -> ${P}.tgz"
+SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/colyli/${PN}.git/snapshot/${P}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
-RDEPEND=">=sys-apps/util-linux-2.24"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ sys-apps/util-linux"
DEPEND="${RDEPEND}"
+PATCHES=(
+ "${FILESDIR}"/1.0.8_p20140220/bcache-tools-1.0.8-noprobe.patch
+ "${FILESDIR}"/${PV}/bcache-tools-add-bcache-status.patch
+ "${FILESDIR}"/${PV}/bcache-tools-add-man-page-bcache-status.8.patch
+)
+
src_prepare() {
+ default
+
tc-export CC
sed \
-e '/^CFLAGS/s:-O2::' \
- -e '/^CFLAGS/s:-g:-std=gnu89:' \
+ -e '/^CFLAGS/s:-g::' \
-i Makefile || die
+
+ append-lfs-flags
}
src_install() {
into /
- dosbin make-bcache bcache-super-show
+ dosbin bcache make-bcache bcache-super-show
exeinto $(get_udevdir)
doexe bcache-register probe-bcache
+ python_foreach_impl python_doscript bcache-status
+
udev_dorules 69-bcache.rules
insinto /etc/initramfs-tools/hooks/bcache
diff --git a/sys-fs/bcache-tools/bcache-tools-9999.ebuild b/sys-fs/bcache-tools/bcache-tools-9999.ebuild
deleted file mode 100644
index 3bd398fac481..000000000000
--- a/sys-fs/bcache-tools/bcache-tools-9999.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-EGIT_NONSHALLOW=true
-
-inherit git-r3 toolchain-funcs udev
-
-DESCRIPTION="Tools for bcachefs"
-HOMEPAGE="https://bcache.evilpiepirate.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/g2p/bcache-tools.git"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS=""
-IUSE=""
-
-RDEPEND=">=sys-apps/util-linux-2.24"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- tc-export CC
- sed \
- -e '/^CFLAGS/s:-O2::' \
- -e '/^CFLAGS/s:-g:-std=gnu89:' \
- -i Makefile || die
-}
-
-src_install() {
- into /
- dosbin make-bcache bcache-super-show
-
- exeinto $(get_udevdir)
- doexe bcache-register probe-bcache
-
- udev_dorules 69-bcache.rules
-
- insinto /etc/initramfs-tools/hooks/bcache
- doins initramfs/hook
-
- insinto /etc/initcpio/install/bcache
- doins initcpio/install
-
- # that is what dracut does
- insinto /usr/lib/dracut/modules.d/90bcache
- doins dracut/module-setup.sh
-
- doman *.8
-
- dodoc README
-}
-
-pkg_postinst() {
- udev_reload
-}
diff --git a/sys-fs/bcache-tools/files/1.1/bcache-tools-add-bcache-status.patch b/sys-fs/bcache-tools/files/1.1/bcache-tools-add-bcache-status.patch
new file mode 100644
index 000000000000..bd58d0a309d5
--- /dev/null
+++ b/sys-fs/bcache-tools/files/1.1/bcache-tools-add-bcache-status.patch
@@ -0,0 +1,381 @@
+From 10824170800268e91508e2edc6ed745f40370f0a Mon Sep 17 00:00:00 2001
+From: Coly Li <colyli@suse.de>
+Date: Wed, 2 Sep 2020 19:27:08 +0800
+Subject: [PATCH 1/2] bcache-tools: add bcache-status
+
+People request to include bcache-status into bcache-tools package. This
+patch picks bcache-status script from github page of the orginal author
+Darrick J. Wong,
+ https://github.com/djwong/bcache-tools/blob/master/bcache-status
+
+Thanks to Darrick for writing the great bcache-status, and I will keep
+this script being updated from Darrick's repo time to time.
+
+Signed-off-by: Coly Li <colyli@suse.de>
+Cc: Darrick J. Wong <darrick.wong@oracle.com>
+---
+ bcache-status | 352 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 352 insertions(+)
+ create mode 100755 bcache-status
+
+diff --git a/bcache-status b/bcache-status
+new file mode 100755
+index 0000000..ac5a22f
+--- /dev/null
++++ b/bcache-status
+@@ -0,0 +1,352 @@
++#!/usr/bin/env python
++#
++# Dumb script to dump (some) of bcache status
++# Copyright 2014 Darrick J. Wong. All rights reserved.
++#
++# This file is part of Bcache. Bcache is free software: you can
++# redistribute it and/or modify it under the terms of the GNU General Public
++# License as published by the Free Software Foundation, version 2.
++#
++# This program is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
++# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
++# details.
++#
++# You should have received a copy of the GNU General Public License along with
++# this program; if not, write to the Free Software Foundation, Inc., 51
++# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++
++import os
++import sys
++import argparse
++
++MAX_KEY_LENGTH = 28
++DEV_BLOCK_PATH = '/dev/block/'
++SYSFS_BCACHE_PATH = '/sys/fs/bcache/'
++SYSFS_BLOCK_PATH = '/sys/block/'
++
++def file_to_lines(fname):
++ try:
++ with open(fname, "r") as fd:
++ return fd.readlines()
++ except:
++ return []
++
++def file_to_line(fname):
++ ret = file_to_lines(fname)
++ if ret:
++ return ret[0].strip()
++ return ''
++
++def str_to_bool(x):
++ return x == '1'
++
++def format_sectors(x):
++ '''Pretty print a sector count.'''
++ sectors = float(x)
++ asectors = abs(sectors)
++
++ if asectors < 2:
++ return '%d B' % (sectors * 512)
++ elif asectors < 2048:
++ return '%.2f KiB' % (sectors / 2)
++ elif asectors < 2097152:
++ return '%.1f MiB' % (sectors / 2048)
++ elif asectors < 2147483648:
++ return '%.0f GiB' % (sectors / 2097152)
++ else:
++ return '%.0f TiB' % (sectors / 2147483648)
++
++def interpret_sectors(x):
++ '''Interpret a pretty-printed disk size.'''
++ factors = {
++ 'k': 1 << 10,
++ 'M': 1 << 20,
++ 'G': 1 << 30,
++ 'T': 1 << 40,
++ 'P': 1 << 50,
++ 'E': 1 << 60,
++ 'Z': 1 << 70,
++ 'Y': 1 << 80,
++ }
++
++ factor = 1
++ if x[-1] in factors:
++ factor = factors[x[-1]]
++ x = x[:-1]
++ return int(float(x) * factor / 512)
++
++def pretty_size(x):
++ return format_sectors(interpret_sectors(x))
++
++def device_path(x):
++ if not os.path.isdir(DEV_BLOCK_PATH):
++ return '?'
++ x = '%s/%s' % (DEV_BLOCK_PATH, x)
++ return os.path.abspath(os.path.join(os.path.dirname(x), os.readlink(x)))
++
++def str_device_path(x):
++ return '%s (%s)' % (device_path(x), x)
++
++def dump_bdev(bdev_path):
++ '''Dump a backing device stats.'''
++ global MAX_KEY_LENGTH
++ attrs = [
++ ('../dev', 'Device File', str_device_path),
++ ('dev/dev', 'bcache Device File', str_device_path),
++ ('../size', 'Size', format_sectors),
++ ('cache_mode', 'Cache Mode', None),
++ ('readahead', 'Readahead', None),
++ ('sequential_cutoff', 'Sequential Cutoff', pretty_size),
++ ('sequential_merge', 'Merge sequential?', str_to_bool),
++ ('state', 'State', None),
++ ('writeback_running', 'Writeback?', str_to_bool),
++ ('dirty_data', 'Dirty Data', pretty_size),
++ ('writeback_rate', 'Writeback Rate', lambda x: '%s/s' % x),
++ ('writeback_percent', 'Dirty Target', lambda x: '%s%%' % x),
++ ]
++
++ print('--- Backing Device ---')
++ for (sysfs_name, display_name, conversion_func) in attrs:
++ val = file_to_line('%s/%s' % (bdev_path, sysfs_name))
++ if conversion_func is not None:
++ val = conversion_func(val)
++ if display_name is None:
++ display_name = sysfs_name
++ print(' %-*s%s' % (MAX_KEY_LENGTH - 2, display_name, val))
++
++def dump_cachedev(cachedev_path):
++ '''Dump a cachding device stats.'''
++ def fmt_cachesize(val):
++ return '%s\t(%.0f%%)' % (format_sectors(val), float(val) / cache_size * 100)
++
++ global MAX_KEY_LENGTH
++ attrs = [
++ ('../dev', 'Device File', str_device_path),
++ ('../size', 'Size', format_sectors),
++ ('block_size', 'Block Size', pretty_size),
++ ('bucket_size', 'Bucket Size', pretty_size),
++ ('cache_replacement_policy', 'Replacement Policy', None),
++ ('discard', 'Discard?', str_to_bool),
++ ('io_errors', 'I/O Errors', None),
++ ('metadata_written', 'Metadata Written', pretty_size),
++ ('written', 'Data Written', pretty_size),
++ ('nbuckets', 'Buckets', None),
++ (None, 'Cache Used', lambda x: fmt_cachesize(used_sectors)),
++ (None, 'Cache Unused', lambda x: fmt_cachesize(unused_sectors)),
++ ]
++
++ stats = get_cache_priority_stats(cachedev_path)
++ cache_size = int(file_to_line('%s/../size' % cachedev_path))
++ unused_sectors = float(stats['Unused'][:-1]) * cache_size / 100
++ used_sectors = cache_size - unused_sectors
++
++ print('--- Cache Device ---')
++ for (sysfs_name, display_name, conversion_func) in attrs:
++ if sysfs_name is not None:
++ val = file_to_line('%s/%s' % (cachedev_path, sysfs_name))
++ if conversion_func is not None:
++ val = conversion_func(val)
++ if display_name is None:
++ display_name = sysfs_name
++ print(' %-*s%s' % (MAX_KEY_LENGTH - 2, display_name, val))
++
++def hits_to_str(hits_str, misses_str):
++ '''Render a hits/misses ratio as a string.'''
++ hits = int(hits_str)
++ misses = int(misses_str)
++
++ ret = '%d' % hits
++ if hits + misses != 0:
++ ret = '%s\t(%.d%%)' % (ret, 100 * hits / (hits + misses))
++ return ret
++
++def dump_stats(sysfs_path, indent_str, stats):
++ '''Dump stats on a bcache device.'''
++ stat_types = [
++ ('five_minute', 'Last 5min'),
++ ('hour', 'Last Hour'),
++ ('day', 'Last Day'),
++ ('total', 'Total'),
++ ]
++ attrs = ['bypassed', 'cache_bypass_hits', 'cache_bypass_misses', 'cache_hits', 'cache_misses']
++ display = [
++ ('Hits', lambda: hits_to_str(stat_data['cache_hits'], stat_data['cache_misses'])),
++ ('Misses', lambda: stat_data['cache_misses']),
++ ('Bypass Hits', lambda: hits_to_str(stat_data['cache_bypass_hits'], stat_data['cache_bypass_misses'])),
++ ('Bypass Misses', lambda: stat_data['cache_bypass_misses']),
++ ('Bypassed', lambda: pretty_size(stat_data['bypassed'])),
++ ]
++
++ for (sysfs_name, stat_display_name) in stat_types:
++ if len(stats) > 0 and sysfs_name not in stats:
++ continue
++ stat_data = {}
++ for attr in attrs:
++ val = file_to_line('%s/stats_%s/%s' % (sysfs_path, sysfs_name, attr))
++ stat_data[attr] = val
++ for (display_name, str_func) in display:
++ d = '%s%s %s' % (indent_str, stat_display_name, display_name)
++ print('%-*s%s' % (MAX_KEY_LENGTH, d, str_func()))
++
++def get_cache_priority_stats(cache):
++ '''Retrieve priority stats from a cache.'''
++ attrs = {}
++
++ for line in file_to_lines('%s/priority_stats' % cache):
++ x = line.split()
++ key = x[0]
++ value = x[1]
++ attrs[key[:-1]] = value
++ return attrs
++
++def dump_bcache(bcache_sysfs_path, stats, print_subdevices, device):
++ '''Dump bcache stats'''
++ def fmt_cachesize(val):
++ return '%s\t(%.0f%%)' % (format_sectors(val), 100.0 * val / cache_sectors)
++
++ attrs = [
++ (None, 'UUID', lambda x: os.path.basename(bcache_sysfs_path)),
++ ('block_size', 'Block Size', pretty_size),
++ ('bucket_size', 'Bucket Size', pretty_size),
++ ('congested', 'Congested?', str_to_bool),
++ ('congested_read_threshold_us', 'Read Congestion', lambda x: '%.1fms' % (int(x) / 1000)),
++ ('congested_write_threshold_us', 'Write Congestion', lambda x: '%.1fms' % (int(x) / 1000)),
++ (None, 'Total Cache Size', lambda x: format_sectors(cache_sectors)),
++ (None, 'Total Cache Used', lambda x: fmt_cachesize(cache_used_sectors)),
++ (None, 'Total Cache Unused', lambda x: fmt_cachesize(cache_unused_sectors)),
++ #('dirty_data', 'Dirty Data', lambda x: fmt_cachesize(interpret_sectors(x))), # disappeared in 3.13?
++ ('cache_available_percent', 'Evictable Cache', lambda x: '%s\t(%s%%)' % (format_sectors(float(x) * cache_sectors / 100), x)),
++ (None, 'Replacement Policy', lambda x: replacement_policies.pop() if len(replacement_policies) == 1 else '(Various)'),
++ (None, 'Cache Mode', lambda x: cache_modes.pop() if len(cache_modes) == 1 else '(Various)'),
++ ]
++
++ # Calculate aggregate data
++ cache_sectors = 0
++ cache_unused_sectors = 0
++ cache_modes = set()
++ replacement_policies = set()
++ for obj in os.listdir(bcache_sysfs_path):
++ if not os.path.isdir('%s/%s' % (bcache_sysfs_path, obj)):
++ continue
++ if obj.startswith('cache'):
++ cache_size = int(file_to_line('%s/%s/../size' % (bcache_sysfs_path, obj)))
++ cache_sectors += cache_size
++ cstats = get_cache_priority_stats('%s/%s' % (bcache_sysfs_path, obj))
++ unused_size = float(cstats['Unused'][:-1]) * cache_size / 100
++ cache_unused_sectors += unused_size
++ replacement_policies.add(file_to_line('%s/%s/cache_replacement_policy' % (bcache_sysfs_path, obj)))
++ elif obj.startswith('bdev'):
++ cache_modes.add(file_to_line('%s/%s/cache_mode' % (bcache_sysfs_path, obj)))
++ cache_used_sectors = cache_sectors - cache_unused_sectors
++
++ # Dump basic stats
++ print("--- bcache ---")
++ for (sysfs_name, display_name, conversion_func) in attrs:
++ if sysfs_name is not None:
++ val = file_to_line('%s/%s' % (bcache_sysfs_path, sysfs_name))
++ else:
++ val = None
++ if conversion_func is not None:
++ val = conversion_func(val)
++ if display_name is None:
++ display_name = sysfs_name
++ print('%-*s%s' % (MAX_KEY_LENGTH, display_name, val))
++ dump_stats(bcache_sysfs_path, '', stats)
++
++ # Dump sub-device stats
++ if not print_subdevices:
++ return
++ for obj in os.listdir(bcache_sysfs_path):
++ if not os.path.isdir('%s/%s' % (bcache_sysfs_path, obj)):
++ continue
++ if obj.startswith('bdev'):
++ dump_bdev('%s/%s' % (bcache_sysfs_path, obj))
++ dump_stats('%s/%s' % (bcache_sysfs_path, obj), ' ', stats)
++ elif obj.startswith('cache'):
++ dump_cachedev('%s/%s' % (bcache_sysfs_path, obj))
++
++def map_uuid_to_device():
++ '''Map bcache UUIDs to device files.'''
++ global SYSFS_BLOCK_PATH
++ ret = {}
++
++ if not os.path.isdir(SYSFS_BLOCK_PATH):
++ return ret
++ for bdev in os.listdir(SYSFS_BLOCK_PATH):
++ link = '%s%s/bcache/cache' % (SYSFS_BLOCK_PATH, bdev)
++ if not os.path.islink(link):
++ continue
++ basename = os.path.basename(os.readlink(link))
++ ret[basename] = file_to_line('%s%s/dev' % (SYSFS_BLOCK_PATH, bdev))
++ return ret
++
++def main():
++ '''Main function'''
++ global SYSFS_BCACHE_PATH
++ global uuid_map
++ stats = set()
++ reset_stats = False
++ print_subdevices = False
++ run_gc = False
++
++ parser = argparse.ArgumentParser(add_help=False)
++ parser.add_argument('--help', help='Show this help message and exit', action='store_true')
++ parser.add_argument('-f', '--five-minute', help='Print the last five minutes of stats.', action='store_true')
++ parser.add_argument('-h', '--hour', help='Print the last hour of stats.', action='store_true')
++ parser.add_argument('-d', '--day', help='Print the last day of stats.', action='store_true')
++ parser.add_argument('-t', '--total', help='Print total stats.', action='store_true')
++ parser.add_argument('-a', '--all', help='Print all stats.', action='store_true')
++ parser.add_argument('-r', '--reset-stats', help='Reset stats after printing them.', action='store_true')
++ parser.add_argument('-s', '--sub-status', help='Print subdevice status.', action='store_true')
++ parser.add_argument('-g', '--gc', help='Invoke GC before printing status.', action='store_true')
++ args = parser.parse_args()
++
++ if args.help:
++ parser.print_help()
++ return 0
++
++ if args.five_minute:
++ stats.add('five_minute')
++ if args.hour:
++ stats.add('hour')
++ if args.day:
++ stats.add('day')
++ if args.total:
++ stats.add('total')
++ if args.all:
++ stats.add('five_minute')
++ stats.add('hour')
++ stats.add('day')
++ stats.add('total')
++ if args.reset_stats:
++ reset_stats = True
++ if args.sub_status:
++ print_subdevices = True
++ if args.gc:
++ run_gc = True
++
++ if not stats:
++ stats.add('total')
++
++ uuid_map = map_uuid_to_device()
++ if not os.path.isdir(SYSFS_BCACHE_PATH):
++ print('bcache is not loaded.')
++ return
++ for cache in os.listdir(SYSFS_BCACHE_PATH):
++ if not os.path.isdir('%s%s' % (SYSFS_BCACHE_PATH, cache)):
++ continue
++
++ if run_gc:
++ with open('%s%s/internal/trigger_gc' % (SYSFS_BCACHE_PATH, cache), 'w') as fd:
++ fd.write('1\n')
++
++ dump_bcache('%s%s' % (SYSFS_BCACHE_PATH, cache), stats, print_subdevices, uuid_map.get(cache, '?'))
++
++ if reset_stats:
++ with open('%s%s/clear_stats' % (SYSFS_BCACHE_PATH, cache), 'w') as fd:
++ fd.write('1\n')
++
++if __name__ == '__main__':
++ main()
+--
+2.28.0
+
diff --git a/sys-fs/bcache-tools/files/1.1/bcache-tools-add-man-page-bcache-status.8.patch b/sys-fs/bcache-tools/files/1.1/bcache-tools-add-man-page-bcache-status.8.patch
new file mode 100644
index 000000000000..cd999a994a16
--- /dev/null
+++ b/sys-fs/bcache-tools/files/1.1/bcache-tools-add-man-page-bcache-status.8.patch
@@ -0,0 +1,69 @@
+From 91fd5fb518ae535e36cff1ae188d1bcef874cf40 Mon Sep 17 00:00:00 2001
+From: Coly Li <colyli@suse.de>
+Date: Wed, 2 Sep 2020 20:09:06 +0800
+Subject: [PATCH 2/2] bcache-tools: add man page bcache-status.8
+
+Add the initial man page for bcache-status.
+
+Signed-off-by: Coly Li <colyli@suse.de>
+---
+ bcache-status.8 | 47 +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 47 insertions(+)
+ create mode 100644 bcache-status.8
+
+diff --git a/bcache-status.8 b/bcache-status.8
+new file mode 100644
+index 0000000..f56cfb6
+--- /dev/null
++++ b/bcache-status.8
+@@ -0,0 +1,47 @@
++.TH bcache-status 8
++.SH NAME
++bcache-status \- Display useful bcache statistics
++
++.SH SYNOPSIS
++.B bcache-status [ --help ] [ -f ] [ -h ] [ -d ] [ -t ] [ -a ] [ -r ] [ -s ] [ -g ]
++
++.SH DESCRIPTION
++This command displays useful bcache statistics in a convenient way.
++
++.SH OPTIONS
++
++.TP
++.BR \-\-help
++Print help message and exit.
++
++.TP
++.BR \-f ", " \-\-five\-minute
++Print the last five minutes of stats.
++
++.TP
++.BR \-h ", " \-\-hour
++Print the last hour of stats.
++
++.TP
++.BR \-d ", " \-\-day
++Print the last day of stats.
++
++.TP
++.BR \-t ", " \-\-total
++Print total stats.
++
++.TP
++.BR \-a ", " \-\-all
++Print all stats.
++
++.TP
++.BR \-r ", " \-\-reset\-stats
++Reset stats after printing them.
++
++.TP
++.BR \-s ", " \-\-sub\-status
++Print subdevice status.
++
++.TP
++.BR \-g ", " \-\-gc
++Invoke GC before printing status (root only).
+--
+2.28.0
+
diff --git a/sys-fs/bindfs/Manifest b/sys-fs/bindfs/Manifest
index cbc3c9b0ba9e..8ff4f2472ed9 100644
--- a/sys-fs/bindfs/Manifest
+++ b/sys-fs/bindfs/Manifest
@@ -1,5 +1,7 @@
DIST bindfs-1.14.5.tar.gz 407863 BLAKE2B 2c75b426f2b2fd8947c2f7e8b74fd9826cccba99afce661713946acdc7765cd8065475ecc244d4ffd534fde8243d100eba03abcc643cec2a9d2fbec954c4ab73 SHA512 df8245339ef0491a58d69f3fca215b4cca4853976cedc507ba4c953ef136d34d245130c7bdb9b75adb7661e0f359582afae0b6e7b5f69252ca5adecbc09c51ec
DIST bindfs-1.14.7.tar.gz 409427 BLAKE2B 0027ee589a39d6d29b4bc337aaa87e4cf231f4549245c14353a39fb7a66e8ade17412740f5caf2e2eed4cb0501b6537beaf4929d21256c5b0625304b056829a3 SHA512 03b0bce29b87219e7e159077942e66e7e0e783b8c41234231696f96aa83e66271431fd3b4e7c1d98ba74705ec7255bd7da9d9484981ddb86c4d1c1b35dcaa0cc
+DIST bindfs-1.14.8.tar.gz 410096 BLAKE2B 93184ccbb5b2ed3b75bb74e2c79e92d4b0f90a977713936a3aaf70d56a5801ca0316ea4a4c09818c435618b8a3c848a9d115fd038190a30053c82134a1a38106 SHA512 aa76528d227024b10631dc542c87d6ed9511226ee2983f8aeaf4da5f59acd9537194065505302f506b12150177f1fbdd654366aceea568ca16f40ae8dd2bdb94
EBUILD bindfs-1.14.5.ebuild 478 BLAKE2B 8a742f9c0a17005ab1d6feec04d155cef1e9d6350dbaff76191273f3ff586bdbe21d96fdc34ce2f1f9ffe9c377537f1fe3135fd50e37db0e3c4d46d3124386a9 SHA512 23105ab140967691268df3809cfeb577a7c63538c356702ae471bf9dbaf3dd2fa1ff432f982ed0d90318cdef902d63237c6473e1487582ecff35ae7f6afd4e60
EBUILD bindfs-1.14.7.ebuild 478 BLAKE2B 8a742f9c0a17005ab1d6feec04d155cef1e9d6350dbaff76191273f3ff586bdbe21d96fdc34ce2f1f9ffe9c377537f1fe3135fd50e37db0e3c4d46d3124386a9 SHA512 23105ab140967691268df3809cfeb577a7c63538c356702ae471bf9dbaf3dd2fa1ff432f982ed0d90318cdef902d63237c6473e1487582ecff35ae7f6afd4e60
+EBUILD bindfs-1.14.8.ebuild 478 BLAKE2B 8a742f9c0a17005ab1d6feec04d155cef1e9d6350dbaff76191273f3ff586bdbe21d96fdc34ce2f1f9ffe9c377537f1fe3135fd50e37db0e3c4d46d3124386a9 SHA512 23105ab140967691268df3809cfeb577a7c63538c356702ae471bf9dbaf3dd2fa1ff432f982ed0d90318cdef902d63237c6473e1487582ecff35ae7f6afd4e60
MISC metadata.xml 325 BLAKE2B aa0a376311bff962fc56dfcfdf9f0d7eab54cde65ad9518ef24e38651e57bccc1514e444657e1dfc4c9a5c7f651e700b5b7122dedca39ac24029b6b7e990c493 SHA512 466c2a77d115de2a7b8110a3076d58b604e0f53a9de46842ffcb0fb2c913e0cc6e0393035432a101327a780163453ff973044f0b473584eb2be65a53a181e83c
diff --git a/sys-fs/bindfs/bindfs-1.14.8.ebuild b/sys-fs/bindfs/bindfs-1.14.8.ebuild
new file mode 100644
index 000000000000..69f9d93e580a
--- /dev/null
+++ b/sys-fs/bindfs/bindfs-1.14.8.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="FUSE filesystem for bind mounting with altered permissions"
+HOMEPAGE="https://bindfs.org/"
+SRC_URI="https://bindfs.org/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND=">=sys-fs/fuse-2.9:0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+RESTRICT="test"
+
+src_configure() {
+ econf $(use_enable debug debug-output)
+}
diff --git a/sys-fs/diskdev_cmds/Manifest b/sys-fs/diskdev_cmds/Manifest
index bafbdc44fa9a..6edfe8c799b4 100644
--- a/sys-fs/diskdev_cmds/Manifest
+++ b/sys-fs/diskdev_cmds/Manifest
@@ -4,4 +4,4 @@ AUX diskdev_cmds-respect-cflags.patch 388 BLAKE2B 8ecaa932e3a5841bc9ace0ffd2fea2
DIST diskdev_cmds-332.14.tar.gz 714035 BLAKE2B 8c66509366db8067b6b3057dc8dd8c6de5f25df86a88fec8beac78e4e14d91af5319bf61671ceea206508b6abac54231e82d527a2cc79ea467e7660e10997a7f SHA512 e1df91fb5330dc01a79de99dd8b1f389a337a19c2136994d59b7cbca9c2e1cb5f7d47101366dd01db4e23a5d3d7afab41758045bf7402d739fa22182dc922044
DIST diskdev_cmds-332.14_p1.patch.bz2 21989 BLAKE2B f7e421c164ec242e6516a4638bc4c4706a11b03587fad0e7328a311d15f47b48b4e706f819cffa8e8539d7e4eaa8efa5f9a55a838f88586872e7fc8d67c9ac8e SHA512 aaef096aa6a3f2e09bcc8c1831172c3d68994589ade505153ade00e6f4d0c49263b63212f8616ece597b1ee218a87474bb1c3812d15f34c5bc5c51fd7b72a062
EBUILD diskdev_cmds-332.14_p1-r3.ebuild 1331 BLAKE2B 3aa87e3b8743f508f1176c8e652e2d63660574c4a88bf829cd5c4f269fd21de4bfbfbce3cf1cdbfde5e5e15d5c5316beb994c66af7363b1ea979e91803a46161 SHA512 126425aab2c54ef9a146a7488023073ac677c74e87abcc151749dd8ec99c99b13ede41f0dad6b3680dca4f8b4c715bde08d2808019eaa363920ff48fa6d3098c
-MISC metadata.xml 375 BLAKE2B b5ab86c1adfdb8ad06c76fcff0378bc7d88bdb7510e0fa06cf3c32e5025d7bf7e151f4791e0b1bf9c76692408da5c979b7a9ea713cddf412e4c291eb2cbc31fb SHA512 4a9cb22aca89fe59e631d6a102977e8e3a6fe6f2599dddddcf7ca8eb043d2af50d23a43483cc23350d942cbbac52774571e57260820ea0448308858ed1fd45c5
+MISC metadata.xml 251 BLAKE2B 9785c4729d0751280d104965bab25a268219a7fee217dcd8c01a5642a13f8abc471a3dff54ae0d34d3cf3dc8267fb483d93bd3b16aa3617e8fa8e9abd1703dfe SHA512 cc2bd3977894946ee4ea5b739cc3998bcd6017b9e7a52aa501409d0988954339a9a22fe751d0a5e967ddac9225d9b23f20b4fb1e2c62ee91d1d23c383d9776dd
diff --git a/sys-fs/diskdev_cmds/metadata.xml b/sys-fs/diskdev_cmds/metadata.xml
index 9ee7b49bec49..c5298995d2d4 100644
--- a/sys-fs/diskdev_cmds/metadata.xml
+++ b/sys-fs/diskdev_cmds/metadata.xml
@@ -5,8 +5,4 @@
<email>slyfox@gentoo.org</email>
<name>Sergei Trofimovich</name>
</maintainer>
- <maintainer type="project">
- <email>ppc@gentoo.org</email>
- <name>Gentoo Linux PowerPC Development</name>
- </maintainer>
</pkgmetadata>
diff --git a/sys-fs/fuse-common/Manifest b/sys-fs/fuse-common/Manifest
index d69f1a2d68bf..d3579b0854ab 100644
--- a/sys-fs/fuse-common/Manifest
+++ b/sys-fs/fuse-common/Manifest
@@ -6,4 +6,4 @@ DIST fuse-3.9.3.tar.xz 1805676 BLAKE2B 907806f8799ce70f07d65e08a058709901bafa0fb
EBUILD fuse-common-3.9.1.ebuild 878 BLAKE2B 2b36fcad7d4b870240f6d8c25639825bc51c8ceca28488a46708317f72d7e58978fa6c8bbdcc12be211016c256e36408723ce9f042d935fb679f433cf2046956 SHA512 36f14cb465000d7d48ebe0367e2a84af714567cfc28ba4583e9e9b6d8a92808e1acf001a2742d0996bb0ad9875badde088e380e66ccce6eaca851bc3c85fe4e8
EBUILD fuse-common-3.9.2.ebuild 886 BLAKE2B 9c6698ce02f1fcce6e841254d1170460bf25476b70b95c02433216d6906628aeea4e18592e30e05ef730926969199d625954f6c56f8f0dbe6255f6c06d3676d8 SHA512 edd2f53c2dc865a39e7e74f032c2918f81379bbdaed2bf8f559d5a01e232b4883253de06122358a0aeea65d02590f4e86f39614aa2b32e34efb4b74e4598310f
EBUILD fuse-common-3.9.3.ebuild 886 BLAKE2B 9c6698ce02f1fcce6e841254d1170460bf25476b70b95c02433216d6906628aeea4e18592e30e05ef730926969199d625954f6c56f8f0dbe6255f6c06d3676d8 SHA512 edd2f53c2dc865a39e7e74f032c2918f81379bbdaed2bf8f559d5a01e232b4883253de06122358a0aeea65d02590f4e86f39614aa2b32e34efb4b74e4598310f
-MISC metadata.xml 408 BLAKE2B 20a23e1ce0b234dcedcf095ccbef63413420ab0490a2e0b98f9dffcb43508bc7c770b0180e2cb9ac501764bc85f286b7e9bf81848e34257b414ed78c7de0877c SHA512 6bfd1910124508d1a555213adcd9509b19b28184fd5eb5346d84531370414194a6f18ac2ce7d726b4341018b058e02cf2805146fa1747aba21c6b9d8c2371020
+MISC metadata.xml 407 BLAKE2B 037af22bfc4bf2f29d8875a5dd0e9884597553b5a9d6a8853dfb30e69220c310118c6959440d2d619b40c6b14a3077b2e7b19351596af7d2795f37a0522705cb SHA512 5d4c0f0c1fee3610133de2cc7bd075c63de6dfe48782c10a882f8dcc2827ffe7b089b743ae5a5099fa47666f65b9f10cd3a3b41481f3f1090f0e67efd4268991
diff --git a/sys-fs/fuse-common/metadata.xml b/sys-fs/fuse-common/metadata.xml
index 8badbeef7062..4ef3e54e193d 100644
--- a/sys-fs/fuse-common/metadata.xml
+++ b/sys-fs/fuse-common/metadata.xml
@@ -3,7 +3,7 @@
<pkgmetadata>
<maintainer type="person">
<email>bman@gentoo.org</email>
- <name>Aaron BaumanM</name>
+ <name>Aaron Bauman</name>
</maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/fuse/Manifest b/sys-fs/fuse/Manifest
index 9a6ae17a8b85..8b5eccb77cb8 100644
--- a/sys-fs/fuse/Manifest
+++ b/sys-fs/fuse/Manifest
@@ -7,4 +7,4 @@ EBUILD fuse-2.9.9-r1.ebuild 2070 BLAKE2B 2946ac81c95dbb8cc329247aaf0f123a4547511
EBUILD fuse-3.9.1.ebuild 1951 BLAKE2B d77d30f658b18676242b9f12240da45cd10a6e320592dc8c742febcfd9ce046fe2a92fd89c1d7e4c01da5ed89cbcaa24550a7eb1a7475e9a1c6515b877886722 SHA512 a4e79858f9f94df3e7494eb79270246c6fd64c87e68974e960d661a6056b4acdd0990cd8faa0cf0f2e9703e87a7732acb27bf1f604949d23a1b44654fca53e15
EBUILD fuse-3.9.2.ebuild 1959 BLAKE2B 9031d363fe452bd0daa3ae880b2026db1c58ca1a2547e486351f0121fa56f777cc681af5c5f8d32879e87b1832027c67cd112f57659312f6a02daa20c4ecd083 SHA512 dc61b7ad3b936d6d298c51bfca3bcfccc0da77e5d41eba9acae04a06a24195adb1d2b7e6eee7e4ff6d9da60f89e69fedc232fe543ee46f6a5577bb19971d0962
EBUILD fuse-3.9.3.ebuild 1959 BLAKE2B 9031d363fe452bd0daa3ae880b2026db1c58ca1a2547e486351f0121fa56f777cc681af5c5f8d32879e87b1832027c67cd112f57659312f6a02daa20c4ecd083 SHA512 dc61b7ad3b936d6d298c51bfca3bcfccc0da77e5d41eba9acae04a06a24195adb1d2b7e6eee7e4ff6d9da60f89e69fedc232fe543ee46f6a5577bb19971d0962
-MISC metadata.xml 461 BLAKE2B 5886a41fed2f941b52933f1b2b83f7a6dfaf20a34721862a8ede36b573b6de79b3ac30fe25bf46e39047bf3d67b35bd44ae9747eccf566aa4d81f8bdee3d3a11 SHA512 66c7c7e08946aa12f78d09162654cb3da545a273e1a846b66a745bdb1767384c07bee4c8eccafce1615192d50cf783bddffcfd38783cc379afbae94a0b47e568
+MISC metadata.xml 460 BLAKE2B a8f51e9fc0148b7bcc163ea5e0f72291f9e36f3dad8c20076495fe32cb8d5fe992579ab069f840bca251164ff646c522ee0b7ad5ffa7b3115effa89d5acfe332 SHA512 e56ba815557e847487dbc76dbec4ae657c7c4ecebc9b3c02c39402daa699c5ff90923bcaf1843747c94d2025f339ca6521f35f48c6c4583d36e9de33e6f3a586
diff --git a/sys-fs/fuse/metadata.xml b/sys-fs/fuse/metadata.xml
index b64588b9eb7e..a992a2436837 100644
--- a/sys-fs/fuse/metadata.xml
+++ b/sys-fs/fuse/metadata.xml
@@ -3,7 +3,7 @@
<pkgmetadata>
<maintainer type="person">
<email>bman@gentoo.org</email>
- <name>Aaron BaumanM</name>
+ <name>Aaron Bauman</name>
</maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/hfsutils/Manifest b/sys-fs/hfsutils/Manifest
index 5e8af0ed72af..30f1734b0f02 100644
--- a/sys-fs/hfsutils/Manifest
+++ b/sys-fs/hfsutils/Manifest
@@ -2,5 +2,5 @@ AUX hfsutils-3.2.6-fix-tcl-8.6.patch 158 BLAKE2B bb12d05629bede97e0d0eedcf42cbab
AUX largerthan2gb.patch 216 BLAKE2B d8f9edd367883df8ad1e88660f6f2e0d0d0654cfefe38da0b846ae136f141047b99c9251e9ef63e1fcb11bfc56f6ff739007a81d9cdf655e11270dfd7499db76 SHA512 f20e52f571995a0fc0b0e0a7b804717a1d501fbaecf80460cdbb69cbf2e956a2b8f33ec8c9fa637af2e857edc1d2565797d4a6f2c3ce2ace0359311ef8dc0882
DIST hfsutils_3.2.6-14.debian.tar.xz 6780 BLAKE2B 00474d328f5ec2614ec429052e6940b9eb10d04f433399f686ccc24d66ca1559e7ca45c4ab3ebe6386e02fc4de5ffd96242a7aa6f58d6032798d5536da912a61 SHA512 33d44f7b9094743031fc9315cf9380e158225ee2cd5af7a5ec7c55a2ae9af42e16f9cad3c667b153a1d3d9484d4ea773d34b88b78bfe9499df52a8b9d77defb2
DIST hfsutils_3.2.6.orig.tar.gz 207697 BLAKE2B 96c3d839e3c07e325e4e175a484b3c637d7cdebdc02ec11ee6810096162d155aa75d71a8e133b801b767a78d50115384460c4181359767f49e015524800885e8 SHA512 0db3050e5969c4e4e6c6ddb10cbc221a5837eb1e12f9331e7129511d31a4ec8d38420ed0b948dadc85ed990f3b1085e930eb7f0c37b3883866d963e47cbbb173
-EBUILD hfsutils-3.2.6_p14.ebuild 1386 BLAKE2B ea5b361576cc81de601b996c3138895ce1215a60befb1672bf40e93583e27b821c65a4d97e4449e6f36450b78cd7aae0fa8bd8e4cc39ee41d5aad0d007f6873b SHA512 72f6b34eeed6a85edab8e3ed2d5848c6e7bbbd1f539d39526d715b5b1b2d450dd3f302761f88fb2a97424f6cff88399c3edbba323517eb81b599c672a11b749b
-MISC metadata.xml 259 BLAKE2B 04ac80e5edbb7a409e8b0c9d856a3af1bcc59c70211fe4b10938eabce6f9f7fbf37ef80fdc3c53a86071d1d416a2159e8292d89b1ffe83213383137032df6f6e SHA512 ca71b1781806d20022c238e5b5d10f9154c78e0fa51f2603de34c48ecbe4cbc2c3190cf046526840546743644c691ee7fe51e31a4617b01bb7602dde803c1538
+EBUILD hfsutils-3.2.6_p14.ebuild 1393 BLAKE2B 6c0981a18fedd2c7c9ed27eed5e7b85dbbebb4639837bd976c0fb06580d1f4180b053d13810bd9e44c8bd65dc0ada48b8e45505ca4b029365f5f5a2e8f8791cd SHA512 bc5da1ce959572c8824f976f4cb309d1ba80b02f218e6a9a864f3a989230f9daf422283a018022d39a44eb1acc49860818e0fa690e2d453c972edc0e114bc2cd
+MISC metadata.xml 251 BLAKE2B 9785c4729d0751280d104965bab25a268219a7fee217dcd8c01a5642a13f8abc471a3dff54ae0d34d3cf3dc8267fb483d93bd3b16aa3617e8fa8e9abd1703dfe SHA512 cc2bd3977894946ee4ea5b739cc3998bcd6017b9e7a52aa501409d0988954339a9a22fe751d0a5e967ddac9225d9b23f20b4fb1e2c62ee91d1d23c383d9776dd
diff --git a/sys-fs/hfsutils/hfsutils-3.2.6_p14.ebuild b/sys-fs/hfsutils/hfsutils-3.2.6_p14.ebuild
index 7a5d15a78c71..663f0b115d7d 100644
--- a/sys-fs/hfsutils/hfsutils-3.2.6_p14.ebuild
+++ b/sys-fs/hfsutils/hfsutils-3.2.6_p14.ebuild
@@ -13,7 +13,7 @@ SRC_URI="
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 sparc x86"
IUSE="tcl tk"
DEPEND="
diff --git a/sys-fs/hfsutils/metadata.xml b/sys-fs/hfsutils/metadata.xml
index 5eb05198076b..c5298995d2d4 100644
--- a/sys-fs/hfsutils/metadata.xml
+++ b/sys-fs/hfsutils/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>ppc@gentoo.org</email>
- <name>Gentoo Linux PowerPC Development</name>
-</maintainer>
+ <maintainer type="person">
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
</pkgmetadata>
diff --git a/sys-fs/inotify-tools/Manifest b/sys-fs/inotify-tools/Manifest
index f86a030b9f70..dbcae98cbe1b 100644
--- a/sys-fs/inotify-tools/Manifest
+++ b/sys-fs/inotify-tools/Manifest
@@ -2,5 +2,5 @@ AUX inotify-tools-3.20.1-rm-unused-cmd-arg.patch 495 BLAKE2B e838d5af6f64a1bc9b7
DIST inotify-tools-3.20.1.tar.gz 79564 BLAKE2B 4b1235951f55ecb7c6c92b06b68dedebad8677c2265616dddd275bf627034b66b5756cf17a2f68f4201a78b043ec8a0800f115f3952c19875ae7f524b9b21382 SHA512 a97d27e6033036f0db5c0737bee3510206db9f4c843f0d18f1b2e179e838624ea33316c34fd9917c158dbb3580367908e90042fb1bfb146f150c32833b0b2ff2
DIST inotify-tools-3.20.2.2.tar.gz 81006 BLAKE2B 7dd29985f68096fe2146a3ad84d619b3d1238b0db25eeb125f2fe9591fa678078351f00c7e09b526cf2251e4736201d5625ff0e477523cae370a307ccb667730 SHA512 72d6fdcc216d8083cd384c71c02dc8e800d3a9702613568b3c571f704aee3d42bf084c52f2141c9afb8d28e8b87ebb6391ed3d825b3d664ed51c552debeb1881
EBUILD inotify-tools-3.20.1.ebuild 877 BLAKE2B e8c8831cd4596a80e1a2d0092489e3c0355086ff66d7cdbf5d0d3246539918e337b5679a169439aad4070a48f3ab7794966ff16e4c4b316bcdf4e45af0b7bc3f SHA512 fd7f3f20a5e087a6f3bedcc136f92fe2f320d08d2afe7b7a2a9c6dc5ac4307800595e300be71b2ec9aa6bdb24f60221cf7d0d6318075ff4a61356ae2e09178da
-EBUILD inotify-tools-3.20.2.2.ebuild 819 BLAKE2B a728b977430b71b71fdd0b13f14a9f290c1740dbffa67dfa3bdb779a18309f2c5eb7390fdc651844d3018c404601124d5f360d0f0d98a8290fae50318d74b7c3 SHA512 024972b621818669ebb2a315899a49c1aa520ecff62c9652f0349c6df1f2645fec2a4c8876d9b170b575074056506319feb4d1ca30c3e5080b8a589104980f5f
+EBUILD inotify-tools-3.20.2.2.ebuild 943 BLAKE2B ea876005b60646eb31877314dc40ec82d9c11a7724ba66d484abc1d4a93b71f30d5fd421aba745c0216514afb5cd2274210e47908db8677b0ea34de021489262 SHA512 a647b78df5863b7fd13f489879bef00c10467ff8b78f578153d87da03aa574ad88bf9b0fda6c012dce9b5b9d799a3e1438cc9b1695b012f32bea7b0df18d4996
MISC metadata.xml 649 BLAKE2B 414281eb4ef1da7d9b3cbaf61603043a64c6b748b6d21f7693b1bc4e6fdb1c811fc59490c3246cdf0526de0658ada36251493ea9c5f00f5e700d8d4e68f99868 SHA512 62eaab525f91d97a37b526fb07b7ee4b5c7abcfdd9f785655d3252de2a4f545649da51341c5c0ff4201e0ea097bb7206d2dbe5285c9008a392c55e4802c229e7
diff --git a/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild b/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild
index 391f17cbf861..ff0369a04dea 100644
--- a/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild
+++ b/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild
@@ -19,6 +19,11 @@ RDEPEND=""
src_prepare() {
default
+
+ # Remove -Werror from CFLAGS (#745069)
+ find -name "Makefile.am" -print0 \
+ | xargs --null sed 's@ -Werror@@' -i || die
+
eautoreconf
}
diff --git a/sys-fs/jdiskreport-bin/Manifest b/sys-fs/jdiskreport-bin/Manifest
index 2254b56ae9cb..734607f8260d 100644
--- a/sys-fs/jdiskreport-bin/Manifest
+++ b/sys-fs/jdiskreport-bin/Manifest
@@ -1,7 +1,3 @@
-DIST jdiskreport-1_2_5.zip 613585 BLAKE2B f78ea7b0449c89b966e810dda3515a502187aff07b5cc008a5d3e110f4506aebef9cb2f2c3302d9e7e3e22e25fcbff16c381404acc0356311a8a05f72592af5c SHA512 d23641610a9fba6b7b2c5d529244229e807d89bd2b4c339e59522547f3b45a32415d6819a4ee8d5bd4a8789ea4610887428bfd5a5a4c56b11911da035a560993
-DIST jdiskreport-1_3_0.zip 650433 BLAKE2B 4edeec05f53bf10c3b1a911790a56f8f3e591b36b29b645a3378e357c6b0e835d4530753058541d712727111dd91a3dbf07664bc52c4cb1b330086fa5ae59af1 SHA512 9d57e7db810117a27c1d8d2aef40113652f25055e3512500fdf5f8806b1d68f4be8b4231e281d690108301afde3cc6b70f061c71d3fafef06689ca3228dd44ea
DIST jdiskreport-1_4_1.zip 864613 BLAKE2B 9f10a10e54f0553e9130bdaf801380b40982a48e308fff5418308a37a4e02a886961d5ff2787b9bc3d1dfa1db087409e0447b275f6419b5e775716d20843fa98 SHA512 c1e17bdaab739561ae46475d69805e18be271a0d41b555e981cde59091d6c46fe3cf6775bdd992200edbb4646b7a04003a6b67bfedc18161952a20e47b18ea38
-EBUILD jdiskreport-bin-1.2.5-r1.ebuild 650 BLAKE2B cb2701aefc30a2e887aae5e0d72c396005911268a8b765d95b7724db50263a7a27c5e5382f54a36e071f4fe8ab421b37e8ed13b9dc1fd1c0f7dbdb3fa6d92690 SHA512 774e2b2c278511825066dab5fb2c24ed64df33bf907e3eb5eac1abbf7bb5c2c83e09ba9be4a43acae08b3170279aae82174dfab80ba72ca84e53f8ad0164a3c5
-EBUILD jdiskreport-bin-1.3.0.ebuild 650 BLAKE2B cb2701aefc30a2e887aae5e0d72c396005911268a8b765d95b7724db50263a7a27c5e5382f54a36e071f4fe8ab421b37e8ed13b9dc1fd1c0f7dbdb3fa6d92690 SHA512 774e2b2c278511825066dab5fb2c24ed64df33bf907e3eb5eac1abbf7bb5c2c83e09ba9be4a43acae08b3170279aae82174dfab80ba72ca84e53f8ad0164a3c5
EBUILD jdiskreport-bin-1.4.1.ebuild 650 BLAKE2B 9cd7263ccfac9331c0c7730335741aec623418a7073fa02082d15957edb90a9f8759e3682c0a6bdc337522e3d7b6d940e825c8a68094ce1c986216eb26877516 SHA512 e0006eb4794e244f18d4ba53d4088de3d9967797d92b74e50a2d7cacd6ebf878497eea2015d338fe3d8b4e071a0a67bc52edbcf35c5dbb2eae5cbb8a25063c6e
MISC metadata.xml 449 BLAKE2B 93a22d95c04e27c440815e9440a6a3928462826412c94e718939cbfa9dc8a93496dc4b5ccdc3408d1b8a2c328aa01cc85d8b9f9fb92ccc9a3f5215f50e245c36 SHA512 d0192d871b568d54810f2d2d973666fc309f8855c18b53e89631fb9495770978bfc1b583094151e6dc0916444b6594f3c588db5a070762b3c5b844848752673c
diff --git a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.5-r1.ebuild b/sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.5-r1.ebuild
deleted file mode 100644
index 7eefac0eba94..000000000000
--- a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.5-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit java-pkg-2
-
-MY_PN=${PN/-bin/}
-MY_PV=${PV//\./_}
-MY_P="${MY_PN}-${MY_PV}"
-
-DESCRIPTION="JDiskReport helps you to understand disk drive usage"
-HOMEPAGE="http://www.jgoodies.com/freeware/jdiskreport/"
-SRC_URI="http://www.jgoodies.com/download/${MY_PN}/${MY_P}.zip"
-
-LICENSE="freedist"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-arch/unzip"
-RDEPEND=">=virtual/jre-1.4"
-
-S=${WORKDIR}/${MY_PN}-${PV}
-
-src_install() {
- java-pkg_newjar ${MY_PN}-${PV}.jar
- java-pkg_dolauncher ${MY_PN}
-
- dodoc README.txt RELEASE-NOTES.txt
-}
diff --git a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.3.0.ebuild b/sys-fs/jdiskreport-bin/jdiskreport-bin-1.3.0.ebuild
deleted file mode 100644
index 7eefac0eba94..000000000000
--- a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.3.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit java-pkg-2
-
-MY_PN=${PN/-bin/}
-MY_PV=${PV//\./_}
-MY_P="${MY_PN}-${MY_PV}"
-
-DESCRIPTION="JDiskReport helps you to understand disk drive usage"
-HOMEPAGE="http://www.jgoodies.com/freeware/jdiskreport/"
-SRC_URI="http://www.jgoodies.com/download/${MY_PN}/${MY_P}.zip"
-
-LICENSE="freedist"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-arch/unzip"
-RDEPEND=">=virtual/jre-1.4"
-
-S=${WORKDIR}/${MY_PN}-${PV}
-
-src_install() {
- java-pkg_newjar ${MY_PN}-${PV}.jar
- java-pkg_dolauncher ${MY_PN}
-
- dodoc README.txt RELEASE-NOTES.txt
-}
diff --git a/sys-fs/mac-fdisk/Manifest b/sys-fs/mac-fdisk/Manifest
index c091b1db715a..03fdc66f3835 100644
--- a/sys-fs/mac-fdisk/Manifest
+++ b/sys-fs/mac-fdisk/Manifest
@@ -8,4 +8,4 @@ AUX mac-fdisk-amd64.patch 5154 BLAKE2B c8bbc117df448bc4c1181d9c172bc78dd5b1fd021
DIST mac-fdisk_0.1-18.diff.gz 20267 BLAKE2B 111e5b18c1485b33cfb2f653846e901a528e65207d705f024bb4ba1e181881913fc79cc2bf94c536e0bd2f88f9169d25f2a64c0d1464844a2ebb8e24f1554a61 SHA512 5774e86e1770873cbccb80a79941c6bf917ac1df62f722805b1c4eae0a76b318b3df36ed39ac16d8b051e771603cc42a13feeaadd451343f6a21703e07e58c11
DIST mac-fdisk_0.1.orig.tar.gz 55817 BLAKE2B d193be6b06be562bcb3297300dc009ac28adba41ea5d7c1a5bc0d16b8f9ec8275e1ad015c9bc529c3aafd12cbd9012e1af7baef7259ce0c8cef4d6dc62986dec SHA512 1263e60a18111162f5ef439b5f9615cef9de94e7836cb998782a6e6d3bcf92a69e49566b33c7330bdea05de5e6ca83f7920c6707f342ce515440160695f07120
EBUILD mac-fdisk-0.1_p18.ebuild 1270 BLAKE2B 78e0a235eed6ec2d1b3f842b0a688db8f15f7f2d96ddfefadc1a9b7a242183be6b87d2dc96c8f1aa8475d44a353653e82518a86cdf3f19dc81631a2c5737da8c SHA512 4f930aa9bd653ed7cdc240c63265efad87560bb91cf4ab20c6c84984240c743da336bd21c59607c7595414304bb18d670bbe1a54230d3f3b95d1ea78bbddde56
-MISC metadata.xml 259 BLAKE2B 04ac80e5edbb7a409e8b0c9d856a3af1bcc59c70211fe4b10938eabce6f9f7fbf37ef80fdc3c53a86071d1d416a2159e8292d89b1ffe83213383137032df6f6e SHA512 ca71b1781806d20022c238e5b5d10f9154c78e0fa51f2603de34c48ecbe4cbc2c3190cf046526840546743644c691ee7fe51e31a4617b01bb7602dde803c1538
+MISC metadata.xml 251 BLAKE2B 9785c4729d0751280d104965bab25a268219a7fee217dcd8c01a5642a13f8abc471a3dff54ae0d34d3cf3dc8267fb483d93bd3b16aa3617e8fa8e9abd1703dfe SHA512 cc2bd3977894946ee4ea5b739cc3998bcd6017b9e7a52aa501409d0988954339a9a22fe751d0a5e967ddac9225d9b23f20b4fb1e2c62ee91d1d23c383d9776dd
diff --git a/sys-fs/mac-fdisk/metadata.xml b/sys-fs/mac-fdisk/metadata.xml
index 5eb05198076b..c5298995d2d4 100644
--- a/sys-fs/mac-fdisk/metadata.xml
+++ b/sys-fs/mac-fdisk/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>ppc@gentoo.org</email>
- <name>Gentoo Linux PowerPC Development</name>
-</maintainer>
+ <maintainer type="person">
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
</pkgmetadata>
diff --git a/sys-fs/zfs-auto-snapshot/Manifest b/sys-fs/zfs-auto-snapshot/Manifest
index 01464528c1cc..d57db57dfb6e 100644
--- a/sys-fs/zfs-auto-snapshot/Manifest
+++ b/sys-fs/zfs-auto-snapshot/Manifest
@@ -1,5 +1,17 @@
AUX README.gentoo 684 BLAKE2B 7175ddfbb8dd5b209fa4fa5e5a3aeecac3fdd102e240f93b640f91bbf0204f9101801a94087383d7087bec08ae490e9769dfcf4f7f218d6daa4779087a8a0d23 SHA512 e77c3a573c2d4499df902b68909c186e4c80ba8b451b493c7e08e5e96ebe281933ce4b5fc11c201e33f27b14a02a35fd85270baf7ddece42a2fcbc6c3c421146
+AUX zfs-auto-snapshot-daily.service 216 BLAKE2B 7c07eb29b2923cdce50af71f356edcb688a803f36711edd4cef61d89324425f255ba17139f0eb7c9fb75bc5316051b76504e8fe476ea84592a0fa318c2f84711 SHA512 0cd391b026d3f2d2af312bd2c572cff7ee136f1575fb69b9a2fc044105d8fa463b4fb511fd5f17cf773a53894b9fe20691aac11d95f7884cfcf6ef76e0c615bf
+AUX zfs-auto-snapshot-daily.timer 148 BLAKE2B 2392e77048af08c24cf18b5428706251a292701343d967f61f8fb1aa0cc0b3f0f0fa7ce70556fd46951608b2ebeb16b7ac76e29eda9c19a75b7db98a76768320 SHA512 38b4a48132afe5634934a6064eccb9089f9b32514c1614bc5a28798b67dac5f378f65e7f437d2f2b7f35063460be26df7c663733d719c2e2de7fd4d63fe70c60
+AUX zfs-auto-snapshot-frequent.service 221 BLAKE2B 8d7268fbb74fb4193d5e136c86065ad3432e7d25d6875296ea0175ce809d7d8663ff3c8f769643e9d8131a45c3c1912a942308f93680e91b910e47da5a887d5e SHA512 60bb1f59c187388db631da02340102802a22957ed314ab92042e144df38276d741ab5d02b10b200182686b5b4a0f2af54db29e57eaeed5dece3ffca3d1d258f0
+AUX zfs-auto-snapshot-frequent.timer 151 BLAKE2B 1a64a3cfdd3158bc37efb289e7ab6d9e072e7cad45859ac6003a110cda20acbdf07050b9e71348fbdc4741fd6eeabe92ccfca04608244768057dbf6ece92ee31 SHA512 4b4fbf5794e63abcbff1a5f88bc502c084b5a205b0c316a981e64b29e86eebec23cf0b8aac8d324d73324d2fd624b6866a16c1e3074ac73834aa83bd5d5000ad
+AUX zfs-auto-snapshot-hourly.service 218 BLAKE2B 8ba476bc812861ddc9afb35c5ce125a6ee96941459856a30841d037b29080569c8a69e13ab2b7b9fce262622e02609a290656ce39fb0170cf9e839961b346b6a SHA512 f3893aafa3081866158e13a9fdd74ebed20cdde90b898fc79a7b041479e9e031c3d5cb40c257f38216456228a2caa02e48bf44ca59000e8d045061875a1ae412
+AUX zfs-auto-snapshot-hourly.timer 149 BLAKE2B 47af6c37755b03df10920abd2ba44afaaab3f72f0dac1071c9b0d4b1c1ea58c4d8578ebf9b24f8dc7104b5abf19c2d5a18f8eafafe232fa222073e1250739bbf SHA512 63f79c2495a08dfbb908416b33ff0dc419c8ad69d7bb472c6ec7a4cb7988ccb3713f38f2697cf5ed4bf8bfaaea597bef84585257f95c20f67929cf6e6c1c3f3d
+AUX zfs-auto-snapshot-monthly.service 220 BLAKE2B 31f47f232a7eea37068c7881fc7a0fbeedfa4ebc90e8f6611aecd5bf434287198c78fb2bc5b0961f9dc7b8a84135df7756fe4c79ebddf3b8d2592e36a242c253 SHA512 a108f652d86a7d90ebae2694178ac03305d9ffaf8b77a1ad4d1f2ef77678e53a67fa8f4cf0bcd53eea8df62bdcb599c299d00739d451e0ecdefd93386e954670
+AUX zfs-auto-snapshot-monthly.timer 152 BLAKE2B 617e0e9e31b6c081bd4aa626978a9c988931ffc37738bc841b7dbbf2c5877a80f7e80893f133c3ee64b36fafb5842e1da18366ab061ab132b9303325731c2d20 SHA512 20339cc6e317a7bf7eae8c1e8ec2e2669276aa9148e8a4f5697896b261617214ca20dff109e452e3af06dd91ca9787f77691fb021a62a4fd5243d6cc43edf87b
+AUX zfs-auto-snapshot-weekly.service 217 BLAKE2B 715f8f8da6272b9ea782dbe77dbafa6e919297c9c24c58f38775cc9356f5644a57a86fa7ff80134558c8f3081df3c102cc455eb815c729ef4cebed81bc4dfe9d SHA512 7ecaf7256a3921a5cac6c551b3b7d833907c02530141abfcf2689c90f3bb091d6115fb3e62695bccf4fce172ec3c8b6b8a8ff0960f73dd65404cfff4b15985cf
+AUX zfs-auto-snapshot-weekly.timer 150 BLAKE2B 655187add790017f8328edae33e88eb0a4b88774999e67a5fb9c990f5bae9a13ac1e64c290c7e0a218cdcf05dd7bbe320369d1741da036c54994371eecfc50d7 SHA512 49357f15660900b344eba04f8d4bab7e153b728b4665e285b2f9320a287c15b62c426d568d2ba9a43daf69c6f1a6fbccff8b68417f8991dd5f8c3368d562b73c
+AUX zfs-auto-snapshot.target 360 BLAKE2B 17be6ab113a8849d5244fd36140d1165c4e919df2a04f4b16aa591c1c92b29243b1be4f2243bcc6a8ef015b0cc1fb53b183da1c83668e4e7e0b609f7301a3372 SHA512 f607dada27e4be409184152b93e2079eecf12f5eba76f2dbe42bdbf4793603063c23813e752bfd829a081eeb6d09c86bc18ab75d65bff87b2c1d4f998abac516
DIST zfs-auto-snapshot-upstream-1.2.4.tar.gz 13375 BLAKE2B 2a44cdecb7c4bb432c1804dba9a6674289aced9664ae0fcc6a33b604b128d852fce459367316f11961747594516916da51072ed10f84d0c01ea8cca553ce7eec SHA512 26382303fce8b90dfb40f69fcab92308e88c17c147b4a566c5d32f2e9aa241d64f5da56ad82b4becb824ba01a470037a724460d35676a1d46de9c578c02a57d9
+EBUILD zfs-auto-snapshot-1.2.4-r1.ebuild 2569 BLAKE2B f263b09a100de5847cd23761b53f123e61f4ab8e9c4f98bb7a0dd8854e3e70e41fd4e4df730b2c265e5a18a636c479bbf7a689309b6a8bd7fe8ae011801a8732 SHA512 ecbcdd796820464725ecab22bd8fd5049c46cd1a3f45bef305e1910f14dddbc3ca9973afe623423c409b71ff8459b22a5eda201b2e0b08235b728dd6fbf74301
EBUILD zfs-auto-snapshot-1.2.4.ebuild 1388 BLAKE2B bbdc50ab6b3ee05cd8c7606b07d7609d62e092345232261a47bf12e423d0bd548d1f009f54aa8fa25a387264e20abfbf8efa415f87cb6ab2331a6e8250ef8a55 SHA512 2bbc915d73fe4fb581af4b9a512228834eaa13105be89e8b9a2303334328c426030220fe750ab7662f83c173184787367994bdb1c2adb7647fc9bc5e14b4a8d0
-EBUILD zfs-auto-snapshot-9999.ebuild 1390 BLAKE2B 641dd27e8910fce57c130dbaf49460efb5ca9f89a694f0f9661b898b75bd0af015d9036d43eb6d36840b325eb4a56c03d609dad326211534e97c2c53f8394e29 SHA512 180789c017c9c0f2fc432cf7cdcb147bfa2862a265fcab804585904c4cf0bd759ba89fe989d0a3474d5a1ffa4b3ae8a3f4fb0919241278624a5023265da26e97
-MISC metadata.xml 909 BLAKE2B 74eeac781ab385dfd962c316d6792c79ebdffed9084f3c7b071a13b502edb881555e4e9525a1c8c5f2fe0ca51241afbe430f7ce07fdbd4b2554c841f1837af85 SHA512 d98be1718d600b6a04af37294de1eb47e814c74ddf24d4e119d037554baf3f9b551ab43dabd1dcd70b35b65e9fb687325c04371d078757d26c07385ac72143c8
+EBUILD zfs-auto-snapshot-9999.ebuild 2569 BLAKE2B f263b09a100de5847cd23761b53f123e61f4ab8e9c4f98bb7a0dd8854e3e70e41fd4e4df730b2c265e5a18a636c479bbf7a689309b6a8bd7fe8ae011801a8732 SHA512 ecbcdd796820464725ecab22bd8fd5049c46cd1a3f45bef305e1910f14dddbc3ca9973afe623423c409b71ff8459b22a5eda201b2e0b08235b728dd6fbf74301
+MISC metadata.xml 964 BLAKE2B 1770ba286fb8bc951069d778bed894d02536ee199e9cfa776878af509ecc77db36048a62ea45ff4f3ce6e4320e1d03ad373825a9de54fcd42e16031d8be52125 SHA512 89291918f6f2f4fb919513ed50ec47d3abeb0b5bb9227c13f6d5875a0d12765fee685c75b547745df90f625b7231226a2f299a197336d57e6970a0bbe6fc4071
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.service
new file mode 100644
index 000000000000..6929cb837438
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS daily snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=daily --keep=31 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.timer
new file mode 100644
index 000000000000..2198d83f458b
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS daily snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=daily
+Persistent=true
+RandomizedDelaySec=600
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.service
new file mode 100644
index 000000000000..ae698351ee3e
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS frequent snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=frequent --keep=4 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.timer
new file mode 100644
index 000000000000..e42f2eec50e0
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS frequent snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=*:0/15
+Persistent=true
+RandomizedDelaySec=60
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.service
new file mode 100644
index 000000000000..72dc764e4c7f
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS hourly snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=hourly --keep=24 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.timer
new file mode 100644
index 000000000000..5d3f5e51e312
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS hourly snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=hourly
+Persistent=true
+RandomizedDelaySec=59
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.service
new file mode 100644
index 000000000000..c96607cd6a16
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS monthly snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=monthly --keep=12 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.timer
new file mode 100644
index 000000000000..bf5f8944bcb5
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS monthly snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=monthly
+Persistent=true
+RandomizedDelaySec=600
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.service
new file mode 100644
index 000000000000..47a517ebbed9
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS weekly snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=weekly --keep=8 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.timer
new file mode 100644
index 000000000000..9eebb0dfdb8d
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS weekly snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=weekly
+Persistent=true
+RandomizedDelaySec=600
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot.target b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot.target
new file mode 100644
index 000000000000..b2d10f606da5
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot.target
@@ -0,0 +1,11 @@
+[Unit]
+Description=Automatically create, rotate, and destroy periodic ZFS snapshots.
+Documentation=man:zfs-auto-snapshot(8)
+Requires=zfs-auto-snapshot-frequent.timer
+Requires=zfs-auto-snapshot-daily.timer
+Requires=zfs-auto-snapshot-hourly.timer
+Requires=zfs-auto-snapshot-weekly.timer
+Requires=zfs-auto-snapshot-monthly.timer
+
+[Install]
+WantedBy=timers.target
diff --git a/sys-fs/zfs-auto-snapshot/metadata.xml b/sys-fs/zfs-auto-snapshot/metadata.xml
index 7ee701b35b9f..3e7ea4e0074d 100644
--- a/sys-fs/zfs-auto-snapshot/metadata.xml
+++ b/sys-fs/zfs-auto-snapshot/metadata.xml
@@ -15,7 +15,8 @@
snapshots if it is installed.
</longdescription>
<use>
- <flag name="default-exclude">Only take snapshots if dataset has com.sun:auto-snapshot=true property set</flag>
+ <flag name="cron">Install /etc/cron.* files</flag>
+ <flag name="default-exclude">Only take snapshots of datasets with com.sun:auto-snapshot=true property set</flag>
</use>
<upstream>
diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r1.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r1.ebuild
new file mode 100644
index 000000000000..4096503e2fff
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit prefix readme.gentoo-r1 systemd
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+else
+ MY_P="${PN}-upstream-${PV}"
+ SRC_URI="https://github.com/zfsonlinux/${PN}/archive/upstream/${PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="ZFS Automatic Snapshot Service for Linux"
+HOMEPAGE="https://github.com/zfsonlinux/zfs-auto-snapshot"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+cron +default-exclude systemd"
+
+RDEPEND="
+ sys-fs/zfs
+ !systemd? ( virtual/cron )
+"
+
+REQUIRED_USE="!systemd? ( cron )"
+
+src_install() {
+ if use default-exclude; then
+ for cronfile in etc/"${PN}".cron.{daily,hourly,monthly,weekly}; do
+ sed -i "s/\(^exec ${PN}\)/\1 --default-exclude/" "${cronfile}" || die
+ done
+ sed -i "s/\(; ${PN}\)/\1 --default-exclude/" etc/"${PN}".cron.frequent || die
+ 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() {
+ readme.gentoo_print_elog
+
+ if ! use default-exclude; then
+ ewarn "snapshots are enabled by default for ALL zfs datasets"
+ ewarn "set com.sun:auto-snapshot=false or enable 'default-exclude' flag"
+ elog
+ fi
+
+ 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
+}
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
}
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index 101b68f2115e..5cc774d275a4 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -1,8 +1,9 @@
AUX 0.8.4-initconfdir.patch 1004 BLAKE2B fd4186b5f378f562098040a8e13a12e6fd7f0f37f3b981a8d46e0e3bc943eb8dd5fa474e6c65cefd8c03fc3c45a119f6a141d42753ce4729e3a234e7f57dc4b8 SHA512 c18e9cd03d537a3ad632e1aeb354b56f5db9a8ef51c30b2e728ea527b7e9017219b1a230374238ecdd24082d9f2c62510aea68b234df84961ada5dce2ed617cc
+AUX 2.0.0_rc2-exports-d-permissions.patch 5290 BLAKE2B 40973b72df805d4e8ef4d02acbfa05e70fbdcdc0484c9f69960800a3b354998ee179e2fad3553264ecd442ffcbd1c3c9a992e48f6b81dec199501b0d0aac1207 SHA512 0a23bb1ee709c9229297388252ea657d18d368952095eb6f4598b4b17c6f693d592abd466b8be2c92f343b8f2588fcb22704c935209e1e43ea7856ed17f5fa66
AUX bash-completion-sudo.patch 905 BLAKE2B 92e58ff097893436d589f7df0134e09d2e0699ae82618c4c14caf4b26cb466367a5372d7e0a030aa857d024e3db0faef4bb5fa32c54f41f0d4766693a95ba5ab SHA512 e53c79401f4c634a94af27b2f88a40440b68a4c192fd1944668786650aaa0f1f08dff851dca5b9666ce8bba1f0e2b7cb195314cd9d1314c9bab1194d03122319
DIST zfs-0.8.4.tar.gz 9285838 BLAKE2B 776bcd6dfab8825c07d315085e288b29bf543d6957325d5d566b7b78c04505dde9bd25eb6684cb4a1b6a657de8a4e1290d04d2b9079d26d6b834a70f1ec3b569 SHA512 9086dc6a6262dd93ca6ec43f1b4c2e5c804deba708c8a7460b8531aa4802b0bf8cac0917a1a00e6af2e96d4a21cd68b85e226bf571bd94041d0325c457106eb1
DIST zfs-2.0.0-rc2.tar.gz 12854085 BLAKE2B 73cabd565c11eef1bebbc391f8c4ba18acd1610f98f1b8afb507bc844f4b6a64ba32d9727e634c7f26c48fe365a841bf071513df234b9b7a87e954610a6d7f3b SHA512 14b17d06124890efef15b3b073e103c9faeecaea761779fff9a8420e3ab72fa611df9875fa766a323d69646e9025f8b19f918ded4c6705af116cf9f14eea4f40
EBUILD zfs-0.8.4-r2.ebuild 5645 BLAKE2B 162d5f2689b7842df19fa7ffb21579faa2f0c8d5a3ab5251cb6a427667957de78ca3c4228f51874851454e3b25613c13f32d179ce308194c4af3e75d8fa07a2e SHA512 57d265e0b9128e1d2a13863f87377ba00026bd0f8ff4dc42604b0efce167224be3fb32a051735da79ce303750913b7ab2444195fcfc33b497e8842fd12b7f3b3
-EBUILD zfs-2.0.0_rc2.ebuild 5861 BLAKE2B 1a235667de2aeb65ceca37e11867ffd75a35852e91ae0e0e1141530b1eec73bffa42acc01c29dff84d6cd21333cd41481e5c4c11f5772b96f65b83d0759ccda1 SHA512 3f7b2cf46e2508feaa6b7aa31733a8117a8d5ac11defaf60a7d33e201b932c742d84202044dfcb399bb916003ca9b50d5fbb57134af82485a5a0b018e62b5e32
+EBUILD zfs-2.0.0_rc2-r1.ebuild 5911 BLAKE2B b59fd2636f280632ad6ce84da9f6336028a5ce38d60d37c6c95d93fbef860e0e24b15c7b2ecd084af5de5727adf2377c0dd8e794475da96e24fc9e19399cab71 SHA512 abdff63d208e07dea79cb1c06f587762ba770e6f30cae2780211e235ab0da5dea96077f89776092adf453cf495200596f576348a4f9e59e489b323b88d393860
EBUILD zfs-9999.ebuild 5861 BLAKE2B 1a235667de2aeb65ceca37e11867ffd75a35852e91ae0e0e1141530b1eec73bffa42acc01c29dff84d6cd21333cd41481e5c4c11f5772b96f65b83d0759ccda1 SHA512 3f7b2cf46e2508feaa6b7aa31733a8117a8d5ac11defaf60a7d33e201b932c742d84202044dfcb399bb916003ca9b50d5fbb57134af82485a5a0b018e62b5e32
MISC metadata.xml 1003 BLAKE2B 640ef6d6f178ae9c3f3281a8e8539980c4a263f6cf0c5f4e1de3f0572f2acfe409865e85a12473129eb026130c9b76b946ee7698bd990b05f14e6b26c40fcb22 SHA512 965eabb5488a3cb54b360b33c847a2eb0d326a2c6761d86d581e06c2f52db9478fe7df131f68cb57bf32a2a872ecc1597e2a1a6b457d254f578d684cf73810c5
diff --git a/sys-fs/zfs/files/2.0.0_rc2-exports-d-permissions.patch b/sys-fs/zfs/files/2.0.0_rc2-exports-d-permissions.patch
new file mode 100644
index 000000000000..4acaf465a7bc
--- /dev/null
+++ b/sys-fs/zfs/files/2.0.0_rc2-exports-d-permissions.patch
@@ -0,0 +1,189 @@
+From fe413a4d901a243d98cfef16ea330f7114a104ea Mon Sep 17 00:00:00 2001
+From: George Wilson <george.wilson@delphix.com>
+Date: Tue, 15 Sep 2020 22:57:16 -0400
+Subject: [PATCH] zpool command complains about /etc/exports.d
+
+If the /etc/exports.d directory does not exist, then we should only
+create it when we're performing an action which already requires root
+privileges.
+
+This commit moves the directory creation to the enable/disable code
+path which ensures that we have the appropriate privileges.
+
+Signed-off-by: George Wilson <gwilson@delphix.com>
+Closes #10785
+---
+ lib/libshare/os/freebsd/nfs.c | 36 +++++++++++-------
+ lib/libshare/os/linux/nfs.c | 71 ++++++++++++++++++++---------------
+ 2 files changed, 64 insertions(+), 43 deletions(-)
+
+diff --git a/lib/libshare/os/freebsd/nfs.c b/lib/libshare/os/freebsd/nfs.c
+index 65f3b11bf9b..5951b9eafa2 100644
+--- a/lib/libshare/os/freebsd/nfs.c
++++ b/lib/libshare/os/freebsd/nfs.c
+@@ -228,21 +228,33 @@ nfs_copy_entries(char *filename, const char *mountpoint)
+ int error = SA_OK;
+ char *line;
+
+- /*
+- * If the file doesn't exist then there is nothing more
+- * we need to do.
+- */
+ FILE *oldfp = fopen(ZFS_EXPORTS_FILE, "r");
+- if (oldfp == NULL)
+- return (SA_OK);
+-
+ FILE *newfp = fopen(filename, "w+");
++ if (newfp == NULL) {
++ fprintf(stderr, "failed to open %s file: %s", filename,
++ strerror(errno));
++ fclose(oldfp);
++ return (SA_SYSTEM_ERR);
++ }
+ fputs(FILE_HEADER, newfp);
+- while ((line = zgetline(oldfp, mountpoint)) != NULL)
+- fprintf(newfp, "%s\n", line);
+- if (ferror(oldfp) != 0) {
+- error = ferror(oldfp);
++
++ /*
++ * The ZFS_EXPORTS_FILE may not exist yet. If that's the
++ * case then just write out the new file.
++ */
++ if (oldfp != NULL) {
++ while ((line = zgetline(oldfp, mountpoint)) != NULL)
++ fprintf(newfp, "%s\n", line);
++ if (ferror(oldfp) != 0) {
++ error = ferror(oldfp);
++ }
++ if (fclose(oldfp) != 0) {
++ fprintf(stderr, "Unable to close file %s: %s\n",
++ filename, strerror(errno));
++ error = error != 0 ? error : SA_SYSTEM_ERR;
++ }
+ }
++
+ if (error == 0 && ferror(newfp) != 0) {
+ error = ferror(newfp);
+ }
+@@ -252,8 +264,6 @@ nfs_copy_entries(char *filename, const char *mountpoint)
+ filename, strerror(errno));
+ error = error != 0 ? error : SA_SYSTEM_ERR;
+ }
+- fclose(oldfp);
+-
+ return (error);
+ }
+
+diff --git a/lib/libshare/os/linux/nfs.c b/lib/libshare/os/linux/nfs.c
+index a6a9b33d765..1efa321b7bc 100644
+--- a/lib/libshare/os/linux/nfs.c
++++ b/lib/libshare/os/linux/nfs.c
+@@ -393,6 +393,14 @@ static char *
+ nfs_init_tmpfile(void)
+ {
+ char *tmpfile = NULL;
++ struct stat sb;
++
++ if (stat(ZFS_EXPORTS_DIR, &sb) < 0 &&
++ mkdir(ZFS_EXPORTS_DIR, 0755) < 0) {
++ fprintf(stderr, "failed to create %s: %s\n",
++ ZFS_EXPORTS_DIR, strerror(errno));
++ return (NULL);
++ }
+
+ if (asprintf(&tmpfile, "%s%s", ZFS_EXPORTS_FILE, ".XXXXXXXX") == -1) {
+ fprintf(stderr, "Unable to allocate temporary file\n");
+@@ -481,36 +489,49 @@ nfs_copy_entries(char *filename, const char *mountpoint)
+ size_t buflen = 0;
+ int error = SA_OK;
+
+- /*
+- * If the file doesn't exist then there is nothing more
+- * we need to do.
+- */
+ FILE *oldfp = fopen(ZFS_EXPORTS_FILE, "r");
+- if (oldfp == NULL)
+- return (SA_OK);
+-
+ FILE *newfp = fopen(filename, "w+");
++ if (newfp == NULL) {
++ fprintf(stderr, "failed to open %s file: %s", filename,
++ strerror(errno));
++ fclose(oldfp);
++ return (SA_SYSTEM_ERR);
++ }
+ fputs(FILE_HEADER, newfp);
+- while ((getline(&buf, &buflen, oldfp)) != -1) {
+- char *space = NULL;
+
+- if (buf[0] == '\n' || buf[0] == '#')
+- continue;
+-
+- if ((space = strchr(buf, ' ')) != NULL) {
+- int mountpoint_len = strlen(mountpoint);
++ /*
++ * The ZFS_EXPORTS_FILE may not exist yet. If that's the
++ * case then just write out the new file.
++ */
++ if (oldfp != NULL) {
++ while (getline(&buf, &buflen, oldfp) != -1) {
++ char *space = NULL;
+
+- if (space - buf == mountpoint_len &&
+- strncmp(mountpoint, buf, mountpoint_len) == 0) {
++ if (buf[0] == '\n' || buf[0] == '#')
+ continue;
++
++ if ((space = strchr(buf, ' ')) != NULL) {
++ int mountpoint_len = strlen(mountpoint);
++
++ if (space - buf == mountpoint_len &&
++ strncmp(mountpoint, buf,
++ mountpoint_len) == 0) {
++ continue;
++ }
+ }
++ fputs(buf, newfp);
+ }
+- fputs(buf, newfp);
+- }
+
+- if (oldfp != NULL && ferror(oldfp) != 0) {
+- error = ferror(oldfp);
++ if (ferror(oldfp) != 0) {
++ error = ferror(oldfp);
++ }
++ if (fclose(oldfp) != 0) {
++ fprintf(stderr, "Unable to close file %s: %s\n",
++ filename, strerror(errno));
++ error = error != 0 ? error : SA_SYSTEM_ERR;
++ }
+ }
++
+ if (error == 0 && ferror(newfp) != 0) {
+ error = ferror(newfp);
+ }
+@@ -521,8 +542,6 @@ nfs_copy_entries(char *filename, const char *mountpoint)
+ filename, strerror(errno));
+ error = error != 0 ? error : SA_SYSTEM_ERR;
+ }
+- fclose(oldfp);
+-
+ return (error);
+ }
+
+@@ -701,13 +720,5 @@ static const sa_share_ops_t nfs_shareops = {
+ void
+ libshare_nfs_init(void)
+ {
+- struct stat sb;
+-
+ nfs_fstype = register_fstype("nfs", &nfs_shareops);
+-
+- if (stat(ZFS_EXPORTS_DIR, &sb) < 0 &&
+- mkdir(ZFS_EXPORTS_DIR, 0755) < 0) {
+- fprintf(stderr, "failed to create %s: %s\n",
+- ZFS_EXPORTS_DIR, strerror(errno));
+- }
+ }
diff --git a/sys-fs/zfs/zfs-2.0.0_rc2.ebuild b/sys-fs/zfs/zfs-2.0.0_rc2-r1.ebuild
index d2f00419b0c7..1f9d81f16e60 100644
--- a/sys-fs/zfs/zfs-2.0.0_rc2.ebuild
+++ b/sys-fs/zfs/zfs-2.0.0_rc2-r1.ebuild
@@ -76,7 +76,10 @@ REQUIRED_USE="
RESTRICT="test"
-PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
+PATCHES=(
+ "${FILESDIR}/bash-completion-sudo.patch"
+ "${FILESDIR}/${PV}-exports-d-permissions.patch"
+)
pkg_setup() {
if use kernel_linux && use test-suite; then