From b9d67afbe414250917b622ae83cdafbdcbdd9435 Mon Sep 17 00:00:00 2001 From: Efreak Date: Sun, 10 Nov 2019 14:29:05 +0000 Subject: [PATCH] Don't run `apt update` if it's been run recently (#4135) When installing or searching for packages, the `apt update` will run only if it was not executed within the last 5 minutes. Command `pkg upgrade` will always execute `apt update` to ensure that latest package versions were picked during upgrade. --- packages/termux-tools/build.sh | 2 +- packages/termux-tools/pkg | 27 +++++++++++++++++---------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/packages/termux-tools/build.sh b/packages/termux-tools/build.sh index 106e1519e..0e32583df 100644 --- a/packages/termux-tools/build.sh +++ b/packages/termux-tools/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=https://termux.com/ TERMUX_PKG_DESCRIPTION="Basic system tools for Termux" TERMUX_PKG_LICENSE="GPL-3.0" -TERMUX_PKG_VERSION=0.72 +TERMUX_PKG_VERSION=0.73 TERMUX_PKG_SKIP_SRC_EXTRACT=true TERMUX_PKG_PLATFORM_INDEPENDENT=true TERMUX_PKG_ESSENTIAL=true diff --git a/packages/termux-tools/pkg b/packages/termux-tools/pkg index 9f0ed5b03..033d5ce7c 100755 --- a/packages/termux-tools/pkg +++ b/packages/termux-tools/pkg @@ -19,28 +19,35 @@ show_help() { } assert_not_root() { - if [ $(id -u) -eq 0 ] - then - echo "This must NOT be run as root as it will break your environment (root will be required for nearly everything due to changed file permissions)" - exit 1 - fi + if [ $(id -u) -eq 0 ]; then + echo "This must NOT be run as root as it will break your environment (root will be required for nearly everything due to changed file permissions)" + exit 1 + fi } -if [ $# = 0 ]; then show_help; fi +check_pkgcache() { + if [ -z "$(find @TERMUX_PREFIX@/var/cache/apt/pkgcache.bin -mmin -5)" ]; then + apt update + fi +} + +if [ $# = 0 ]; then + show_help +fi + CMD="$1" shift 1 case "$CMD" in f*) dpkg -L "$@";; h*) show_help;; - add|i*) assert_not_root; apt update; apt install "$@";; + add|i*) assert_not_root; check_pkgcache; apt install "$@";; list-a*) apt list "$@";; list-i*) apt list --installed "$@";; rei*) assert_not_root; apt install --reinstall "$@";; - se*) assert_not_root; apt update; apt search "$@";; + se*) assert_not_root; check_pkgcache; apt search "$@";; sh*) apt show "$@";; un*|rem*|rm|del*) assert_not_root; apt remove "$@";; up*) assert_not_root; apt update; apt full-upgrade "$@";; - *) echo "Unknown command: '$CMD' (run 'pkg help' for usage information)";; + *) echo "Unknown command: '$CMD' (run 'pkg help' for usage information)"; exit 1;; esac -