This commit is contained in:
root@nirvana 2017-07-19 16:01:52 +02:00
parent fe281d8089
commit 1a9032a256
1 changed files with 43 additions and 28 deletions

71
vpm
View File

@ -132,6 +132,14 @@ extract_packagename () {
echo "$1" | rev | cut -d"-" -f 2- | rev echo "$1" | rev | cut -d"-" -f 2- | rev
} }
# check if we have UID 0, exit otherwise
rootcheck () {
if [[ "$EUID" -gt 0 ]]; then
msg "ERROR: ${0##*/}: This operation needs super-user privileges. Exiting."
exit 255
fi
}
t () { t () {
if [[ "$show_translations" != "" ]]; then if [[ "$show_translations" != "" ]]; then
tput setaf 242 tput setaf 242
@ -270,11 +278,6 @@ if [[ "$arg" =~ --.* ]]; then
arg="$b" arg="$b"
fi fi
if [[ "$UID" -gt 0 ]]; then
msg "ERROR: ${0##*/} needs super-user privileges. Exiting."
exit 255
fi
case "$arg" in case "$arg" in
info|in) info|in)
shift shift
@ -370,6 +373,7 @@ case "$arg" in
setalternative|setalternatives|sa) setalternative|setalternatives|sa)
shift shift
rootcheck
xbps-alternatives -s "$@" xbps-alternatives -s "$@"
ret=$? ret=$?
rmsg $ret "xbps-alternatives return code: $ret (xbps-alternatives -s $@)" rmsg $ret "xbps-alternatives return code: $ret (xbps-alternatives -s $@)"
@ -394,6 +398,7 @@ case "$arg" in
addrepo|ar) addrepo|ar)
shift shift
rootcheck
while [ "$#" -gt 0 ]; do while [ "$#" -gt 0 ]; do
msg "Adding repository: $1" msg "Adding repository: $1"
xbps-install "$1" xbps-install "$1"
@ -407,14 +412,16 @@ case "$arg" in
done done
;; ;;
sync|sy) sync|sy)
shift
rootcheck
msg "Synchronizing remote repository data: (xbps-install -S):" msg "Synchronizing remote repository data: (xbps-install -S):"
xbps-install -S xbps-install -S
ret=$? ret=$?
rmsg $? "[xbps-install -S] return code: $?" rmsg $? "[xbps-install -S] return code: $?"
;; ;;
install|i) install|i)
shift shift
rootcheck
if [ "$#" -lt 1 ]; then if [ "$#" -lt 1 ]; then
msg "ERROR: install: argument missing, try --help." msg "ERROR: install: argument missing, try --help."
exit 1 exit 1
@ -425,9 +432,9 @@ case "$arg" in
ret="$?" ret="$?"
rmsg $ret "[xbps-install -S $@] return code: $ret" rmsg $ret "[xbps-install -S $@] return code: $ret"
;; ;;
yesinstall) yesinstall)
shift shift
rootcheck
if [ "$#" -lt 1 ]; then if [ "$#" -lt 1 ]; then
msg "ERROR: install: argument missing, try --help." msg "ERROR: install: argument missing, try --help."
exit 1 exit 1
@ -440,30 +447,32 @@ case "$arg" in
;; ;;
devinstall) devinstall)
shift shift
if [ "$#" -lt 1 ]; then rootcheck
msg "ERROR: devinstall: argument missing, try --help." if [ "$#" -lt 1 ]; then
exit 1 msg "ERROR: devinstall: argument missing, try --help."
fi exit 1
args=($@) fi
msg "devinstall: Packages will be installed one-by-one" args=($@)
msg "Use \"forceinstall\" to override this if you know what you're doing." msg "devinstall: Packages will be installed one-by-one"
msg "(Note: forceinstall won't install -devel packages)" msg "Use \"forceinstall\" to override this if you know what you're doing."
for arg in "${args[@]}"; do msg "(Note: forceinstall won't install -devel packages)"
let count=count+1 for arg in "${args[@]}"; do
msg "Installing package: $arg (xbps-install -S $arg) ..." let count=count+1
xbps-install -S "$arg" msg "Installing package: $arg (xbps-install -S $arg) ..."
ret="$?" xbps-install -S "$arg"
rmsg $ret "[xbps-install -S $arg] return code: $ret" ret="$?"
msg "installing devel package (${arg}-devel):" rmsg $ret "[xbps-install -S $arg] return code: $ret"
xbps-install -S "${arg}-devel" msg "installing devel package (${arg}-devel):"
ret="$?" xbps-install -S "${arg}-devel"
rmsg $ret "[xbps-install -S ${arg}-devel] return code: $ret" ret="$?"
done rmsg $ret "[xbps-install -S ${arg}-devel] return code: $ret"
done
;; ;;
forceinstall|fi) forceinstall|fi)
shift shift
rootcheck
msg "Force-Installing Package(s): $@ (xbps-install -Sf $@)" msg "Force-Installing Package(s): $@ (xbps-install -Sf $@)"
xbps-install -Sf "$@" xbps-install -Sf "$@"
ret="$?" ret="$?"
@ -472,6 +481,7 @@ case "$arg" in
remove|rm) remove|rm)
shift shift
rootcheck
msg "Removing package(s): $@ (xbps-remove -v $@)" msg "Removing package(s): $@ (xbps-remove -v $@)"
xbps-remove -v "$@" xbps-remove -v "$@"
ret="$?" ret="$?"
@ -480,6 +490,7 @@ case "$arg" in
removerecursive|rr) removerecursive|rr)
shift shift
rootcheck
msg "Removing package(s) recursively: $@ (xbps-remove -v -R $@)" msg "Removing package(s) recursively: $@ (xbps-remove -v -R $@)"
xbps-remove -v -R "$@" xbps-remove -v -R "$@"
ret="$?" ret="$?"
@ -488,6 +499,7 @@ case "$arg" in
reconfigure|rc) reconfigure|rc)
shift shift
rootcheck
msg "reconfigure: Re-configuring package(s) (xbps-reconfigure -v $@):" msg "reconfigure: Re-configuring package(s) (xbps-reconfigure -v $@):"
xbps-reconfigure -v "$@" xbps-reconfigure -v "$@"
ret="$?" ret="$?"
@ -496,6 +508,7 @@ case "$arg" in
autoremove|ar) autoremove|ar)
shift shift
rootcheck
msg "autoremove: Removing orphaned packages (xbps-remove -v -Q)" msg "autoremove: Removing orphaned packages (xbps-remove -v -Q)"
xbps-remove -v -O xbps-remove -v -O
ret="$?" ret="$?"
@ -504,6 +517,7 @@ case "$arg" in
update|upgrade|up) update|upgrade|up)
shift shift
rootcheck
msg "Running system update (xbps-install -Suv)" msg "Running system update (xbps-install -Suv)"
xbps-install -Suv xbps-install -Suv
ret=$? ret=$?
@ -521,6 +535,7 @@ case "$arg" in
cleanup|clean|cl) cleanup|clean|cl)
msg "Cleaning up packages (will remove orphaned packages) (xbps-remove -v -O $@)" msg "Cleaning up packages (will remove orphaned packages) (xbps-remove -v -O $@)"
shift shift
rootcheck
xbps-remove -v -O "$@" xbps-remove -v -O "$@"
ret=$? ret=$?
rmsg $ret "[xbps-remove -v --D $@] return code: $?" rmsg $ret "[xbps-remove -v --D $@] return code: $?"
@ -539,8 +554,8 @@ case "$arg" in
;; ;;
whatprovides|wp) whatprovides|wp)
shift
if hash xlocate >/dev/null 2>&1; then if hash xlocate >/dev/null 2>&1; then
shift
# set -x # set -x
# xlocate -S "$@" # xlocate -S "$@"
msg "relaying to: \"xlocate $@\" - use xlocate -S to (re-)build cached DB." msg "relaying to: \"xlocate $@\" - use xlocate -S to (re-)build cached DB."