-#compdef ppkg cpkg dpkg upkg vpkg ipkg gpkg wpkg pkgrepo pkgsu xtar vtar
+#compdef ppkg cpkg dpkg upkg vpkg ipkg gpkg wpkg pkgrepo pkgsu pkgwant xtar vtar
case $service in
(cpkg) _command_names -e ;;
(?pkg) _wanted file expl 'Pkg User' _users ;;
- (pkgrepo|pkgsu) _wanted file expl 'Pkg User' _users ;;
+ (pkgrepo|pkgsu|pkgwant) _wanted file expl 'Pkg User' _users ;;
([xv]tar) _wanted file expl 'Tarball' _files -g '*.{t{gz,bz{,2},lz,xz},tar.{Z,gz,bz2,lzma,xz}}(-.)' ;;
esac
gpkg [PKG] -- print general notes of PKG.
wpkg [PKG] -- print PKG website URL.
dpkg [PKG] -- print PKG dependencies.
+ pkgwant [PKG] -- print a list of packages that depend on PKG
pkgrepo [PKG] <t> -- print the source repo location of PKG
with optional 2nd arg non-nil, also print
repo type.
fi
}
+pkgwant()
+{
+ if [[ $ARGC -lt 1 || $ARGC -gt 1 ]]; then
+ echo Invalid or mission argument >&2
+ echo "Usage: $0 [PKG]" >&2
+ return 1
+ fi
+
+ for p in $(lpkg); do
+ dpkg ${p} | grep -q $argv[1] && print ${p}
+ done
+}
+
xtar()
{
if [[ $ARGC -lt 1 || $ARGC -gt 1 ]]; then
(tar) opts=xf ;;
(gzip) opts=zxf ;;
(bzip2) opts=jxf ;;
- (xz) opts=Jxf ;;
+ (xz|XZ opts=Jxf ;;
(*)
# try lzma
if lzmainfo ${fname} &>/dev/null; then
(tar) opts=tvvvf ;;
(gzip) opts=ztvvvf ;;
(bzip2) opts=jtvvvf ;;
- (xz) opts=Jtvvvf ;;
+ (xz|XZ) opts=Jtvvvf ;;
(*)
# lzma. Here because lzmainfo is too stupid
if lzmainfo ${fname} &>/dev/null; then
fi
}
-alias pkg_ldconfig='ssh -l root localhost -t ldconfig'
+alias pkg_ldconfig='ssh -l root localhost ldconfig'
### End