#!/bin/sh
#apt uses dpkg
# paquetes python-gnupginterface python-software-properties unattended-upgrades
#http://packages.debian.org/sid/python-software-properties
# comando 
#problemas con si haga lo que le digo en el caso de xz-utils, reemplazo de lsma por xy-utils

# cambio suse por apt en echo Accion: 

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

APT="apt-get -y"
DPKG=dpkg
APTCACHE=apt-cache

#echo apt-get -y  $@
#apt-get -y $@


TACCION=$1

echo TACCION $TACCION

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}'`



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`

echo Accion: $ACCION, Opciones: $ACCIONINFO  Toolset: apt  EACTION: $EACTION
echo OTROS: OS $OS, OND: $OND, ONU: $ONU, OF: $OF, OBD: $OBD
echo Paquetes: $PAQS

if test "x$ACCION" = xinstall ; then
 if test "x$E2ACCION" = xdwld ; then
  echo  $APT install  - $PAQS
  $APT install  -d $PAQS
  exit
 fi


OPTS=

if test "x$OS" != x ; then


    #elif test "x$ACCION" = xsourceinstall ; then

    OPTS="source $OPTS"
    #echo $APT source $PAQS
    #$APT source $PAQS
    # ver -d buildeps -D nonbuilddeps

    # con --download-only no se hara el desempaquetado
    # con --compile se compilara con dpkg-buildpackage


     ###### 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 propuesta "$APT install  --download-only $PAQS; rpm --install --nopeds $PAQS "
    #
    exit
 fi

if test  "x$ONU" != x ; then
    OPTS="$OPTS --no-upgrade"
fi
if test "x$OBD" != x ; then
    #OPTS="$OPTS --build-dep"
    $APT builddep   $PAQS  
    exit
fi
if test  "x$OF" != x ; then
    OPTS= "$OPTS --reinstall" 
fi

 echo     $APT $OPTS install   $PAQS  
    $APT $OPTS install   $PAQS  
    SALERR=$?
    # por algun motivo si apt-get falla en un paquete no sigue con el resto
    if test "x$SALERR" != x0 ; then
        for arg in $PAQS 
         do
           echo Instalando $arg
           $APT $OPTS install $arg
         done
  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 $APTCACHE search -n  $PAQS
     $APTCACHE search -n $PAQS
  elif test "x$EACCION" = xall ; then
     echo $APTCACHE search  $PAQS
     $APTCACHE search  $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 $APTCACHE show  $PAQS
     $APTCACHE show  $PAQS
     #showpkg
     # ver --all-versions para mostrartambien versiones que no se instalaran
elif test "x$ACCION" = xremove ; then
     echo $APT remove  $PAQS
     $APT remove  $PAQS
     # ver purge que elimina la configuracion tambien
elif test "x$ACCION" = xspecial ; then
echo $APT $ACCIONINFO $PAQS
    $APT $ACCIONINFO $PAQS
# fix clean specialnp delrepo refresh update distupdate
elif test "x$ACCION" = xfix ; then
 echo $APT --fix-broken
  $APT --fix-broken
elif test "x$ACCION" = xclean ; then
     echo $APTCACHE clean 
     $APTCACHE clean 
     #apt-cache autoclean only obsolete
elif test "x$ACCION" = xdelrepo ; then
    echo No hecho todavia
elif test "x$ACCION" = xrefresh ; then
    echo $APT update
    $APT update
elif test "x$ACCION" = xupdate ; then
    echo $APT upgrade
    $APT upgrade
elif test "x$ACCION" = xdistupdate ; then
    echo $APT dist-upgrade
    $APT dist-upgrade
elif test "x$ACCION" = xdepclean ; then
    echo $APT autoremove
    $APT autoremove
elif test "x$ACCION" = xstats ; then
    echo $APTCACHE stats
    $APTCACHE stats
elif test "x$ACCION" = xaddrepo ; then
 ESTA=`cat /etc/apt/sources.list|grep "deb $PAQS"`
 if test "x$ESTA" = "x" ; then
   echo deb $PAQS >>/etc/apt/sources.list
 fi

else
 echo $APT $ACCION $PAQS
  $APT $ACCION $PAQS 
fi



