aboutsummaryrefslogtreecommitdiffstats
path: root/shells
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2008-08-12 20:01:21 +0800
committerdes <des@FreeBSD.org>2008-08-12 20:01:21 +0800
commitffcf7ea0f320abd25176ce6ab87d3012bc345d46 (patch)
treebe548222529ec25201a6ba51af57623881cf6434 /shells
parentf02014fcfe16a07c883a7a7a90ea0ec795901106 (diff)
downloadfreebsd-ports-gnome-ffcf7ea0f320abd25176ce6ab87d3012bc345d46.tar.gz
freebsd-ports-gnome-ffcf7ea0f320abd25176ce6ab87d3012bc345d46.tar.zst
freebsd-ports-gnome-ffcf7ea0f320abd25176ce6ab87d3012bc345d46.zip
Break out BSD completion patches into separate files.
Update csup, portsnap and portlint completion. Add completion for powerd, freebsd-update, fetch and portaudit (from submitter) as well as zfs and zpool (from zsh repo). Bump PORTREVISION. PR: ports/126457 Submitted by: baptiste.daroussin@gmail.com
Diffstat (limited to 'shells')
-rw-r--r--shells/zsh/Makefile2
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_csup26
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_fetch33
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_freebsd-update23
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_portlint20
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_portsnap32
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_powerd16
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_zfs241
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_zfs_dataset25
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_zfs_pool6
-rw-r--r--shells/zsh/files/patch-Completion-BSD-Command-_zpool204
-rw-r--r--shells/zsh/files/patch-Completion_BSD81
12 files changed, 627 insertions, 82 deletions
diff --git a/shells/zsh/Makefile b/shells/zsh/Makefile
index c35d2988e8dd..bc7a8e38e519 100644
--- a/shells/zsh/Makefile
+++ b/shells/zsh/Makefile
@@ -22,7 +22,7 @@
PORTNAME= zsh
PORTVERSION= 4.3.6
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= shells
MASTER_SITES= SF
.if !defined(NOPORTDOCS)
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_csup b/shells/zsh/files/patch-Completion-BSD-Command-_csup
new file mode 100644
index 000000000000..366ed338271a
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_csup
@@ -0,0 +1,26 @@
+--- Completion/BSD/Command/_csup.orig 2008-08-12 13:52:12.409319715 +0200
++++ Completion/BSD/Command/_csup 2008-08-07 23:26:34.000000000 +0200
+@@ -0,0 +1,23 @@
++#compdef csup
++
++_arguments -s \
++ '-1[disable automatic retries]' \
++ '-4[Force usage of IPv4 addresses]' \
++ '-6[Force usage of IPv6 addresses]' \
++ '-A[Local address to bind to when connecting to the server]:local address:_hosts' \
++ '-b[Base directory]:base directory:_files -/' \
++ '-c[Subdirectory of base for information about collections]:collections directory:_files -/' \
++ '-d[maximum number of deleted files]:maximum number of deleted files:' \
++ '-h[Server host]:server host:_hosts' \
++ '-i[Include only files and directories matching]:file pattern:' \
++ '-k[keep temporary copies of failed updates]' \
++ '-l[Lock file]:lock file:_files' \
++ '-L[Verbosity level]:verbosity level:(0 1 2)' \
++ '-p[Server port]:port:_ports' \
++ '-r[maximum number of retries]:maximum number of retries:' \
++ '-s[suppress status checks]' \
++ '-v[print version information]' \
++ '(-Z)-z[enable compression]' \
++ '(-z)-Z[disable compression]' \
++ ':csup file:_files' \
++ ':destination directory:_files -/'
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_fetch b/shells/zsh/files/patch-Completion-BSD-Command-_fetch
new file mode 100644
index 000000000000..121ae8c2e32f
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_fetch
@@ -0,0 +1,33 @@
+--- Completion/BSD/Command/_fetch.orig 2008-08-12 13:52:12.422331053 +0200
++++ Completion/BSD/Command/_fetch 2008-08-07 16:33:14.000000000 +0200
+@@ -0,0 +1,30 @@
++#compdef fetch
++# Deprecated arguments are removed from the completion
++
++_arguments -s \
++ '-1[Stop and return exit code 0 at the first successfully retrieved file]' \
++ '-4[Forces fetch to use IPv4 addresses only]' \
++ '-6[Forces fetch to use IPv6 addresses only]' \
++ '-A[Do not automatically follow "temporary" (302) redirects]' \
++ '-a[Automatically retry the transfer upon soft failures]' \
++ '-B[Specify the read buffer size in bytes]:bytes:' \
++ '-d[Use a direct connection even if a proxy is configured]' \
++ '-F[In combination with the -r flag, forces a restart]' \
++ '-l[If the target is a file-scheme URL, make a symbolic link to the target]' \
++ '-M' \
++ '-m[Mirror mode]' \
++ '-N[Use file instead of ~/.netrc to look up login names and pass- words for FTP sites]' \
++ '-n[Do not preserve the modification time]' \
++ '-o[Set the output file name]:file:_files' \
++ '-P' \
++ '-p[Use passive FTP]' \
++ '-q[Quiet mode]' \
++ '-R[Do not delete the output file in any circumstances]' \
++ '-r[Restart a previously interrupted transfer]' \
++ '-S[Require the file size reported by the server to match the specified value]' \
++ '-s[Print the size in bytes, without fetching it]' \
++ '-T[Set timeout value]:seconds:' \
++ '-U[When using passive FTP, allocate the port for the data connection from the low port range]' \
++ '-v[Increase verbosity level]' \
++ '-w[wait successive retries]:seconds:' \
++ '*:URL to fetch:_urls'
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_freebsd-update b/shells/zsh/files/patch-Completion-BSD-Command-_freebsd-update
new file mode 100644
index 000000000000..5efee38c5fe3
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_freebsd-update
@@ -0,0 +1,23 @@
+--- Completion/BSD/Command/_freebsd-update.orig 2008-08-12 13:52:12.415323508 +0200
++++ Completion/BSD/Command/_freebsd-update 2008-08-07 23:17:13.000000000 +0200
+@@ -0,0 +1,20 @@
++#compdef freebsd-update
++
++local flags
++flags=(
++ '(cron)fetch[Fetch a compressed snapshot or update existing one]'
++ '(fetch)cron[Sleep rand(3600) seconds, and then fetch updates]'
++ '(install rollback)upgrade[Fetch files necessary for upgrading to a new release]'
++ '(upgrade rollback)install[Install the most recently fetched updates or upgrade]'
++ '(upgrade install)rollback[Uninstall the most recently installed updates]'
++)
++
++_arguments -s \
++ '-b[Operate on a system mounted at basedir]:basedir:_files -/' \
++ '-d[Store working files in workdir]:workdir:_files -/' \
++ '-f[Read configuration options from conffile]:conf file:_files' \
++ '-k[Trust an RSA key with SHA256 of KEY]:RSA key:' \
++ '-r[Specify the new release]:new release:' \
++ '-s[Fetch files from the specified server or server pool]:server:_hosts' \
++ '-f[Mail output of cron command, if any, to address]:address:' \
++ ':command:_values -S " " -w "commands" $flags[@]'
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_portlint b/shells/zsh/files/patch-Completion-BSD-Command-_portlint
new file mode 100644
index 000000000000..e3d1fa6ffc71
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_portlint
@@ -0,0 +1,20 @@
+--- Completion/BSD/Command/_portlint.orig 2008-08-12 13:52:12.431339117 +0200
++++ Completion/BSD/Command/_portlint 2008-08-07 23:39:52.000000000 +0200
+@@ -0,0 +1,17 @@
++#compdef portlint
++
++_arguments -s \
++ '-a[additional check for scripts/* and pkg-*]' \
++ '-A[turn on all additional checks (equivalent to -abcNt)]' \
++ '-b[warn $(VARIABLE)]' \
++ '-c[committer mode]' \
++ '-C[pedantic committer mode (equivalent to -abct)]' \
++ '-g[group errors together to avoid duplication (disabled if -v is specified)]' \
++ '-h[show summary of command line options]' \
++ '-v[verbose mode]' \
++ '-t[nit pick about use of spaces]' \
++ '-N[writing a new port]' \
++ '-V[print the version and exit]' \
++ '-M[set make variables to ENV (ex. PORTSDIR=/usr/ports.work)]: :_guard ".#" "environment vars"' \
++ '-B[allow # contiguous blank lines]: :_guard "[0-9]#" "numeric value"' \
++ ':port directory:_files -/'
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_portsnap b/shells/zsh/files/patch-Completion-BSD-Command-_portsnap
new file mode 100644
index 000000000000..cdee103deaac
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_portsnap
@@ -0,0 +1,32 @@
+--- Completion/BSD/Command/_portsnap.orig 2008-08-12 13:52:12.440350813 +0200
++++ Completion/BSD/Command/_portsnap 2008-08-07 23:20:31.000000000 +0200
+@@ -0,0 +1,29 @@
++#compdef portsnap
++
++local context state line
++typeset -A opt_args
++
++flags=(
++ '(cron)fetch[Fetch a compressed snapshot or update existing one]'
++ '(fetch)cron[Sleep rand(3600) seconds, and then fetch updates]'
++ '(update)extract[Extract snapshot, replacing existing files and dirs]'
++ '(extract)update[Update ports tree to match current snapshot]'
++)
++
++_arguments -C -s \
++ '-d[Store working files in workdir]:workdir:_files -/' \
++ '-f[Read configuration options from conffile]:conf file:_files' \
++ '-I[Update INDEX only. (update command only)]' \
++ '-k[Trust an RSA key with SHA256 hash of KEY]:RSA key:_files' \
++ '-l[Merge the specified local describes file into the INDEX]:file:_files' \
++ '-p[Location of uncompressed ports tree]:uncompressed ports tree:_files -/' \
++ '-s[Server from which to fetch updates]:server:_hosts' \
++ '*:principal:->principal' && ret=0
++
++if [[ $state == principal ]]; then
++ _alternative \
++ ':file flag:_values -S " " -w "commands" $flags[@]' \
++ '*:path:_files -/'
++fi
++
++return ret
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_powerd b/shells/zsh/files/patch-Completion-BSD-Command-_powerd
new file mode 100644
index 000000000000..d3c52345ce77
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_powerd
@@ -0,0 +1,16 @@
+--- Completion/BSD/Command/_powerd.orig 2008-08-12 13:52:12.426336561 +0200
++++ Completion/BSD/Command/_powerd 2008-08-07 16:03:57.000000000 +0200
+@@ -0,0 +1,13 @@
++#compdef powerd
++
++local powerd_mode
++powerd_mode=(minimum maximum adaptative)
++_arguments -s \
++ "-a[Mode to use while on AC power]:mode:($powerd_mode)" \
++ "-b[Mode to use while on battery power]:mode:($powerd_mode)" \
++ '-i[CPU idle percent level when begin to degrade performance]:percent:' \
++ "-n[mode to use normally when the AC line state is unknown]:mode:($powerd_mode)" \
++ '-p[polling interval (in milliseconds) for AC line state and system idle levels]:interval:' \
++ '-P[Alternative pidfile]:pidfile:_files' \
++ '-r[CPU idle percent level where to increase performance]:percent:' \
++ '-v[Verbose mode]'
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_zfs b/shells/zsh/files/patch-Completion-BSD-Command-_zfs
new file mode 100644
index 000000000000..3bc0d32b9ea4
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_zfs
@@ -0,0 +1,241 @@
+--- Completion/BSD/Command/_zfs.orig 2008-08-12 13:52:12.447355005 +0200
++++ Completion/BSD/Command/_zfs 2008-08-11 21:01:43.000000000 +0200
+@@ -0,0 +1,238 @@
++#compdef zfs
++
++_zfs() {
++ local context state line expl
++ typeset -A opt_args
++ local -a subcmds rw_properties rw_propnames ro_properties
++
++ subcmds=(
++ "create" "destroy" "clone" "promote" "rename" "snapshot"
++ "rollback" "list" "set" "get" "inherit" "mount" "unmount"
++ "share" "unshare" "send" "receive" "allow" "unallow"
++ "upgrade"
++ )
++
++ ro_properties=(
++ "name" "type" "creation" "used" "available" "referenced"
++ "compressratio" "mounted" "origin"
++ )
++
++ # TODO: Be cleverer about what values can be set. Is there any way to
++ # set the sorting for *size properties to false by default?
++ rw_properties=(
++ "aclinherit:value:(discard noallow secure passthrough)"
++ "aclmode:value:(discard groupmask passthrough)"
++ "atime:value:(on off)"
++ "canmount:value:(on off)"
++ "checksum:value:(on off fletcher2 fletcher4 sha256)"
++ "compression:value:(on off lzjb gzip gzip-{1..9})"
++ "copies:value:(1 2 3)"
++ "devices:value:(on off)"
++ "exec:value:(on off)"
++ "mountpoint:value:{if [[ -prefix /* ]]; then _path_files -/; else _wanted mountpoints expl 'mountpoint (type \"/\" to start completing paths)' compadd legacy none; fi}"
++ "quota:number or 'none':{if [[ -prefix [0-9]## ]]; then _message -e 'number'; elif [[ $PREFIX == quota= ]]; then _wanted none expl 'number or none' compadd none; else _wanted none expl 'quota' compadd none; fi}"
++ "readonly:value:(on off)"
++ "recordsize:value:(512 1K 2K 4K 8K 16K 32K 64K 128K)"
++ "reservation:value:" # <size>, "none"
++ "setuid:value:(on off)"
++ "shareiscsi:value:(on off)" # or "type=<type>"
++ "sharenfs:value:(on off)" # or share(1M) options
++ "snapdir:value:(hidden visible)"
++ "version:value:(1 2 current)"
++ "volblocksize:value:(512 1K 2K 4K 8K 16K 32K 64K 128K)"
++ "volsize:value:" # <size>
++ "xattr:value:(on off)"
++ "zoned:value:(on off)"
++ )
++
++ rw_propnames=( ${rw_properties%%:*} )
++
++ if [[ $service == "zfs" ]]; then
++ _arguments -C -A "-*" \
++ '-\?[Help]' \
++ '*::command:->subcmd' && return 0
++
++ if (( CURRENT == 1 )); then
++ _wanted commands expl "zfs subcommand" compadd -a subcmds
++ return
++ fi
++ service="$words[1]"
++ curcontext="${curcontext%:*}=$service:"
++ fi
++
++ case $service in
++ ("create")
++ _arguments -A "-*" \
++ '-p[Create parent datasets]' \
++ '-o[Set initial properties]:property:_values -s , "property" $rw_properties' \
++ - set1 \
++ ':filesystem:' \
++ - set2 \
++ '-s[Create sparse volume]' \
++ '-b[Set volblocksize]:blocksize:' \
++ '-V[Set size]:size:' \
++ ':volume:'
++ ;;
++
++ ("destroy")
++ _arguments -A "-*" \
++ '-r[Recursively destroy all children]' \
++ '-R[Recursively destroy all dependents]' \
++ '-f[Force unmounts]' \
++ ':filesystem/volume/snapshot:_zfs_dataset'
++ ;;
++
++ ("snapshot")
++ _arguments -A "-*" \
++ '-r[Recursively snapshot all descendant datasets]' \
++ ':filesystem/volume:_zfs_dataset -t fs -t vol -S@'
++ ;;
++
++ ("rollback")
++ _arguments -A "-*" \
++ '-r[Recursively destroy more recent snapshots]' \
++ '-R[Recursively destroy more recent snapshots and clones]' \
++ '-f[Force unmounts]' \
++ ':snapshot:_zfs_dataset -t snap'
++ ;;
++
++ ("clone")
++ _arguments -A "-*" \
++ '-p[Create parent datasets]' \
++ # XXX needs to bail if there are no snapshots
++ ':snapshot:_zfs_dataset -t snap' \
++ ':filesystem/volume:'
++ ;;
++
++ ("promote")
++ # XXX complete only cloned filesystems
++ _arguments \
++ ':filesystem:_zfs_dataset -t fs' \
++ ;;
++
++ ("rename")
++ _arguments -A "-*" \
++ - set1 \
++ '-p[Create parent datasets]' \
++ ':filesystem/volume/snapshot:_zfs_dataset' \
++ ':filesystem/volume/snapshot:' \
++ - set2 \
++ '-r[Recursively rename snapshots of all descendent datasets]' \
++ ':snapshot:_zfs_dataset -t snap' \
++ ':snapshot:'
++ ;;
++
++ ("list")
++ _arguments -A "-*" \
++ '-r[Recursively display children]' \
++ '-H[Scripting mode]' \
++ '-o[Properties to list]:property:_values -s , "property" $ro_properties $rw_propnames' \
++ '*-s[Sort key (ascending)]:property:_values "property" $ro_properties $rw_propnames' \
++ '*-S[Sort key (descending)]:property:_values "property" $ro_properties $rw_propnames' \
++ '-t[Dataset types to list]:dataset type:_values -s , "dataset type" filesystem snapshot volume' \
++ '*:filesystem/volume/snapshot:_zfs_dataset'
++ ;;
++
++ ("set")
++ _arguments \
++ ':property:_values -s , "property" $rw_properties' \
++ '*:filesystem/volume:_zfs_dataset -t fs -t vol'
++ ;;
++
++ ("get")
++ _arguments -A "-*" \
++ "-r[Recursively display children's properties]" \
++ '-H[Scripting mode]' \
++ '-p[Display numbers exactly]' \
++ '-s[Specify sources]:source:_values -s , "source" local default inherited temporary none' \
++ '-o[Specify fields]:field:_values -s , "field" name property value source' \
++ ':property:_values -s , "property" $ro_properties $rw_propnames all' \
++ '*:filesystem/volume/snapshot:_zfs_dataset'
++ ;;
++
++ ("inherit")
++ _arguments -A "-*" \
++ '-r[Recursively inherit property for all children]' \
++ ':property:_values -s , "property" $ro_properties $rw_properties' \
++ '*:filesystem/volume:_zfs_dataset -t fs -t vol'
++ ;;
++
++ ("mount")
++ _arguments -A "-*" \
++ '-o[Mount options]:mount options:_values -s , "option" {,no}{devices,exec,setuid} ro rw' \
++ '-O[Overlay mount]' \
++ '-v[Report mount progress]' \
++ - set1 \
++ ':filesystem:_zfs_dataset -t fs' \
++ - set2 \
++ '-a[Mount all available ZFS filesystems]'
++ ;;
++
++ ("unmount")
++ _arguments -A "-*" \
++ - set1 \
++ '-f[Force unmount]' \
++ ':filesystem:_zfs_dataset -t fs -t mtpt' \
++ - set2 \
++ '-a[Unmount all ZFS filesystems]'
++ ;;
++
++ ("share")
++ _arguments -A "-*" \
++ - set1 \
++ '-a[Share all available ZFS filesystems]' \
++ - set2 \
++ ':filesystem:_zfs_dataset -t fs'
++ ;;
++
++ ("unshare")
++ _arguments -A "-*" \
++ - set1 \
++ '-a[Unshare all shared ZFS filesystems]' \
++ - set2 \
++ '-F[Force unshare]' \
++ ':filesystem:_zfs_dataset -t fs -t mtpt'
++ ;;
++
++ ("send")
++ _arguments -A "-*" \
++ '-i[Generate an incremental stream]:snapshot:_zfs_dataset -t snap' \
++ ':snapshot:_zfs_dataset -t snap'
++ ;;
++
++ ("receive")
++ _arguments -A "-*" \
++ '-v[Verbose]' \
++ '-n[Do not receive the stream]' \
++ '-F[Force a rollback if necessary]' \
++ - set1 \
++ ':filesystem/volume/snapshot:_zfs_dataset' \
++ - set2 \
++ '-d[Set path prefix]:filesystem:_zfs_dataset -t fs'
++ ;;
++
++ ("allow"|"unallow")
++ _message "unimplemented zfs subcommand: $service"
++ ;;
++
++ ("upgrade")
++ _arguments -A "-*" \
++ - set1 \
++ '-v[Verbose]' \
++ - set2 \
++ '-a[Upgrade all filesystems on all pools]' \
++ '-r[Upgrade descendent filesystems, too]' \
++ '-V[Upgrade to specified version]:version:(1 2)' \
++ - set3 \
++ '-r[Upgrade descendent filesystems, too]' \
++ '-V[Upgrade to specified version]:version:(1 2)' \
++ ':filesystem:_zfs_dataset -t fs' \
++ ;;
++
++ (*)
++ _message "unknown zfs subcommand: $service"
++ ;;
++ esac
++}
++
++_zfs "$@"
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_zfs_dataset b/shells/zsh/files/patch-Completion-BSD-Command-_zfs_dataset
new file mode 100644
index 000000000000..afca563aef77
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_zfs_dataset
@@ -0,0 +1,25 @@
+--- Completion/BSD/Command/_zfs_dataset.orig 2008-08-12 13:52:12.453362430 +0200
++++ Completion/BSD/Command/_zfs_dataset 2008-08-11 21:02:13.000000000 +0200
+@@ -0,0 +1,22 @@
++#autoload
++
++local -a type typearg list
++
++zparseopts -D -E -a type t+:
++
++[[ -n $type[(r)fs] ]] && typearg=( filesystem )
++[[ -n $type[(r)vol] ]] && typearg=( $typearg volume )
++[[ -n $type[(r)snap] ]] && typearg=( $typearg snapshot )
++[[ -n $typearg ]] && typearg=( -t ${(j:,:)typearg} )
++
++datasetlist=( ${="$(zfs list -H -o name $typearg)":#no datasets available} )
++
++expl_type=${typearg[2,-1]//,/\/}
++if [[ -n $type[(r)mtpt] ]]; then
++ mlist=( ${="$(zfs list -H -o mountpoint $typearg)":#no mountpoints available} )
++ datasetlist=( $datasetlist $mlist )
++ expl_type="$expl_type/mountpoint"
++fi
++
++# compadd "$@" - $list
++_wanted dataset expl "$expl_type" _multi_parts "$@" / datasetlist
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_zfs_pool b/shells/zsh/files/patch-Completion-BSD-Command-_zfs_pool
new file mode 100644
index 000000000000..3144277a528a
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_zfs_pool
@@ -0,0 +1,6 @@
+--- Completion/BSD/Command/_zfs_pool.orig 2008-08-12 13:52:12.459367620 +0200
++++ Completion/BSD/Command/_zfs_pool 2008-08-11 21:02:23.000000000 +0200
+@@ -0,0 +1,3 @@
++#autoload
++
++compadd "$@" - $(zpool list -H -o name)
diff --git a/shells/zsh/files/patch-Completion-BSD-Command-_zpool b/shells/zsh/files/patch-Completion-BSD-Command-_zpool
new file mode 100644
index 000000000000..885691c47b10
--- /dev/null
+++ b/shells/zsh/files/patch-Completion-BSD-Command-_zpool
@@ -0,0 +1,204 @@
+--- Completion/BSD/Command/_zpool.orig 2008-08-12 13:52:12.465374207 +0200
++++ Completion/BSD/Command/_zpool 2008-08-11 21:01:58.000000000 +0200
+@@ -0,0 +1,201 @@
++#compdef zpool
++
++_zpool() {
++ local -a subcmds fields
++
++ subcmds=(
++ create destroy add remove list iostat status online
++ offline clear attach detach replace scrub import export
++ upgrade history get set
++ )
++
++ fields=(
++ name\:"Pool name" size\:"Total size" used\:"Space used"
++ available\:"Space available" capacity\:"Space used (percentage)"
++ health\:"Health status"
++ )
++
++ properties=(
++ "bootfs:value:"
++ "autoreplace:value:(on off)"
++ "delegation:value:(on off)"
++ )
++ propnames=( ${properties%%:*} )
++
++ import_properties=(
++ xattr
++ copies
++ shareiscsi
++ canmount
++ share
++ sharenfs
++ userprop
++ mount
++ )
++
++ if [[ $service == "zpool" ]]; then
++ _arguments -C -A "-*" \
++ '-\?[Help]' \
++ '*::command:->subcmd' && return 0
++
++ if (( CURRENT == 1 )); then
++ _wanted commands expl "zpool subcommand" compadd -a subcmds
++ return
++ fi
++ service="$words[1]"
++ curcontext="${curcontext%:*}=$service:"
++ fi
++
++ case $service in
++ (clear)
++ _arguments \
++ ':pool name:_zfs_pool' \
++ '*:virtual device:_files'
++ ;;
++
++ (create)
++ # TODO: investigate better vdev handling
++ _arguments -A "-*" \
++ '-f[Force use of in-use devices]' \
++ '-n[Display configuration without creating pool]' \
++ '-R[Use alternate root]:alternate root:_files -/' \
++ '-m[Set mountpoint for root dataset]:mountpoint:' \
++ ':pool name:' \
++ '*:virtual device:_files'
++ ;;
++
++ (destroy)
++ _arguments -A "-*" \
++ '-f[Force active datasets to be unmounted]' \
++ ':pool name:_zfs_pool'
++ ;;
++
++ (add)
++ _arguments -A "-*" \
++ '-f[Force use of in-use devices]' \
++ '-n[Display configuration without modifying pool]' \
++ ':pool name:_zfs_pool' \
++ '*:virtual device:_files'
++ ;;
++
++ (list)
++ _arguments \
++ '-H[Scripted mode]' \
++ '-o[Fields to list]:field:_values -s , "field" ${^fields/\:/[}\]' \
++ '::pool name:_zfs_pool'
++ ;;
++
++ (iostat)
++ _arguments -A "-*" \
++ '-v[Verbose statistics]' \
++ '*::pool name:_zfs_pool' \
++ '::interval:' \
++ '::count:'
++ ;;
++
++ (status)
++ _arguments -A "-*" \
++ '-v[Verbose information]' \
++ '-x[Show only unhealthy pools]' \
++ '*::pool name:_zfs_pool'
++ ;;
++
++ (offline)
++ _arguments -A "-*" \
++ '-t[Offline until next reboot]' \
++ ':pool name:_zfs_pool' \
++ '*:virtual device:_files'
++ ;;
++
++ (online)
++ _arguments \
++ ':pool name:_zfs_pool' \
++ '*:virtual device:_files'
++ ;;
++
++ (attach)
++ # TODO: first device should choose first from existing.
++ _arguments \
++ '-f[Force attach, even if in use]' \
++ ':pool name:_zfs_pool' \
++ ':virtual device:_files' \
++ ':virtual device:_files'
++ ;;
++
++ (detach)
++ _arguments \
++ ':pool name:_zfs_pool' \
++ ':virtual device:_files'
++ ;;
++
++ (replace)
++ _arguments -A "-*" \
++ '-f[Force attach, even if in use]' \
++ ':pool name:_zfs_pool' \
++ ':virtual device:_files' \
++ '::virtual device:_files'
++ ;;
++
++ (scrub)
++ _arguments -A "-*" \
++ '-s[Stop scrubbing]' \
++ '*:pool name:_zfs_pool'
++ ;;
++
++ (export)
++ _arguments -A "-*" \
++ '-f[Forcefully unmount all datasets]' \
++ '*:pool name:_zfs_pool'
++ ;;
++
++ (import)
++ # TODO: -o should complete options
++ _arguments -A "-*" \
++ '*-d[Search for devices or files in directory]:_files -/' \
++ '-D[Destroyed pools]' \
++ '-f[Force import]' \
++ - set1 \
++ '-o[Mount options]' \
++ '-p[Set property]:property:_values -s , "property" $import_properties' \
++ '-R[Alternate root]:_files -/' \
++ '*:pool name or id:_zfs_pool' \
++ '::new pool name:' \
++ - set2 \
++ '-a[All pools]'
++ ;;
++
++ (get)
++ _arguments -A "-*" \
++ ':property:_values -s , "property" $propnames all' \
++ '*:pool name:_zfs_pool'
++ ;;
++
++ (set)
++ _arguments -A "-*" \
++ ':property:_values -s , "property" $properties' \
++ '*:pool name:_zfs_pool'
++ ;;
++
++ (upgrade)
++ _arguments -A "-*" \
++ - set1 \
++ '-v[Display ZFS versions and descriptions]' \
++ - set2 \
++ '-a[Upgrade all pools]' \
++ '*:pool name:_zfs_pool'
++ ;;
++
++ (history)
++ _arguments -A "-*" \
++ '-i[Display internal events]' \
++ '-l[Long format]' \
++ '*:pool name:_zfs_pool'
++ ;;
++
++ (*)
++ _message "unknown zpool subcommand: $service"
++ ;;
++ esac
++}
++
++_zpool "$@"
diff --git a/shells/zsh/files/patch-Completion_BSD b/shells/zsh/files/patch-Completion_BSD
deleted file mode 100644
index b160ae81f06f..000000000000
--- a/shells/zsh/files/patch-Completion_BSD
+++ /dev/null
@@ -1,81 +0,0 @@
-diff -ruN ../zsh-4.3.4.orig/Completion/BSD/Command/_csup ./Completion/BSD/Command/_csup
---- ../zsh-4.3.4.orig/Completion/BSD/Command/_csup Wed Dec 31 21:00:00 1969
-+++ ./Completion/BSD/Command/_csup Wed Jul 25 17:18:35 2007
-@@ -0,0 +1,23 @@
-+#compdef csup
-+
-+_arguments -s \
-+ '-1[disable automatic retries]' \
-+ '-4[Force usage of IPv4 addresses]' \
-+ '-6[Force usage of IPv6 addresses]' \
-+ '-A:local address:_hosts' \
-+ '-b:base directory:_files -/' \
-+ '-c:collections directory:_files -/' \
-+ '-d:maximum number of deleted files:' \
-+ '-h:server host:_hosts' \
-+ '-i:file pattern:' \
-+ '-k[keep temporary copies of failed updates]' \
-+ '-l:lock file:_files' \
-+ '-L:verbosity level:(0 1 2)' \
-+ '-p:port:_ports' \
-+ '-r:maximum number of retries:' \
-+ '-s[suppress status checks]' \
-+ '-v[print version information]' \
-+ '(-Z)-z[enable compression]' \
-+ '(-z)-Z[disable compression]' \
-+ ':csup file:_files' \
-+ ':destination directory:_files -/'
-diff -ruN ../zsh-4.3.4.orig/Completion/BSD/Command/_portlint ./Completion/BSD/Command/_portlint
---- ../zsh-4.3.4.orig/Completion/BSD/Command/_portlint Wed Dec 31 21:00:00 1969
-+++ ./Completion/BSD/Command/_portlint Wed Jul 25 17:18:35 2007
-@@ -0,0 +1,17 @@
-+#compdef portlint
-+
-+_arguments -s \
-+ '-a[additional check for scripts/* and pkg-*]' \
-+ '-A[turn on all additional checks (equivalent to -abcNt)]' \
-+ '-b[warn $(VARIABLE)]' \
-+ '-c[committer mode]' \
-+ '-C[pedantic committer mode (equivalent to -abct)]' \
-+ '-g[group errors together to avoid duplication (disabled if -v is specified)]' \
-+ '-h[show summary of command line options]' \
-+ '-v[verbose mode]' \
-+ '-t[nit pick about use of spaces]' \
-+ '-N[writing a new port]' \
-+ '-V[print the version and exit]' \
-+ '-M:set make variables to ENV (ex. PORTSDIR=/usr/ports.work):_guard ".#" "environment vars"' \
-+ '-B:allow # contiguous blank lines:_guard "[0-9]#" "numeric value"' \
-+ ':port directory:_files -/'
-diff -ruN ../zsh-4.3.4.orig/Completion/BSD/Command/_portsnap ./Completion/BSD/Command/_portsnap
---- ../zsh-4.3.4.orig/Completion/BSD/Command/_portsnap Wed Dec 31 21:00:00 1969
-+++ ./Completion/BSD/Command/_portsnap Wed Jul 25 17:18:35 2007
-@@ -0,0 +1,29 @@
-+#compdef portsnap
-+
-+local context state line
-+typeset -A opt_args
-+
-+flags=(
-+ '(cron)fetch[Fetch a compressed snapshot or update existing one]'
-+ '(fetch)cron[Sleep rand(3600) seconds, and then fetch updates]'
-+ '(update)extract[Extract snapshot, replacing existing files and dirs]'
-+ '(extract)update[Update ports tree to match current snapshot]'
-+)
-+
-+_arguments -C -s \
-+ '-d:Store working files in workdir:_files -/' \
-+ '-f:Read configuration options from conffile:_files' \
-+ '-I[Update INDEX only. (update command only)]' \
-+ '-k:Trust an RSA key with SHA256 hash of KEY:_files' \
-+ '-l:Merge the specified local describes file into the INDEX:_files' \
-+ '-p:Location of uncompressed ports tree:_files -/' \
-+ '-s:Server from which to fetch updates:_hosts' \
-+ '*:principal:->principal' && ret=0
-+
-+if [[ $state == principal ]]; then
-+ _alternative \
-+ ':file flag:_values -S " " -w "commands" $flags[@]' \
-+ '*:path:_files -/'
-+fi
-+
-+return ret