From 34eed61ac859067a628fecfd0fc3efee3bf2e91e Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 4 Jul 2003 13:53:44 +0000 Subject: 18807: baptiste daroussin : Completion for Slackware package management tool --- Completion/Linux/Command/.distfiles | 2 +- Completion/Linux/Command/_pkgtool | 84 +++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 Completion/Linux/Command/_pkgtool (limited to 'Completion/Linux') diff --git a/Completion/Linux/Command/.distfiles b/Completion/Linux/Command/.distfiles index 5968b219d..34f7bc10d 100644 --- a/Completion/Linux/Command/.distfiles +++ b/Completion/Linux/Command/.distfiles @@ -1,4 +1,4 @@ DISTFILES_SRC=' .distfiles -_losetup _modutils _mondo _uml _valgrind +_losetup _modutils _mondo _pkgtool _uml _valgrind ' diff --git a/Completion/Linux/Command/_pkgtool b/Completion/Linux/Command/_pkgtool new file mode 100644 index 000000000..61578e011 --- /dev/null +++ b/Completion/Linux/Command/_pkgtool @@ -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 "$@" -- cgit 1.4.1