diff options
-rwxr-xr-x | client/engine/Net.lib | 16 | ||||
-rwxr-xr-x | client/engine/System.lib | 1 | ||||
-rw-r--r-- | client/shared/etc/lang.ca_ES.conf | 1 | ||||
-rw-r--r-- | client/shared/etc/lang.en_GB.conf | 1 | ||||
-rw-r--r-- | client/shared/etc/lang.es_ES.conf | 1 | ||||
-rwxr-xr-x | client/shared/etc/preinit/loadenviron.sh | 1 |
6 files changed, 18 insertions, 3 deletions
diff --git a/client/engine/Net.lib b/client/engine/Net.lib index a9c75a21..7e93e90d 100755 --- a/client/engine/Net.lib +++ b/client/engine/Net.lib @@ -39,17 +39,27 @@ REPO="${1^^}" # Si REPO tomamos el valor por defecto. [ "$REPO" == "REPO" ] && REPO=$ogrepo +OLDREPO=$(ogGetRepoIp) +# Si $1 y $2 son el repositorio y la OU actual me salgo +[ "$REPO" == "$OLDREPO" ] && [ "$2" == "$ogunit" ] && return 0 + source /scripts/functions source /scripts/ogfunctions -# Si $1 y $2 son el repositorio y la OU actual me salgo -[ "$REPO" == "$(ogGetRepoIp)" ] && [ "$2" == "$ogunit" -o "$2" == "" ] && return 0 umount $OGIMG [ "$2" == "" ] && SRCIMG="ogimages" || SRCIMG="ogimages/$2" eval $(grep "OPTIONS=" /scripts/ogfunctions) [ "$ogactiveadmin" == "true" ] && RW=",rw" || RW=",ro" -echo "$MSG_HELP_ogChangeRepo $REPO" + +ogEcho session log "$MSG_HELP_ogChangeRepo $REPO" ogConnect $REPO $ogprotocol $SRCIMG $OGIMG $RW +# Si da error volvemos a montar el inicial +if [ $? -ne 0 ]; then + ogConnect $OLDREPO $ogprotocol $SRCIMG $OGIMG $RW + ogRaiseError session $OG_ERR_REPO "$REPO" + return $? +fi + } diff --git a/client/engine/System.lib b/client/engine/System.lib index 13183a6a..5ba71899 100755 --- a/client/engine/System.lib +++ b/client/engine/System.lib @@ -207,6 +207,7 @@ case "$CODE" in $OG_ERR_LOCKED) MSG="$MSG_ERR_LOCKED \"$2\"" ;; $OG_ERR_CACHE) MSG="$MSG_ERR_CACHE \"$2\"" ;; $OG_ERR_NOGPT) MSG="$MSG_ERR_NOGPT \"$2\"" ;; + $OG_ERR_REPO) MSG="$MSG_ERR_REPO \"$2\"" ;; $OG_ERR_FILESYS) MSG="$MSG_ERR_FILESYS \"$2\"" ;; $OG_ERR_IMAGE) MSG="$MSG_ERR_IMAGE \"$2\"" ;; $OG_ERR_NOTOS) MSG="$MSG_ERR_NOTOS \"$2\"" ;; diff --git a/client/shared/etc/lang.ca_ES.conf b/client/shared/etc/lang.ca_ES.conf index 79cc9780..3faf964f 100644 --- a/client/shared/etc/lang.ca_ES.conf +++ b/client/shared/etc/lang.ca_ES.conf @@ -9,6 +9,7 @@ MSG_ERR_PARTITION="Partición errónea o desconocida" MSG_ERR_LOCKED="Recurso bloqueado por operación de uso exclusivo" MSG_ERR_CACHE="Error en partición de caché local" MSG_ERR_NOGPT="El disco indicado no contiene una particion GPT" +MSG_ERR_REPO="Error al montar el repositorio de imágenes" MSG_ERR_FILESYS="Sistema de archivos desconocido o no se puede montar" MSG_ERR_NOTOS="Sistema operativo no detectado o no se puede iniciar" MSG_ERR_IMAGE="No se puede crear o restaurar una image de sistema" diff --git a/client/shared/etc/lang.en_GB.conf b/client/shared/etc/lang.en_GB.conf index ff8e50c1..eb2e1176 100644 --- a/client/shared/etc/lang.en_GB.conf +++ b/client/shared/etc/lang.en_GB.conf @@ -9,6 +9,7 @@ MSG_ERR_PARTITION="Unknown or missing partition" MSG_ERR_LOCKED="Resource locked by an operation" MSG_ERR_CACHE="Local cache error" MSG_ERR_NOGPT="The current disc does not contain a GPT partition" +MSG_ERR_REPO="Error al montar el repositorio de imágenes" MSG_ERR_FILESYS="Unknown or unmounted filesystem" MSG_ERR_NOTOS="Cannot detect or boot the operating system" MSG_ERR_IMAGE="Cannot create or cannot restore an image" diff --git a/client/shared/etc/lang.es_ES.conf b/client/shared/etc/lang.es_ES.conf index c15ea548..c501ba5e 100644 --- a/client/shared/etc/lang.es_ES.conf +++ b/client/shared/etc/lang.es_ES.conf @@ -9,6 +9,7 @@ MSG_ERR_PARTITION="Partición errónea o desconocida" MSG_ERR_LOCKED="Recurso bloqueado por operación de uso exclusivo" MSG_ERR_CACHE="Error en partición de caché local" MSG_ERR_NOGPT="El disco indicado no contiene una partición GPT" +MSG_ERR_REPO="Error al montar el repositorio de imágenes" MSG_ERR_FILESYS="Sistema de archivos desconocido o no se puede montar" MSG_ERR_NOTOS="Sistema operativo no detectado o no se puede iniciar" MSG_ERR_IMAGE="No se puede crear o restaurar una image de sistema" diff --git a/client/shared/etc/preinit/loadenviron.sh b/client/shared/etc/preinit/loadenviron.sh index b165ecfd..d5b218be 100755 --- a/client/shared/etc/preinit/loadenviron.sh +++ b/client/shared/etc/preinit/loadenviron.sh @@ -116,6 +116,7 @@ export OG_ERR_OUTOFLIMIT=19 # Valor fuera de rango o no válido. export OG_ERR_FILESYS=20 # Sistema de archivos desconocido o no se puede montar export OG_ERR_CACHE=21 # Error en partición de caché local export OG_ERR_NOGPT=22 # El disco indicado no contiene una particion GPT +export OG_ERR_REPO=23 # Error al montar el repositorio de imagenes export OG_ERR_IMGSIZEPARTITION=30 # Error al restaurar partición más pequeña que la imagen export OG_ERR_UPDATECACHE=31 # Error al realizar el comando updateCache |