2019-09-19 22:41:31 +02:00
|
|
|
#!/bin/sh
|
2017-02-17 23:13:49 +01:00
|
|
|
set -e -u
|
|
|
|
|
|
|
|
show_help() {
|
2017-10-01 21:42:37 +02:00
|
|
|
echo 'Usage: pkg command [arguments]'
|
2017-02-17 23:13:49 +01:00
|
|
|
echo ''
|
|
|
|
echo 'A tool for managing packages. Commands:'
|
|
|
|
echo ''
|
2017-03-10 15:34:17 +01:00
|
|
|
echo ' files <packages>'
|
|
|
|
echo ' install <packages>'
|
2017-02-17 23:13:49 +01:00
|
|
|
echo ' list-all'
|
|
|
|
echo ' list-installed'
|
2017-03-10 15:34:17 +01:00
|
|
|
echo ' reinstall <packages>'
|
2017-02-17 23:13:49 +01:00
|
|
|
echo ' search <query>'
|
2017-03-10 15:34:17 +01:00
|
|
|
echo ' show <packages>'
|
|
|
|
echo ' uninstall <packages>'
|
2017-02-17 23:13:49 +01:00
|
|
|
echo ' upgrade'
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
2018-06-11 09:20:03 +02:00
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2017-02-17 23:13:49 +01:00
|
|
|
if [ $# = 0 ]; then show_help; fi
|
|
|
|
CMD="$1"
|
|
|
|
shift 1
|
|
|
|
|
|
|
|
case "$CMD" in
|
2019-05-06 22:22:47 +02:00
|
|
|
f*) dpkg -L "$@";;
|
2017-03-10 15:22:44 +01:00
|
|
|
h*) show_help;;
|
2019-05-06 22:22:47 +02:00
|
|
|
add|i*) assert_not_root; apt update; 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 "$@";;
|
|
|
|
sh*) apt show "$@";;
|
|
|
|
un*|rem*|rm|del*) assert_not_root; apt remove "$@";;
|
|
|
|
up*) assert_not_root; apt update; apt full-upgrade "$@";;
|
2017-10-01 21:42:37 +02:00
|
|
|
*) echo "Unknown command: '$CMD' (run 'pkg help' for usage information)";;
|
2017-02-17 23:13:49 +01:00
|
|
|
esac
|
|
|
|
|