Poder correr comandos en la raíz de Sutty

This commit is contained in:
f 2021-08-25 18:04:24 -03:00 committed by Nulo
parent 40cd11b2e6
commit e77c78cd09

View file

@ -6,16 +6,24 @@ set -e
uname -m | grep -q x86_64 || exit 1 uname -m | grep -q x86_64 || exit 1
DIR="$(dirname "$(realpath "$0")")" DIR="$(dirname "$(realpath "$0")")"
ROOT="$(dirname "$DIR")"
# Sólo se puede correr desde el directorio de Sutty # Sólo se puede correr desde el directorio de Sutty
if test "$(dirname "$DIR")" != "$(dirname "$PWD")"; then if test "$ROOT" != "$(dirname "$PWD")" && test "$ROOT" != "$PWD"; then
echo "¡No estás corriendo dentro de una carpeta dentro de Sutty!" echo "¡No estás corriendo dentro de una carpeta de Sutty!"
exit 1 exit 1
fi fi
# Si estamos corriendo el comando desde la raíz de trabajo no hay que
# agregar el directorio.
if test "$ROOT" = "$PWD"; then
WORKDIR="/Sutty"
else
WORKDIR="/Sutty/${PWD##*/}/"
fi
# Podemos cambiar el entorno # Podemos cambiar el entorno
ENTORNO=${ENTORNO:-../hain} ENTORNO=${ENTORNO:-${ROOT}/hain}
correr() { correr() {
echo "> $1" echo "> $1"
@ -42,7 +50,7 @@ correr() {
--unshare-uts \ --unshare-uts \
--unshare-cgroup-try \ --unshare-cgroup-try \
--bind "$ENTORNO" / \ --bind "$ENTORNO" / \
--bind .. /Sutty \ --bind "$ROOT" /Sutty \
--ro-bind /etc/hosts /etc/hosts \ --ro-bind /etc/hosts /etc/hosts \
--ro-bind /etc/passwd /etc/passwd \ --ro-bind /etc/passwd /etc/passwd \
--ro-bind /etc/group /etc/group \ --ro-bind /etc/group /etc/group \
@ -52,7 +60,7 @@ correr() {
--dev-bind /sys /sys \ --dev-bind /sys /sys \
--dev-bind /proc /proc \ --dev-bind /proc /proc \
--dev-bind /tmp /tmp \ --dev-bind /tmp /tmp \
--chdir "/Sutty/${PWD##*/}" \ --chdir "$WORKDIR" \
/bin/sh -l -c "$1" < "${stdin:-/dev/null}" /bin/sh -l -c "$1" < "${stdin:-/dev/null}"
} }
@ -66,8 +74,8 @@ generar_certificado() {
domain_csr="/etc/ssl/private/sutty.local.csr" domain_csr="/etc/ssl/private/sutty.local.csr"
domain_crt="/etc/ssl/certs/sutty.local.crt" domain_crt="/etc/ssl/certs/sutty.local.crt"
if test -f "$DIR/../sutty.local/domain/sutty.local.crt"; then if test -f "$ROOT/sutty.local/domain/sutty.local.crt"; then
SUTTY_LOCAL="$DIR/../sutty.local" SUTTY_LOCAL="$ROOT/sutty.local"
echo "Migrando certificados de sutty.local..." echo "Migrando certificados de sutty.local..."