mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-07-08 06:35:58 +08:00
* 删除文件 spark-wine7-devel_7.14~spark-1_amd64.deb * final * 修改: debian/spark-store.postinst * 修改: tool/update-upgrade/ss-update-controler.sh * 修改: debian/spark-store.postinst * 只额外生成一份给aptss * 修改: debian/spark-store.postinst * 要提交的变更: * 修改: tool/aptss * 修改: debian/changelog * 修改: pkg/usr/share/bash-completion/completions/aptss * 修改: pkg/usr/share/bash-completion/completions/aptss * 修改: debian/spark-store.postinst * aa * Merge branch 'master' of https://gitee.com/deepin-community-store/spark-store * 修改: src/main.cpp * Merge branch 'master' of https://gitee.com/deepin-community-store/spark-store * 修改: debian/spark-store.postinst
229 lines
7.1 KiB
Bash
229 lines
7.1 KiB
Bash
# Debian apt(8) completion -*- shell-script -*-
|
|
|
|
_aptss()
|
|
{
|
|
local sourcesdir="/etc/apt/sources.list.d"
|
|
local cur prev words cword
|
|
_init_completion || return
|
|
|
|
local GENERIC_APT_GET_OPTIONS='
|
|
-d --download-only
|
|
-y --assume-yes
|
|
--assume-no
|
|
-u --show-upgraded
|
|
-m --ignore-missing
|
|
-t --target-release
|
|
--download
|
|
--fix-missing
|
|
--ignore-hold
|
|
--upgrade
|
|
--only-upgrade
|
|
--allow-change-held-packages
|
|
--allow-remove-essential
|
|
--allow-downgrades
|
|
--print-uris
|
|
--trivial-only
|
|
--remove
|
|
--arch-only
|
|
--allow-unauthenticated
|
|
--allow-insecure-repositories
|
|
--install-recommends
|
|
--install-suggests
|
|
--no-install-recommends
|
|
--no-install-suggests
|
|
--fix-policy
|
|
'
|
|
|
|
# see if the user selected a command already
|
|
local COMMANDS=(
|
|
"ssupdate"
|
|
"list"
|
|
"search"
|
|
"show" "showsrc"
|
|
"install" "remove" "purge" "autoremove"
|
|
"update"
|
|
"upgrade" "full-upgrade" "dist-upgrade"
|
|
"edit-sources"
|
|
"help"
|
|
"source" "build-dep"
|
|
"clean" "autoclean"
|
|
"download" "changelog"
|
|
"moo"
|
|
"depends" "rdepends"
|
|
"policy")
|
|
|
|
local command i
|
|
for (( i=0; i < ${#words[@]}-1; i++ )); do
|
|
if [[ ${COMMANDS[@]} =~ ${words[i]} ]]; then
|
|
command=${words[i]}
|
|
break
|
|
fi
|
|
done
|
|
|
|
# Complete a -t<SPACE><TAB>
|
|
case $prev in
|
|
-t|--target-release)
|
|
COMPREPLY=( $( compgen -W "$( apt-cache policy -o Dir::Cache="/etc/aptss/" | egrep -o 'a=[^,]*|n=[^,]*' | cut -f2- -d= | sort -u)" -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
esac
|
|
|
|
# supported options per command
|
|
if [[ "$cur" == -* ]]; then
|
|
case $command in
|
|
install|remove|purge|upgrade|dist-upgrade|full-upgrade|autoremove)
|
|
COMPREPLY=( $( compgen -W '--show-progress
|
|
--fix-broken --purge --verbose-versions --auto-remove
|
|
-s --simulate --dry-run
|
|
--download
|
|
--fix-missing
|
|
--fix-policy
|
|
--ignore-hold
|
|
--force-yes
|
|
--trivial-only
|
|
--reinstall --solver
|
|
-t --target-release'"$GENERIC_APT_GET_OPTIONS" -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
update)
|
|
COMPREPLY=( $( compgen -W '--list-cleanup
|
|
--print-uris
|
|
--allow-insecure-repositories
|
|
' -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
list)
|
|
COMPREPLY=( $( compgen -W '--installed --upgradable
|
|
--manual-installed
|
|
-v --verbose
|
|
-a --all-versions
|
|
-t --target-release
|
|
' -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
show)
|
|
COMPREPLY=( $( compgen -W '-a --all-versions
|
|
' -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
depends|rdepends)
|
|
COMPREPLY=( $( compgen -W '-i
|
|
--important
|
|
--installed
|
|
--pre-depends
|
|
--depends
|
|
--recommends
|
|
--suggests
|
|
--replaces
|
|
--breaks
|
|
--conflicts
|
|
--enhances
|
|
--recurse
|
|
--implicit' -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
search)
|
|
COMPREPLY=( $( compgen -W '
|
|
-n --names-only
|
|
-f --full' -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
showsrc)
|
|
COMPREPLY=( $( compgen -W '
|
|
--only-source' -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
source)
|
|
COMPREPLY=( $( compgen -W '
|
|
-s --simulate --dry-run
|
|
-b --compile --build
|
|
-P --build-profiles
|
|
--diff-only --debian-only
|
|
--tar-only
|
|
--dsc-only
|
|
-t --target-release
|
|
'"$GENERIC_APT_GET_OPTIONS" -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
build-dep)
|
|
COMPREPLY=( $( compgen -W '
|
|
-a --host-architecture
|
|
-s --simulate --dry-run
|
|
-P --build-profiles
|
|
-t --target-release
|
|
--purge --solver
|
|
'"$GENERIC_APT_GET_OPTIONS" -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
moo)
|
|
COMPREPLY=( $( compgen -W '
|
|
--color
|
|
' -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
clean|autoclean)
|
|
COMPREPLY=( $( compgen -W '
|
|
-s --simulate --dry-run
|
|
' -- "$cur" ) )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# specific command arguments
|
|
if [[ -n $command ]]; then
|
|
case $command in
|
|
remove|purge|autoremove)
|
|
if [[ -f /etc/debian_version ]]; then
|
|
# Debian system
|
|
COMPREPLY=( $( \
|
|
_xfunc dpkg _comp_dpkg_installed_packages $cur ) )
|
|
else
|
|
# assume RPM based
|
|
_xfunc rpm _rpm_installed_packages
|
|
fi
|
|
return 0
|
|
;;
|
|
show|list|download|changelog|depends|rdepends)
|
|
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/" \
|
|
2> /dev/null ) )
|
|
return 0
|
|
;;
|
|
install)
|
|
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/" \
|
|
2> /dev/null ) )
|
|
if [[ "$cur" == ./* || "$cur" == /* ]]; then
|
|
_filedir "deb"
|
|
fi
|
|
return 0
|
|
;;
|
|
source|build-dep|showsrc|policy)
|
|
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/" \
|
|
2> /dev/null ) $( apt-cache dumpavail -o Dir::Cache="/etc/aptss/" | \
|
|
command grep "^Source: $cur" | sort -u | cut -f2 -d" " ) )
|
|
return 0
|
|
;;
|
|
edit-sources)
|
|
COMPREPLY=( $( compgen -W '$( command ls $sourcesdir )' \
|
|
-- "$cur" ) )
|
|
return 0
|
|
;;
|
|
moo)
|
|
COMPREPLY=( $( compgen -W 'moo' \
|
|
-- "$cur" ) )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# no command yet, show what commands we have
|
|
if [ "$command" = "" ]; then
|
|
COMPREPLY=( $( compgen -W '${COMMANDS[@]}' -- "$cur" ) )
|
|
fi
|
|
|
|
return 0
|
|
} &&
|
|
complete -F _aptss aptss
|
|
|
|
# ex: ts=4 sw=4 et filetype=sh
|