summaryrefslogtreecommitdiff
path: root/sys-fs/zfs-utils
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/zfs-utils')
-rw-r--r--sys-fs/zfs-utils/Manifest2
-rw-r--r--sys-fs/zfs-utils/files/bash-completion232
-rw-r--r--sys-fs/zfs-utils/files/bash-completion-sudo.patch35
-rw-r--r--sys-fs/zfs-utils/files/zed25
-rw-r--r--sys-fs/zfs-utils/files/zfs.service.in2
-rw-r--r--sys-fs/zfs-utils/zfs-utils-0.7.13.ebuild94
-rw-r--r--sys-fs/zfs-utils/zfs-utils-0.8.1.ebuild126
7 files changed, 163 insertions, 353 deletions
diff --git a/sys-fs/zfs-utils/Manifest b/sys-fs/zfs-utils/Manifest
index 0f7ac23e..b532e6cf 100644
--- a/sys-fs/zfs-utils/Manifest
+++ b/sys-fs/zfs-utils/Manifest
@@ -1 +1 @@
-DIST zfs-0.7.13.tar.gz 6614047 BLAKE2B c59c46287715779eb04d69333b0a417fa9865eb0d61c642b043188c4c97d4eed369f76a48327326ed1d4dd608ff95d91d20d26c80ed0b120a8fcd5f83cea638f SHA512 457d8f110b68c9656194cd3738b216d5d807d680e5cfc6ed1f3cf5ebde67860476387c6b862ba3ba7f972d8945075963e6c325543ab84468e3eff5dbce68476e
+DIST zfs-0.8.1.tar.gz 8668360 BLAKE2B f18268656381c20af6bd18421636a1c56633c7eafaf91b1308d15508d5f4bdcfa5dfbb4e09d0302ac3de9d6a4f69718fe9c3d083ed5b3ab2a32c6fb7a1db624b SHA512 1fb3957f65dbe94edaffcedb5b2694390dc14e472c11f7e63184a9ea6a774e79a43d47a2d789b7ced233fc67c76583bf7d5c1bda0692bb07929673e2a57f4667
diff --git a/sys-fs/zfs-utils/files/bash-completion b/sys-fs/zfs-utils/files/bash-completion
deleted file mode 100644
index 1b9428bf..00000000
--- a/sys-fs/zfs-utils/files/bash-completion
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright (c) 2010, Aneurin Price <aneurin.price@gmail.com>
-
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use,
-# copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following
-# conditions:
-
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-# OTHER DEALINGS IN THE SOFTWARE.
-
-__zfs_get_commands()
-{
- zfs 2>&1 | awk '/^\t[a-z]/ {print $1}' | uniq
-}
-
-__zfs_get_properties()
-{
- zfs get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all
-}
-
-__zfs_get_editable_properties()
-{
- zfs get 2>&1 | awk '$2 == "YES" {printf("%s=\n", $1)}'
-}
-
-__zfs_get_inheritable_properties()
-{
- zfs get 2>&1 | awk '$3 == "YES" {print $1}'
-}
-
-__zfs_list_datasets()
-{
- zfs list -H -o name
-}
-
-__zfs_list_filesystems()
-{
- zfs list -H -o name -t filesystem
-}
-
-__zfs_list_snapshots()
-{
- zfs list -H -o name -t snapshot
-}
-
-__zfs_list_volumes()
-{
- zfs list -H -o name -t volume
-}
-
-__zfs_argument_chosen()
-{
- for word in $(seq $((COMP_CWORD-1)) -1 2)
- do
- local prev="${COMP_WORDS[$word]}"
- for property in $@
- do
- if [ "x$prev" = "x$property" ]
- then
- return 0
- fi
- done
- done
- return 1
-}
-
-__zfs_complete_ordered_arguments()
-{
- local list1=$1
- local list2=$2
- local cur=$3
- local extra=$4
- if __zfs_argument_chosen $list1
- then
- COMPREPLY=($(compgen -W "$list2 $extra" -- "$cur"))
- else
- COMPREPLY=($(compgen -W "$list1 $extra" -- "$cur"))
- fi
-}
-
-__zfs_complete()
-{
- local cur prev cmd cmds
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- prev="${COMP_WORDS[COMP_CWORD-1]}"
- cmd="${COMP_WORDS[1]}"
- cmds=$(__zfs_get_commands)
-
- if [ "${prev##*/}" = "zfs" ]
- then
- COMPREPLY=($(compgen -W "$cmds -?" -- "$cur"))
- return 0
- fi
-
- case "${cmd}" in
- clone)
- __zfs_complete_ordered_arguments "$(__zfs_list_snapshots)" "$(__zfs_list_filesystems) $(__zfs_list_volumes)" $cur
- return 0
- ;;
- get)
- __zfs_complete_ordered_arguments "$(__zfs_get_properties)" "$(__zfs_list_datasets)" "$cur" "-H -r -p"
- return 0
- ;;
- inherit)
- __zfs_complete_ordered_arguments "$(__zfs_get_inheritable_properties)" "$(__zfs_list_datasets)" $cur
- return 0
- ;;
- list)
- if [ "x$prev" = "x-o" ]
- then
- COMPREPLY=($(compgen -W "$(__zfs_get_properties)" -- "${cur##*,}"))
- local existing_opts=$(expr "$cur" : '\(.*,\)')
- if [ ! "x$existing_opts" = "x" ]
- then
- COMPREPLY=( "${COMPREPLY[@]/#/${existing_opts}}" )
- fi
- else
- COMPREPLY=($(compgen -W "$(__zfs_list_datasets) -H -r -o" -- "$cur"))
- fi
- return 0
- ;;
- promote)
- COMPREPLY=($(compgen -W "$(__zfs_list_filesystems)" -- "$cur"))
- return 0
- ;;
- rollback|send)
- COMPREPLY=($(compgen -W "$(__zfs_list_snapshots)" -- "$cur"))
- return 0
- ;;
- snapshot)
- COMPREPLY=($(compgen -W "$(__zfs_list_filesystems) $(__zfs_list_volumes)" -- "$cur"))
- return 0
- ;;
- set)
- __zfs_complete_ordered_arguments "$(__zfs_get_editable_properties)" "$(__zfs_list_filesystems) $(__zfs_list_volumes)" $cur
- return 0
- ;;
- *)
- COMPREPLY=($(compgen -W "$(__zfs_list_datasets)" -- "$cur"))
- return 0
- ;;
- esac
-
-}
-
-__zpool_get_commands()
-{
- zpool 2>&1 | awk '/^\t[a-z]/ {print $1}' | uniq
-}
-
-__zpool_get_properties()
-{
- zpool get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all
-}
-
-__zpool_get_editable_properties()
-{
- zpool get 2>&1 | awk '$2 == "YES" {printf("%s=\n", $1)}'
-}
-
-__zpool_list_pools()
-{
- zpool list -H -o name
-}
-
-__zpool_complete()
-{
- local cur prev cmd cmds
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- prev="${COMP_WORDS[COMP_CWORD-1]}"
- cmd="${COMP_WORDS[1]}"
- cmds=$(__zpool_get_commands)
-
- if [ "${prev##*/}" = "zpool" ]
- then
- COMPREPLY=($(compgen -W "$cmds" -- "$cur"))
- return 0
- fi
-
- case "${cmd}" in
- get)
- __zfs_complete_ordered_arguments "$(__zpool_get_properties)" "$(__zpool_list_pools)" $cur
- return 0
- ;;
- import)
- if [ "x$prev" = "x-d" ]
- then
- _filedir -d
- else
- COMPREPLY=($(compgen -W "$(__zpool_list_pools) -d" -- "$cur"))
- fi
- return 0
- ;;
- set)
- __zfs_complete_ordered_arguments "$(__zpool_get_editable_properties)" "$(__zpool_list_pools)" $cur
- return 0
- ;;
- add|attach|clear|create|detach|offline|online|remove|replace)
- local pools="$(__zpool_list_pools)"
- if __zfs_argument_chosen $pools
- then
- _filedir
- else
- COMPREPLY=($(compgen -W "$pools" -- "$cur"))
- fi
- return 0
- ;;
- *)
- COMPREPLY=($(compgen -W "$(__zpool_list_pools)" -- "$cur"))
- return 0
- ;;
- esac
-
-}
-
-complete -F __zfs_complete zfs
-complete -o filenames -F __zpool_complete zpool
diff --git a/sys-fs/zfs-utils/files/bash-completion-sudo.patch b/sys-fs/zfs-utils/files/bash-completion-sudo.patch
new file mode 100644
index 00000000..8ae9d25d
--- /dev/null
+++ b/sys-fs/zfs-utils/files/bash-completion-sudo.patch
@@ -0,0 +1,35 @@
+From 3829d0b867f6aa4bde8798147dee74a86435d12c Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev@gentoo.org>
+Date: Fri, 22 Mar 2019 22:04:40 -0700
+Subject: [PATCH] contrib/bash_completion.d/zfs: remove sudo reference
+
+---
+ contrib/bash_completion.d/zfs | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/contrib/bash_completion.d/zfs b/contrib/bash_completion.d/zfs
+index 914db43c..b1aded36 100644
+--- a/contrib/bash_completion.d/zfs
++++ b/contrib/bash_completion.d/zfs
+@@ -21,13 +21,13 @@
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ # OTHER DEALINGS IN THE SOFTWARE.
+
+-if [[ -w /dev/zfs ]]; then
++#if [[ -w /dev/zfs ]]; then
+ __ZFS_CMD="zfs"
+ __ZPOOL_CMD="zpool"
+-else
+- __ZFS_CMD="sudo zfs"
+- __ZPOOL_CMD="sudo zpool"
+-fi
++#else
++# __ZFS_CMD="sudo zfs"
++# __ZPOOL_CMD="sudo zpool"
++#fi
+
+ __zfs_get_commands()
+ {
+--
+2.21.0
+
diff --git a/sys-fs/zfs-utils/files/zed b/sys-fs/zfs-utils/files/zed
deleted file mode 100644
index d46acfac..00000000
--- a/sys-fs/zfs-utils/files/zed
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need zfs
-}
-
-start() {
- ebegin "Starting ZFS Event daemon"
-
- checkpath -q -d -m 0755 /var/run/zed
-
- start-stop-daemon --start -q \
- --exec /sbin/zed -- -M \
- -p /var/run/zed/pid
- eend $?
-
-}
-
-stop() {
-ebegin "Stopping ZFS Event daemon"
- start-stop-daemon --stop -q --pidfile /var/run/zed/pid
-eend $?
-}
diff --git a/sys-fs/zfs-utils/files/zfs.service.in b/sys-fs/zfs-utils/files/zfs.service.in
index c390a480..ae2eff17 100644
--- a/sys-fs/zfs-utils/files/zfs.service.in
+++ b/sys-fs/zfs-utils/files/zfs.service.in
@@ -6,7 +6,7 @@ After=systemd-udev-settle.target local-fs.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStartPre=/sbin/modprobe zfs
+ExecStartPre=-/sbin/modprobe zfs
ExecStartPre=/usr/bin/test -c /dev/zfs
ExecStart=/usr/libexec/zfs-init.sh
ExecStop=@sbindir@/zfs umount -a
diff --git a/sys-fs/zfs-utils/zfs-utils-0.7.13.ebuild b/sys-fs/zfs-utils/zfs-utils-0.7.13.ebuild
deleted file mode 100644
index 29451bc7..00000000
--- a/sys-fs/zfs-utils/zfs-utils-0.7.13.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
-
-inherit autotools-utils bash-completion-r1 flag-o-matic python-r1 systemd toolchain-funcs udev
-
-MY_PN="zfs"
-MY_P="${MY_PN}-${PV}"
-
-SRC_URI="https://github.com/zfsonlinux/${MY_PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
-
-DESCRIPTION="Userland utilities for ZFS Linux kernel module"
-HOMEPAGE="http://zfsonlinux.org/"
-
-LICENSE="BSD-2 CDDL MIT"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="debug test-suite"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_P}"
-
-COMMON_DEPEND="sys-apps/util-linux
- sys-libs/zlib
- virtual/awk"
-DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig"
-RDEPEND="${COMMON_DEPEND}
- !=sys-apps/grep-2.13*
- !sys-fs/zfs-fuse
- !prefix? ( virtual/udev )
- test-suite? (
- sys-apps/util-linux
- sys-devel/bc
- sys-block/parted
- sys-fs/lsscsi
- sys-fs/mdadm
- sys-process/procps
- virtual/modutils
- )
- sys-fs/udev-init-scripts
- ~sys-fs/spl-utils-${PV}"
-
-AT_M4DIR="config"
-AUTOTOOLS_IN_SOURCE_BUILD="1"
-
-src_prepare() {
- # Update paths
- sed -e "s|/sbin/lsmod|/bin/lsmod|" \
- -e "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" \
- -e "s|/sbin/parted|/usr/sbin/parted|" \
- -i scripts/common.sh.in
-
- autotools-utils_src_prepare
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}/bin"
- --sbindir="${EPREFIX}/sbin"
- --with-config=user
- --with-dracutdir="/usr/$(get_libdir)/dracut"
- --with-udevdir="$(get_udevdir)"
- --with-blkid
- $(use_enable debug)
- )
- autotools-utils_src_configure
-
- # prepare systemd unit and helper script
- cat "${FILESDIR}/zfs.service.in" | \
- sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \
- -e "s:@sysconfdir@:${EPREFIX}/etc:g" \
- > "${T}/zfs.service" || die
- cat "${FILESDIR}/zfs-init.sh.in" | \
- sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \
- -e "s:@sysconfdir@:${EPREFIX}/etc:g" \
- > "${T}/zfs-init.sh" || die
-}
-
-src_install() {
- autotools-utils_src_install
- gen_usr_ldscript -a uutil nvpair zpool zfs zfs_core
- use test-suite || rm -rf "${ED}usr/share/zfs"
-
- newbashcomp "${FILESDIR}/bash-completion-r1" zfs
- bashcomp_alias zfs zpool
-
- exeinto /usr/libexec
- doexe "${T}/zfs-init.sh"
- systemd_dounit "${T}/zfs.service"
-}
diff --git a/sys-fs/zfs-utils/zfs-utils-0.8.1.ebuild b/sys-fs/zfs-utils/zfs-utils-0.8.1.ebuild
new file mode 100644
index 00000000..f0054803
--- /dev/null
+++ b/sys-fs/zfs-utils/zfs-utils-0.8.1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+
+inherit bash-completion-r1 flag-o-matic distutils-r1 toolchain-funcs udev
+
+MY_PN="zfs"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Userland utilities for ZFS Linux kernel module"
+HOMEPAGE="https://zfsonlinux.org/"
+
+SRC_URI="https://github.com/zfsonlinux/${MY_PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
+KEYWORDS="~amd64"
+
+LICENSE="BSD-2 CDDL MIT"
+SLOT="0"
+IUSE="custom-cflags debug python test-suite static-libs"
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ net-libs/libtirpc
+ sys-apps/util-linux[static-libs?]
+ sys-libs/zlib[static-libs(+)?]
+ virtual/awk
+ python? (
+ virtual/python-cffi[${PYTHON_USEDEP}]
+ )
+"
+
+BDEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ python? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+"
+
+RDEPEND="${COMMON_DEPEND}
+ !=sys-apps/grep-2.13*
+ !sys-fs/zfs-fuse
+ !prefix? ( virtual/udev )
+ sys-fs/udev-init-scripts
+ test-suite? (
+ sys-apps/util-linux
+ sys-devel/bc
+ sys-block/parted
+ sys-fs/lsscsi
+ sys-fs/mdadm
+ sys-process/procps
+ virtual/modutils
+ )
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
+
+src_prepare() {
+ default
+ # Update paths
+ sed -e "s|/sbin/lsmod|/bin/lsmod|" \
+ -e "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" \
+ -e "s|/sbin/parted|/usr/sbin/parted|" \
+ -i scripts/common.sh.in || die
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_prepare
+ popd >/dev/null || die
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --bindir="${EPREFIX}/bin"
+ --disable-systemd
+ --enable-sysvinit
+ --localstatedir="${EPREFIX}/var"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=user
+ --with-dracutdir="${EPREFIX}/usr/lib/dracut"
+ --with-udevdir="$(get_udevdir)"
+ $(use_enable debug)
+ $(use_enable python pyzfs)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ default
+
+ gen_usr_ldscript -a uutil nvpair zpool zfs zfs_core
+
+ use test-suite || rm -rf "${ED}/usr/share/zfs"
+
+ dobashcomp contrib/bash_completion.d/zfs
+ bashcomp_alias zfs zpool
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+
+ # enforce best available python implementation
+ python_setup
+ python_fix_shebang "${ED}/bin"
+}