diff --git a/OYO/DEBIAN/control b/OYO/DEBIAN/control index 6cc3395..2a5fd4f 100644 --- a/OYO/DEBIAN/control +++ b/OYO/DEBIAN/control @@ -1,9 +1,9 @@ Package: oyo -Version: 1.1 +Version: 1.2 Maintainer: shenmo <shenmo@spark-app.store> Section: utils Installed-Size:10 -Depends: curl,transhell +Depends: transhell,aria2 Description: Aptss for Yoyo OS Architecture: amd64 Homepage: https://gitee.com/spark-community-works-collections/oyo diff --git a/OYO/DEBIAN/postinst b/OYO/DEBIAN/postinst deleted file mode 100755 index fd9b389..0000000 --- a/OYO/DEBIAN/postinst +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -ln -sf /opt/durapps/oyo/apt /usr/local/bin/apt diff --git a/OYO/DEBIAN/postrm b/OYO/DEBIAN/postrm deleted file mode 100755 index 95b64b1..0000000 --- a/OYO/DEBIAN/postrm +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -rm -f /usr/local/bin/apt diff --git a/OYO/opt/durapps/oyo/apt b/OYO/usr/local/bin/apt similarity index 58% rename from OYO/opt/durapps/oyo/apt rename to OYO/usr/local/bin/apt index 406c4ee..5072f46 100755 --- a/OYO/opt/durapps/oyo/apt +++ b/OYO/usr/local/bin/apt @@ -2,5 +2,5 @@ source /opt/durapps/transhell/transhell.sh load_transhell -echo "${TRANSHELL_CONTENT_APT_IS_PROVIDED_BY_OYO} " +echo -e "${TRANSHELL_CONTENT_APT_IS_PROVIDED_BY_OYO} " oyo $@ diff --git a/OYO/usr/share/apt/transhell/apt_en_US.transhell b/OYO/usr/share/apt/transhell/apt_en_US.transhell index d62a841..0c3636e 100644 --- a/OYO/usr/share/apt/transhell/apt_en_US.transhell +++ b/OYO/usr/share/apt/transhell/apt_en_US.transhell @@ -1,3 +1,3 @@ #!/bin/bash -TRANSHELL_CONTENT_APT_IS_PROVIDED_BY_OYO="In Yoyo OS, apt is provided by oyo.Please be careful when using apt in scripts" +TRANSHELL_CONTENT_APT_IS_PROVIDED_BY_OYO="In Yoyo OS, apt is provided by oyo.Please be careful when using apt in scripts\nAlso try oyo ! You can use oyo as apt and enjoy a faster speed!" diff --git a/OYO/usr/share/apt/transhell/apt_zh_CN.transhell b/OYO/usr/share/apt/transhell/apt_zh_CN.transhell index efe063f..1bd89b3 100644 --- a/OYO/usr/share/apt/transhell/apt_zh_CN.transhell +++ b/OYO/usr/share/apt/transhell/apt_zh_CN.transhell @@ -1,3 +1,3 @@ #!/bin/bash -TRANSHELL_CONTENT_APT_IS_PROVIDED_BY_OYO="在Yoyo OS中,apt是由oyo提供的。在脚本中使用apt请小心" +TRANSHELL_CONTENT_APT_IS_PROVIDED_BY_OYO="在Yoyo OS中,apt是由oyo提供的。在脚本中使用apt请小心\n欢迎尝试oyo!oyo的使用方法和apt类似,但是速度更快!" diff --git a/OYO/usr/share/bash-completion/completions/oyo b/OYO/usr/share/bash-completion/completions/oyo new file mode 100644 index 0000000..20651a4 --- /dev/null +++ b/OYO/usr/share/bash-completion/completions/oyo @@ -0,0 +1,233 @@ +# Debian apt(8) completion -*- shell-script -*- + +_oyo() +{ + 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=( + "list" + "search" + "show" "showsrc" + "install" "reinstall" "remove" "purge" "autoremove" "autopurge" + "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=1; i < ${#words[@]}; 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 | grep -Eo 'a=[^,]*|n=[^,]*' | cut -f2- -d= | sort -u)" -- "$cur" ) ) + return 0 + ;; + esac + + # When the cursor (cword) is before the command word (i), only suggest + # options but not package or file names: + if [[ $cur == -* || ( -v command && $cword -le $i ) ]]; then + case ${command-} in + install|reinstall|remove|purge|upgrade|dist-upgrade|full-upgrade|autoremove|autopurge) + 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 + + return + fi + + # specific command arguments + if [[ -v command ]]; then + case $command in + remove|purge|autoremove|autopurge) + 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" \ + 2> /dev/null ) ) + return 0 + ;; + install|reinstall) + if [[ "$cur" == .* || "$cur" == /* || "$cur" == ~* ]]; then + _filedir "deb" + else + COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ + 2> /dev/null ) ) + fi + return 0 + ;; + source|build-dep|showsrc|policy) + if [[ "$command" == build-dep && ( "$cur" == .* || "$cur" == /* || "$cur" == ~* ) ]]; then + _filedir "dsc" + else + COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ + 2> /dev/null ) $( apt-cache dumpavail | \ + command grep "^Source: $cur" | sort -u | cut -f2 -d" " ) ) + fi + return 0 + ;; + edit-sources) + COMPREPLY=( $( compgen -W '$( command ls $sourcesdir )' \ + -- "$cur" ) ) + return 0 + ;; + moo) + COMPREPLY=( $( compgen -W 'moo' \ + -- "$cur" ) ) + return 0 + ;; + esac + else + # no command yet, show what commands we have + COMPREPLY=( $( compgen -W '${COMMANDS[@]}' -- "$cur" ) ) + fi + + return 0 +} && +complete -F _oyo oyo + +# ex: ts=4 sw=4 et filetype=sh