mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-21 00:01:26 +01:00
18807: baptiste daroussin <daroussi@ece.fr>:
Completion for Slackware package management tool
This commit is contained in:
parent
5f552cbdd1
commit
34eed61ac8
3 changed files with 92 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2003-07-04 Peter Stephenson <pws@csr.com>
|
||||
|
||||
* 18807: baptiste daroussin <daroussi@ece.fr>:
|
||||
Completion/Linux/Command/.distfiles,
|
||||
Completion/Linux/Command/_pkgtool: Completion for Slackware
|
||||
package management tool.
|
||||
|
||||
2003-07-03 Peter Stephenson <pws@csr.com>
|
||||
|
||||
* users/6367: Doc/Zsh/contrib.yo: match-words-by-style was
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
DISTFILES_SRC='
|
||||
.distfiles
|
||||
_losetup _modutils _mondo _uml _valgrind
|
||||
_losetup _modutils _mondo _pkgtool _uml _valgrind
|
||||
'
|
||||
|
|
84
Completion/Linux/Command/_pkgtool
Normal file
84
Completion/Linux/Command/_pkgtool
Normal file
|
@ -0,0 +1,84 @@
|
|||
#compdef installpkg upgradepkg removepkg pkgtool explodepkg makepkg
|
||||
|
||||
_slackware_pkg() {
|
||||
local flags
|
||||
|
||||
case "$service" in
|
||||
installpkg)
|
||||
flags=(
|
||||
'-warn[warn if files will be overwritten, but do not install]'
|
||||
'-root=[install someplace else, like /mnt]:Root directory:_path_files -/'
|
||||
'-infobox[use dialog to draw an info box]'
|
||||
'-menu[confirm package installation with a menu]'
|
||||
'-ask[used with menu mode: always ask if a package should be installed regardless of what the package'\''s priority is]'
|
||||
'-priority[provide a priority for the entire package list to use instead of the priority in the tagfile]:Priority list:(ADD REC OPT SKP)'
|
||||
'-tagfile[specify a different file to use for package priorities. The default is "tagfile" in the package'\''s directory]:Tagfile:_files -/'
|
||||
)
|
||||
|
||||
_arguments -s \
|
||||
$flags[@] \
|
||||
'*:Slackware packages:_files -g \*.tgz'
|
||||
;;
|
||||
|
||||
removepkg)
|
||||
flags=(
|
||||
'-warn[Generate a report to the standard output about which files and directories would be removed, but does not actually remove the package.]'
|
||||
'-preserve[If specified, the complete package subtree is reconstructed in /tmp/preserved_packages/packagename.]'
|
||||
'-copy[Construct a copy of the package under /tmp/preserved_packages/packagename, but don'\''t remove it. (same effect as -warn -preserve)]'
|
||||
'-keep[Save the intermediate files created by removepkg (delete_list, required_files, uniq_list, del_link_list, required_links, required_list). Mostly useful for debugging purposes.]'
|
||||
)
|
||||
|
||||
_arguments -s \
|
||||
$flags[@] \
|
||||
'*:Package name:_files -W /var/log/packages/ -/'
|
||||
;;
|
||||
|
||||
upgradepkg)
|
||||
flags=(
|
||||
'--install-new[the behavior is modified to install new packages in addition to upgrading existing ones.]'
|
||||
'--reinstall[upgrade all packages even if the same version is already installed.]'
|
||||
'--verbose[Show all the gory details of the upgrade.]'
|
||||
)
|
||||
|
||||
|
||||
_arguments -s \
|
||||
$flags[@] \
|
||||
'*:Slackware packages:_files -g \*.tgz'
|
||||
;;
|
||||
|
||||
|
||||
explodepkg)
|
||||
_arguments -s \
|
||||
'*:Slackware packages:_files -g \*.tgz'
|
||||
;;
|
||||
|
||||
makepkg)
|
||||
flags=(
|
||||
'(--linkadd -l)'{--linkadd,-l}'[moves symlinks into doinst.sh: recommended]:Answer:(y n)'
|
||||
'(--chown -c)'{--chown,-c}'[resets all permissions to root:root 755 - not generally recommended]:Answer:(y n)'
|
||||
)
|
||||
|
||||
|
||||
_arguments -s \
|
||||
$flags[@]
|
||||
;;
|
||||
|
||||
|
||||
|
||||
pkgtool)
|
||||
flags=(
|
||||
'-sets[Install the disk sets A, B, C. Seperate the disk set names by '\''#'\'' symbols.]'
|
||||
'-source_mounted[When this flag is present, pkgtool will not attempt to unmount and remount the source device with each disk.]'
|
||||
'-ignore_tagfile[When this flag is present, pkgtool will install every *.tgz package encountered no matter what the tagfiles say.]'
|
||||
'-tagfile[This flag is used to specify from the command line which tagfile should be used for the installation.]:Tagfile:_files -/'
|
||||
'-source_dir[Used when installing multiple packages from disk sets. This is the directory in which the subdirectories for each disk are found.]:Source directory:_path_files -/'
|
||||
'-target_dir[The directory where the target root directory is located. This is '/' when installing on the hard drive, or typically '\''/mnt'\'' when installing from an install disk.]:Target directory:_path_files -W -/'
|
||||
'-source_device[The source device to install from. This is not used if you'\''ve provided the -source_mounted flag. It'\''s usually used when installing from floppy.]:Source device:_files -/'
|
||||
)
|
||||
_arguments -s \
|
||||
$flags[@]
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_slackware_pkg "$@"
|
Loading…
Reference in a new issue