#!/bin/sh DESTDIR=/ LINEAS=91 NOMBRE='Bash' DESCRIPCION='El Bourne-Again SHell es el interprete de comandos mas usado. Ejecuta varios tipos de expansiones y sustituciones en una linea de comando dada antes de ejecutar los comandos, esto lo hace un interprete muy poderoso' MAJVER=3 MIDVER=1 MINVER=0 SIZE=1718468 uso(){ echo "Opciones de `basename $0`:" echo " -i Muestra la descripcion del paquete." echo " -l Muestra una lista de los archivos contenidos en el paquete." echo " -d [destino] Cambia la ruta donde se va a instalar el paquete (solo precompilados)." echo " -n Extrae solamente los archivos, no ejecuta ningun script." echo " -s [args] Sobreescribir los argumentos por defecto para el script configure." echo " -a [args] Agregar 'args' a los argumentos por defecto para el script configure." } BYTES=`head -n $LINEAS $0 | wc -c | tr -d ' '` # Calcula los bytes a esquivar while [ -n "$1" ]; do case "$1" in --help | -h) uso exit 1 ;; -l) dd if=$0 bs=1b skip=$BYTES 2>/dev/null | tar -tj 2>/dev/null exit 0 ;; -i) echo "$NOMBRE:" echo "$DESCRIPCION" exit 0 ;; -d) if [ -d "$2" ]; then if [ "`echo $2 | grep '^/'`" != "" ]; then if [ "`echo $2 | grep '/$'`" = "" ]; then DESTDIR="$2/" else DESTDIR=$2 fi shift 2 else echo "Error: Debe usar una ubicacion absoluta" exit 1 fi else echo "Error: $2 no es un directorio" exit 1 fi ;; -n) COMPILAR=no shift ;; -s) if [ -n "$2" ]; then CONFIGURE_PARAMS="$2" shift 2 else echo "`basename $0`:\nError: Sintaxis no valida." uso exit 1 fi ;; -a) if [ -n "$2" ]; then CONFIGURE_PARAMS="$CONFIGURE_PARAMS $2" shift 2 else echo "`basename $0`:\nError: Sintaxis no valida." uso exit 1 fi ;; -*) echo "`basename $0`:\nError: Sintaxis no valida." uso exit 1 ;; esac done if [ "$CRUDO" != "" ]; then # Comprueba la variable de entorno dd if=$0 bs=1b skip=$BYTES 2>/dev/null | tar -tj 2>/dev/null | $CRUDO precomp -N $NOMBRE -C "`basename $0` $*" -D "$DESCRIPCION" -V $MAJVER $MIDVER $MINVER -S $SIZE -d $DESTDIR fi echo "Instalando..." dd if=$0 bs=1b skip=$BYTES 2>/dev/null | tar -xj -C $DESTDIR 2>/dev/null exit 0