#!/bin/sh set -e -u show_help() { echo 'Usage: pkg command [arguments]' echo '' echo 'A tool for managing packages. Commands:' echo '' echo ' files ' echo ' install ' echo ' list-all' echo ' list-installed' echo ' reinstall ' echo ' search ' echo ' show ' echo ' uninstall ' echo ' upgrade' exit 1 } 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 } 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; check_pkgcache; apt install "$@";; list-a*) apt list "$@";; list-i*) apt list --installed "$@";; rei*) assert_not_root; apt install --reinstall "$@";; 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)"; exit 1;; esac