Browse Source

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.
emacs-27
Efreak 5 years ago
committed by Leonid Plyushch
parent
commit
b9d67afbe4
  1. 2
      packages/termux-tools/build.sh
  2. 27
      packages/termux-tools/pkg

2
packages/termux-tools/build.sh

@ -1,7 +1,7 @@
TERMUX_PKG_HOMEPAGE=https://termux.com/ TERMUX_PKG_HOMEPAGE=https://termux.com/
TERMUX_PKG_DESCRIPTION="Basic system tools for Termux" TERMUX_PKG_DESCRIPTION="Basic system tools for Termux"
TERMUX_PKG_LICENSE="GPL-3.0" TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_VERSION=0.72 TERMUX_PKG_VERSION=0.73
TERMUX_PKG_SKIP_SRC_EXTRACT=true TERMUX_PKG_SKIP_SRC_EXTRACT=true
TERMUX_PKG_PLATFORM_INDEPENDENT=true TERMUX_PKG_PLATFORM_INDEPENDENT=true
TERMUX_PKG_ESSENTIAL=true TERMUX_PKG_ESSENTIAL=true

27
packages/termux-tools/pkg

@ -19,28 +19,35 @@ show_help() {
} }
assert_not_root() { assert_not_root() {
if [ $(id -u) -eq 0 ] if [ $(id -u) -eq 0 ]; then
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)"
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
exit 1 fi
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" CMD="$1"
shift 1 shift 1
case "$CMD" in case "$CMD" in
f*) dpkg -L "$@";; f*) dpkg -L "$@";;
h*) show_help;; 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-a*) apt list "$@";;
list-i*) apt list --installed "$@";; list-i*) apt list --installed "$@";;
rei*) assert_not_root; apt install --reinstall "$@";; 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 "$@";; sh*) apt show "$@";;
un*|rem*|rm|del*) assert_not_root; apt remove "$@";; un*|rem*|rm|del*) assert_not_root; apt remove "$@";;
up*) assert_not_root; apt update; apt full-upgrade "$@";; 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 esac

Loading…
Cancel
Save