From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15199 invoked from network); 16 Sep 2001 10:28:09 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 16 Sep 2001 10:28:09 -0000 Received: (qmail 23383 invoked by alias); 16 Sep 2001 10:28:02 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 15815 Received: (qmail 23371 invoked from network); 16 Sep 2001 10:28:01 -0000 Date: Sun, 16 Sep 2001 19:27:57 +0900 Message-ID: <863d5nsa4y.wl@archon.local.idaemons.org> From: "Akinori MUSHA" To: zsh-workers Subject: _bsd_pkg update User-Agent: Wanderlust/2.7.3 (Too Funky) SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (=?ISO-8859-1?Q?Unebigory=F2mae?=) APEL/10.3 MULE XEmacs/21.1 (patch 14) (Cuyahoga Valley) (i386--freebsd) Organization: Associated I. Daemons X-PGP-Public-Key: finger knu@FreeBSD.org X-PGP-Fingerprint: 081D 099C 1705 861D 4B70 B04A 920B EFC7 9FD9 E1EE MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII Hi, Would you update the _bsd_pkg compdef with the attached one? - Update to the latest syntax - Make it aware of PORTSDIR and PKG_DBDIR - Support NetBSD and OpenBSD in addition to FreeBSD Regards, -- / /__ __ Akinori.org / MUSHA.org / ) ) ) ) / FreeBSD.org / Ruby-lang.org Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp "Freeze this moment a little bit longer, make each impression a little bit stronger.. Experience slips away -- Time stand still" #compdef pkg_add pkg_delete pkg_info (( $+functions[_bsd_pkg_packages] )) || _bsd_pkg_packages() { local ret=1 paths portsdir case $OSTYPE in netbsd*) portsdir=/usr/pkg ;; *) portsdir=${PORTSDIR:-/usr/ports} ;; esac paths=( "${(@)${(@s.:.)PKG_PATH}:#}" ) _files "$@" -g \*.tgz && ret=0 (( $#path )) && _files "$@" -W paths -g \*.tgz && ret=0 compadd "$@" - $portsdir/packages/All/*.tgz && ret=0 return ret } (( $+functions[_bsd_pkg_or_file] )) || _bsd_pkg_or_file() { local ret=1 if (( $words[(I)-*F*] )); then _files "$@" && ret=0 else compadd "$@" - ${PKGDBDIR:-/var/db/pkg}/*(/:t) && ret=0 fi return ret } _bsd_pkg() { local flags case "$service" in pkg_add) flags=( '-f[force installation]' '-I[don'\''t execute installation scripts]' '-M[run in master mode]' '-n[don'\''t really install packages]' '-p:prefix directory:_files -/' '-R[don'\''t record]' '-S[run in slave mode]' '-t:mktemp template:_files -/' '-v[be verbose]' ) case "$OSTYPE" in freebsd*) flags=( $flags[@] '-r[use remote fetching]' ) ;; netbsd*) flags=( $flags[@] '-u[update]' '-V[show version and exit]' ) ;; esac _arguments -s \ $flags[@] \ '*:package to install:_bsd_pkg_packages' ;; pkg_delete) flags=( '-D[don'\''t execute deinstallation scripts]' '-d[remove empty directories]' '-f[force deinstallation]' '-n[don'\''t really deinstall packages]' '-p:prefix directory:_files -/' '-v[be verbose]' ) case "$OSTYPE" in freebsd*) flags=( $flags[@] '(:)-a[show all installed packages]' '-G[do not expand glob patterns]' '-i[be interactive]' '-x[use regular expression]' ) ;; netbsd*) flags=( $flags[@] '(:)-a[show all installed packages]' '-F[specify each package by an installed file]' '-i[be interactive]' '-O[only delete the package'\''s entries]' '-R[delete upward recursively]' '-r[delete recursively]' '-V[show version and exit]' ) ;; esac _arguments -s \ $flags[@] \ '(-a)*:package name:_bsd_pkg_or_file' ;; pkg_info) flags=( '(:)-a[show all installed packages]' '-c[show comment fields]' '-D[show install-message files]' '-d[show long descriptions]' '-e[test if package is installed]:package name:compadd - ${PKG_DBDIR:-/var/db/pkg}/*(\:t)' '-f[show packing list instructions]' '-I[show index lines]' '-i[show install scripts]' '-k[show deinstall scripts]' '-L[show full pathnames of files]' '-l:prefix directory:_files -/' '-m[show mtree files]' '-p[show installation prefixes]' '-q[be quiet]' '-R[show list list of installed requiring packages]' '-r[show requirements scripts]' '-v[be verbose]' ) case "$OSTYPE" in freebsd*) flags=( $flags[@] '-G[do not expand glob patterns]' '-g[show files that'\''s modified]' '-o[show origin]' '-s[show total size occupied by each package]' '-t:mktemp template:_files -/' '*-W:show which package the file belongs to:_files' '-x[use regular expression]' ) ;; netbsd*) flags=( $flags[@] '-B[show build information]' '-b[show RCS Id strings]' '-F[specify each package by an installed file]' '-S[show total size occupied by each package and its dependents]' '-s[show total size occupied by each package]' '-V[show version and exit]' ) ;; esac _arguments -s \ $flags[@] \ '(-a)*:package name:_bsd_pkg_or_file' ;; esac } _bsd_pkg "$@"