xpkglocal.sh: update to 1.0
This commit is contained in:
parent
4b70abf8e0
commit
96e50d8d5c
|
@ -5,15 +5,14 @@
|
|||
#
|
||||
# Shell: POSIX compliant
|
||||
# Autor: O. Sánchez <o-sanchez@linuxmail.org>
|
||||
# v1.0
|
||||
|
||||
set -u
|
||||
unset POSIXLY_CORRECT
|
||||
|
||||
TMP_DIR=$(mktemp /tmp/xpkglocal.XXXXXXXXXX)
|
||||
mkdir "${TMP_DIR}"
|
||||
TMP_DIR=$(mktemp -d /tmp/xpkglocal.XXXXXXXXXX)
|
||||
|
||||
which_sudo() {
|
||||
if command -v sudo >/dev/null && sudo -l | grep -q -e ' ALL$' -e xbps-install; then
|
||||
if command -v sudo >/dev/null && id | grep -q wheel; then
|
||||
echo sudo
|
||||
elif command -v doas >/dev/null && [ -f /etc/doas.conf ]; then
|
||||
echo doas
|
||||
|
@ -22,11 +21,13 @@ which_sudo() {
|
|||
fi
|
||||
}
|
||||
|
||||
admin=$(which_sudo)
|
||||
|
||||
do_install() {
|
||||
if [ "$SUDO" = su ]; then
|
||||
if [ "$admin" = su ]; then
|
||||
su root -c 'xbps-install "$@"' -- sh "$@"
|
||||
else
|
||||
$SUDO xbps-install "$@"
|
||||
$admin xbps-install "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -36,15 +37,11 @@ msg(){
|
|||
}
|
||||
|
||||
# Verificar que las dependencias estén instaladas
|
||||
if ! command -v xpkg >/dev/null; then
|
||||
printf '%s\n' "Instalando paquete xtools"
|
||||
SUDO=$(which_sudo)
|
||||
do_install -Sy xtools
|
||||
elif ! command -v dzen2 > /dev/null; then
|
||||
printf '%s\n' "Instalando paquete dzen2"
|
||||
SUDO=$(which_sudo)
|
||||
do_install -Sy dzen2
|
||||
fi
|
||||
for cmd in xpkg dzen2; do
|
||||
if ! command -v $cmd >/dev/null 2>&1; then
|
||||
printf '%b' "\033[31;5m[ERROR] '$cmd' es requerido, instalando el paquete...\033[0m\n"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! -f "$HOME/void-packages/xbps-src" ]; then
|
||||
printf '%s\n' "No se encontró repositorio git de Void Linux. Clonadolo..."
|
||||
|
@ -71,8 +68,8 @@ RELEASES="$(awk '{print $1"\t"$3}' "${TMP_DIR}"/upstream_releases | column -t)"
|
|||
if [ "$UPDATES" -gt 0 ]; then
|
||||
printf '%s\n' "$RELEASES"
|
||||
printf '%s\n' "ACTUALIZACIONES EN UPSTREAM: $UPDATES" "$RELEASES" | msg &
|
||||
rm -rf ${TMP_DIR}
|
||||
exit 0
|
||||
else
|
||||
rm -rf ${TMP_DIR}
|
||||
fi
|
||||
|
||||
rm -r "$TMP_DIR"
|
||||
|
||||
exit 0
|
||||
|
|
Loading…
Reference in New Issue