summaryrefslogtreecommitdiffstats
path: root/repoman
diff options
context:
space:
mode:
Diffstat (limited to 'repoman')
-rwxr-xr-xrepoman/bin/deleteimage62
1 files changed, 62 insertions, 0 deletions
diff --git a/repoman/bin/deleteimage b/repoman/bin/deleteimage
new file mode 100755
index 00000000..3f060ed4
--- /dev/null
+++ b/repoman/bin/deleteimage
@@ -0,0 +1,62 @@
+#!/bin/bash
+# deleteimage [ -b | -r ] str_image
+#@file deleteimage
+#@brief Borra del repositorio los ficheros de una imagen.
+#@param -b Elimina también la copia de seguridad de la imagen (opcional).
+#@param -r Recupera la copia de seguridad de la imagen (opcional).
+#@param str_image Nombre canónico de la imagen, sin extensión.
+#@version 1.0
+#@date 2012-10-14
+#@author Ramón Gómez, ETSII Univ. Sevilla
+
+
+PROG=$(basename $0)
+OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
+OGIMG=$OPENGNSYS/images
+IMGEXT="img"
+BAKEXT="ant"
+
+# Si se solicita, mostrar ayuda.
+if [ "$*" == "help" ]; then
+ cat << EOT
+$PROG: Borra los ficheros de una imagen del repositorio.
+Formato: $PROG [ -b | -r ] str_image
+ -b Elimina también la copia de seguridad de la imagen.
+ -r Recupera la copia de seguridad de la imagen.
+Ejemplo: $PROG imagen1
+EOT
+ exit 0
+fi
+# Procesar parámetros
+while getopts dr OPTION; do
+ case $OPTION in
+ b) DELETEBACKUP=1 ;;
+ r) RECOVERBACKUP=1 ;;
+ *) ERR=1 ;;
+ esac
+ shift $((OPTIND-1))
+done
+[ -n "$DELETEBACKUP" ] && [ -n "$RECOVERBACKUP" ] && ERR=1
+if [ $# != 1 -o -n "$ERR" ]; then
+ echo "$PROG Error: Formato: $PROG [ -b | -r ] str_image"
+ exit 1
+fi
+
+# Fichero principal de la imagen.
+IMGFILE="$OGIMG/$1.$IMGEXT"
+
+# Eliminar ficheros de la imagen.
+rm -f $IMGFILE && rm -f $IMGFILE.{sum,torrent}
+
+# Recuperar copia de seguridad de la imagen.
+if [ -n "$RECOVERBACKUP" ]; then
+ mv -f $IMGFILE.$BAKEXT $IMGFILE && \
+ (mv -f $IMGFILE.sum.$BAKEXT $IMGFILE.sum 2>/dev/null
+ mv -f $IMGFILE.torrent.$BAKEXT $IMGFILE.torrent 2>/dev/null)
+fi
+
+# Borrar copia de seguridad de la imagen.
+if [ -n "$DELETEBACKUP" ]; then
+ rm -f $IMGFILE.$BAKEXT && rm -f $IMGFILE.{sum,torrent}.$BAKEXT
+fi
+