diff options
Diffstat (limited to 'sys-fs/zfs-utils')
-rw-r--r-- | sys-fs/zfs-utils/Manifest | 2 | ||||
-rw-r--r-- | sys-fs/zfs-utils/files/bash-completion | 232 | ||||
-rw-r--r-- | sys-fs/zfs-utils/files/bash-completion-sudo.patch | 35 | ||||
-rw-r--r-- | sys-fs/zfs-utils/files/zed | 25 | ||||
-rw-r--r-- | sys-fs/zfs-utils/files/zfs.service.in | 2 | ||||
-rw-r--r-- | sys-fs/zfs-utils/zfs-utils-0.7.13.ebuild | 94 | ||||
-rw-r--r-- | sys-fs/zfs-utils/zfs-utils-0.8.1.ebuild | 126 |
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" +} |