48 lines
691 B
Bash
Executable File
48 lines
691 B
Bash
Executable File
#!/bin/bash
|
|
# flour: package management with extras
|
|
# by breadw
|
|
|
|
declare -a to_install
|
|
declare -a to_remove
|
|
declare -a to_upgrade
|
|
upgrade_all=false
|
|
|
|
usage()
|
|
{
|
|
case "$1" in
|
|
[0-9]*) ec="$1"; shift ;;
|
|
*) ec=0 ;;
|
|
esac
|
|
if [ "$#" -gt 0 ]; then
|
|
printf '!! flour: %s\n\n' "$*"
|
|
fi
|
|
sed -n '2,3s/#* *//p' "$0"
|
|
echo
|
|
cat <<-ENDUSAGE
|
|
usage: flour COMMAND [PACKAGE...]
|
|
COMMANDS:
|
|
-l list packages
|
|
-i PKG install PKG
|
|
-r PKG remove PKG
|
|
-u PKG update PKG
|
|
-U update all packages
|
|
ENDUSAGE
|
|
exit "$ec"
|
|
}
|
|
|
|
main()
|
|
{
|
|
while getopts hli:r:u:U opt; do
|
|
case "$opt" in
|
|
h) usage ;;
|
|
l) list && exit ;;
|
|
i) ;;
|
|
r) ;;
|
|
u) ;;
|
|
U) ;;
|
|
\?) usage 2 ;;
|
|
*) usage 2 ;;
|
|
esac
|
|
done
|
|
}
|