#!/bin/sh

# let no sirve en dash usar expr, expr en coreutils
# comillas en opciones y fin en array if test -n "$OS" ;
# agrergado OS en cut y poner numeros en cut
# sacar elif install-source y ponerla despues de opts
# addrepo en minusculas


#Poner en cada paquete la distro correcta, el toolset mejor, en echo Accion

#zypper uses rpm

for arg in "$@" 
do
      index=`expr $index + 1` 
      #echo RRR $index $arg - $PAQS
      if test $index -gt 1 ; then
          narg=`echo $arg| sed 's/^\"//'| sed 's/\"$//'`
          PAQS="$PAQS $narg"                 
      fi
done  


#s:nd:nu:f:bd_dwld|tar|configure|all|srcinstall|install
#por defecto: _install


ZYPPER="zypper --non-interactive "

TACCION=$1

ACCION=`echo $TACCION|awk -F'-' '{print $1}'`
ACCIONINFO=`echo $TACCION|awk -F'-' '{print $2}'`
EACCION=`echo $ACCIONINFO|awk -F'_' '{print $1}'`
E2ACCION=`echo $ACCIONINFO|awk -F'_' '{print $2}'`
echo Accion: $ACCION, Opciones: $ACCIONINFO Distro: SUSE
echo Paquetes: $PAQS

OS=`echo $EACTION |cut -b1`
OND=`echo $EACTION |cut -b2`
ONU=`echo $EACTION |cut -b3`
OF=`echo $EACTION |cut -b4`
OBD=`echo $EACTION |cut -b5`

if test "x$ACCION" = xinstall ; then
 if test "x$E2ACCION" = xdwld ; then
  echo  $ZYPPER install  --download-only $PAQS
  $ZYPPER install  --download-only $PAQS
    # ver donde los baja y como se llaman
#echo propuesta "$ZYPPER install  --download-only $PAQS; rpm --install --nopeds $PAQS "
  exit
 fi


OPTS=


if test "x$OS" != x ; then
    echo $ZYPPER source-install $PAQS
    $ZYPPER source-install $PAQS

     ###### FALTA VER QUE SE HACE INSTALA CONFIGURA ETC con $E2ACCION
     ### LLAMAR SOURCE SIN WGET, dwld

    # ver   nd:nu:f:nbd_dwld|tar|configure|all|srcinstall|install

    # zypper si -D zypper    # only the source packages (no build deps)
    #zypper si -d zypper    # only the build deps (no source package)
fi


if test "x$OND" != x ; then
    #nodeps
    echo No funciona todavia
    #echo rpm -i --nodeps $PAQS
    # falta ver que es $PAQS    
    #rpm -i --nodeps $PAQS

    #
    exit
 fi

if test "x$ONU" != x ; then
    echo NO SE
    exit
fi
if test "x$OBD" != x ; then
    echo     $ZYPPER si -d
    $ZYPPER si -d
    exit
fi
if test "x$OF" != x ; then
    OPTS="$OPTS -f"
    exit
fi
  echo $ZYPPER $OPTS install $PAQS
  $ZYPPER $OPTS install $PAQS


#    echo "$ZYPPER install -f  $PAQS;  $ZYPPER update  $PAQS "
    # esto lo hace install de por si $ZYPPER update  $PAQS # verificar si hay alguna mejor forma que hacerlo dos veces
    #por defecto zypper update
# else
#    echo Opcion inexistente. Error en -o  $ACCIONINFO accion: $ACCION 
# fi


elif test "x$ACCION" = xoriginalsourceinstall ; then
   echo esto lo maneja source.sh, mal llamado desde babel
elif test "x$ACCION" = xsearch ; then
  if test "x$EACCION" = xnames -o "x$EACCION" = x ; then
     echo $ZYPPER search  $PAQS
     $ZYPPER search  $PAQS
  elif test "x$EACCION" = xall ; then
     echo $ZYPPER search -d $PAQS
     $ZYPPER search -d $PAQS
  else
     echo error opcion $EACCION diferente a la habilitada con search
  fi
elif test "x$ACCION" = xinfo  ; then
       #la opcion aca EACCION no parece servir
     echo $ZYPPER info  $PAQS
     $ZYPPER info  $PAQS
elif test "x$ACCION" = xremove ; then
     echo $ZYPPER remove  $PAQS
     $ZYPPER remove  $PAQS
elif test "x$ACCION" = xspecial ; then
echo $ZYPPER $ACCIONINFO $PAQS
    $ZYPPER $ACCIONINFO $PAQS
elif test "x$ACCION" = xfix; then
   echo No se quizas 	rug* solvedeps 
elif test "x$ACCION" = xclean ; then
    echo $ZYPPER clean
     $ZYPPER clean 
     #apt-cache autoclean only obsolete
elif test "x$ACCION" = xdelrepo ; then
    echo No hecho todavia
elif test "x$ACCION" = xrefresh ; then
    $ZYPPER refresh
elif test "x$ACCION" = xupdate ; then
   echo $ZYPPER update
    $ZYPPER update
elif test "x$ACCION" = xdistupdate ; then
echo     $ZYPPER dup
    $ZYPPER dup
elif test "x$ACCION" = xdepclean ; then
    echo   No aplica
elif test "x$ACCION" = xstats ; then
    echo No se como
elif test "x$ACCION" = xaddrepo ; then
   echo $ZYPPER ar $PAQS
    $ZYPPER ar $PAQS
    #PAQ-$TOOLSET.sh ar $distro $nombre
else
 echo $ZYPPER $ACCION $PAQS
  $ZYPPER $ACCION $PAQS 
fi




#verify: sugiere
# no: locks

#otras acciones con otros scripts: update global, dup, addrepo fix clean
