Agrega opciones Arch & Suse
This commit is contained in:
parent
34f17905dd
commit
36a8215b5a
|
@ -43,10 +43,34 @@ case $? in
|
|||
#0 Definimos el repositorio estable.
|
||||
estadoversion="stable"
|
||||
|
||||
#1 ## Escogemos la versión de LibreOffice
|
||||
#1 ## Instalamos dependencias
|
||||
|
||||
YUM_CMD=$(which yum)
|
||||
APT_CMD=$(which apt)
|
||||
PACMAN_CMD=$(which pacman)
|
||||
ZYPPER_CMD=$(which zypper)
|
||||
|
||||
SUDO_CMD=$(which sudo)
|
||||
|
||||
if ! [ -e $SUDO_CMD ]; then
|
||||
|
||||
if [[ ! -z $APT_CMD ]]; then
|
||||
apt install sudo -y
|
||||
elif [[ ! -z $YUM_CMD ]]; then
|
||||
dnf install sudo -y
|
||||
elif [[ ! -z $PACMAN_CMD ]]; then
|
||||
pacman -Sy sudo
|
||||
elif [[ ! -z $ZYPPER_CMD ]]; then
|
||||
zypper -n install sudo
|
||||
fi
|
||||
else
|
||||
echo "Sudo está presente"
|
||||
fi
|
||||
|
||||
#2 ## Escogemos la versión de LibreOffice
|
||||
vs=$(zenity --entry --title="Ingrese la versión" --text="versión:")
|
||||
if [ $? == 0 ]; then
|
||||
#2 Aqui se pode ingresar una lista de servidoes prefereridos para descargar LibreOffice,
|
||||
#3 Aqui se pode ingresar una lista de servidoes prefereridos para descargar LibreOffice,
|
||||
#con la posibilidad de ingresar un servidor local, ideal para ambientes empresariales
|
||||
#En este caso utilicé el servidor de mi red con IP 192.168.0.193/tdf
|
||||
|
||||
|
@ -54,7 +78,7 @@ case $? in
|
|||
--title="Escoja el servidor espejo" \
|
||||
--text="Selecione el servidor para realizar la descarga de los paquetes de LibreOffice" \
|
||||
--column="Selección" --column="Enlace" --column="Institución" \
|
||||
TRUE http://tdf.c3sl.ufpr.br "UFPR" \
|
||||
TRUE http://tdf.c3sl.ufpr.br "UFPR - BR" \
|
||||
FALSE https://mirror.clarkson.edu/tdf/ "Clarkson - EEUU" \
|
||||
FALSE https://mirror1.cs-georgetown.net/tdf/ "Georgetown - EEUU" \
|
||||
FALSE https://ftp.osuosl.org/pub/tdf/ "Open Source Lab - EEUU" \
|
||||
|
@ -66,7 +90,7 @@ case $? in
|
|||
|
||||
if [ $? == 0 ]; then
|
||||
|
||||
#3 Verificando el gestor de paquetes"
|
||||
#4 Verificando el gestor de paquetes"
|
||||
if [ -e "/bin/rpm" ]; then
|
||||
gestorPaquetes=rpm
|
||||
directorio=RPMS
|
||||
|
@ -74,7 +98,7 @@ case $? in
|
|||
gestorPaquetes=deb
|
||||
directorio=DEBS
|
||||
fi
|
||||
#4 Verificando arquitetura del sistema"
|
||||
#5 Verificando arquitetura del sistema"
|
||||
if [ `getconf LONG_BIT` = "64" ]
|
||||
then
|
||||
plataforma=x86_64
|
||||
|
@ -84,7 +108,7 @@ case $? in
|
|||
plataforma2=x86
|
||||
fi
|
||||
|
||||
#5 Seleccionando el idioma local
|
||||
#6 Selección del idioma local
|
||||
idioma=$(zenity --list --radiolist --width=450 --height=500 \
|
||||
--title="Seleccione el idioma local" \
|
||||
--column="Selección" --column="Cod. Idioma" --column="Idioma" \
|
||||
|
@ -149,7 +173,7 @@ case $? in
|
|||
FALSE tr "Turkish" \
|
||||
FALSE ug "Uyghur" \
|
||||
FALSE uk "Ukrainian" \
|
||||
FALSE vi "Vietnamese (Viet Nam)" \
|
||||
FALSE vi "Vietnamese (Vietnam)" \
|
||||
FALSE zh-CN "Chinese Simplified" \
|
||||
FALSE zh-TW "Chinese Traditial" )
|
||||
status=$?
|
||||
|
@ -160,29 +184,25 @@ case $? in
|
|||
do
|
||||
resp=$(zenity --password --text "Ingrese su contraseña" --title "Autenticación")
|
||||
|
||||
#5.1 Toma la contraseña de la IU
|
||||
#6.1 Toma la contraseña de la IU
|
||||
clave=$(echo "$resp" | cut -f1 -d'|')
|
||||
(
|
||||
echo "1" ; sleep 1
|
||||
echo "# Creando directorios" ; sleep 1
|
||||
#5.2 # Pasa la contraseña
|
||||
#6.2 # Pasa la contraseña
|
||||
echo $clave | sudo -S -u root zenity --info --width=300 --height=60 --text "Iniciando instalación \nGuarde los trabajos abiertos en LibreOffice y haga clic en Aceptar"
|
||||
|
||||
if ! [ -e /usr/bin/notify-send ]; then
|
||||
|
||||
if [ -e /usr/bin/dnf ]; then
|
||||
sudo -S dnf install notify-send -y
|
||||
|
||||
elif [ -e /usr/bin/zypper ]; then
|
||||
sudo -S zypper -n install notify-send
|
||||
|
||||
elif [ -e /usr/bin/zypper ]; then
|
||||
sudo -S zypper -n install notify-send
|
||||
|
||||
elif [ -e /usr/bin/dpkg ]; then
|
||||
sudo -S apt-get install notify-send -y
|
||||
|
||||
else
|
||||
if [[ ! -z $APT_CMD ]]; then
|
||||
apt install libnotify-bin -y
|
||||
elif [[ ! -z $YUM_CMD ]]; then
|
||||
dnf install libnotify -y
|
||||
elif [[ ! -z $PACMAN_CMD ]]; then
|
||||
pacman -Sy libnotify
|
||||
elif [[ ! -z $ZYPPER_CMD ]]; then
|
||||
zypper -n install notify-send
|
||||
else
|
||||
echo "Gestor no encontrado"
|
||||
fi
|
||||
else
|
||||
|
@ -192,11 +212,11 @@ case $? in
|
|||
|
||||
echo "5" ; sleep 1
|
||||
echo "# Creando directorios" ; sleep 1
|
||||
#5.3 # Creando directorio para bajar los paquetes de acuerdo con versión, gestor, arquitectura
|
||||
#6.3 # Creando directorio para bajar los paquetes de acuerdo con versión, gestor, arquitectura
|
||||
mkdir -p "/home/"$USER"/Descargas/libreoffice/"$estadoversion"/"$vs"/"$gestorPaquetes"/"$plataforma""
|
||||
destino="/home/"$USER"/Descargas/libreoffice/"$estadoversion"/"$vs"/"$gestorPaquetes"/"$plataforma""
|
||||
|
||||
#6 #Descargando LibreOffice
|
||||
#7 #Descargando LibreOffice
|
||||
##notify-send -i libreoffice -t 50000 'LibreOffice '$vs'' 'Descargando paquetes'
|
||||
|
||||
echo "10" ; sleep 1
|
||||
|
@ -207,7 +227,7 @@ case $? in
|
|||
echo "# Descargando el paquete de ayuda" ; sleep 1
|
||||
wget -c "$servidor"/libreoffice/"$estadoversion"/"$vs"/"$gestorPaquetes"/"$plataforma"/LibreOffice_"$vs"_Linux_"$plataforma2"_"$gestorPaquetes"_helppack_"$idioma".tar.gz -P "$destino"
|
||||
|
||||
#7 # Verificando si hay necesidad de descarga el paquete de idioma, si se trata de inglés no es necesario.
|
||||
#8 # Verificando si hay necesidad de descarga el paquete de idioma, si se trata de inglés no es necesario.
|
||||
if ! [ "$idioma" = "en-US" ]
|
||||
then
|
||||
echo "30" ; sleep 1
|
||||
|
@ -219,27 +239,24 @@ case $? in
|
|||
|
||||
echo "40" ; sleep 1
|
||||
echo "# Quitando versión anterior" ; sleep 1
|
||||
#8 #Verificando si el paquete principal LibreOffice fue bajado para dar continuidad al proceso, en caso afirmativo se realiza un test del gestor de paquetes para desinstalar la versión anterior de LibreOffice.
|
||||
#9 #Verificando si el paquete principal LibreOffice fue bajado para dar continuidad al proceso, en caso afirmativo se realiza un test del gestor de paquetes para desinstalar la versión anterior de LibreOffice.
|
||||
##notify-send -i libreoffice -t 50000 'LibreOffice '$vs'' 'Removiendo versión anterior '$comparar-version-instalada'. !'
|
||||
if [ -e "$destino"/LibreOffice_"$vs"_Linux_"$plataforma2"_"$gestorPaquetes".tar.gz ]
|
||||
then
|
||||
if [ -e /usr/bin/dnf ]; then
|
||||
sudo -S dnf remove openoffice* libreoffice* -y
|
||||
|
||||
elif [ -e /usr/bin/zypper ]; then
|
||||
sudo -S zypper -n remove libreoffice[0-9]*
|
||||
|
||||
elif [ -e /usr/bin/zypper ]; then
|
||||
sudo -S zypper -n remove openoffice[0-9]*
|
||||
|
||||
elif [ -e /usr/bin/dpkg ]; then
|
||||
sudo -S apt-get remove libreoffice[0-9]* -y
|
||||
|
||||
|
||||
if [[ ! -z $APT_CMD ]]; then
|
||||
sudo -S apt remove libreoffice* -y
|
||||
elif [[ ! -z $YUM_CMD ]]; then
|
||||
sudo -S dnf remove libreoffice* -y
|
||||
elif [[ ! -z $PACMAN_CMD ]]; then
|
||||
sudo -S pacman -Rn libreoffice*
|
||||
elif [[ ! -z $ZYPPER_CMD ]]; then
|
||||
sudo -S zypper -n remove libreoffice*
|
||||
else
|
||||
echo "LibreOffice no encontrado, continuar instalación"
|
||||
fi
|
||||
|
||||
#9 # Descomprimimos los paquetes de LibreOffice
|
||||
#10 # Descomprimimos los paquetes de LibreOffice
|
||||
##notify-send -i libreoffice -t 50000 'LibreOffice '$vs'' 'Extrayendo paquetes'
|
||||
|
||||
echo "50" ; sleep 1
|
||||
|
@ -247,7 +264,7 @@ case $? in
|
|||
|
||||
tar -xzf "$destino"/LibreOffice_"$vs"_Linux_"$plataforma2"_"$gestorPaquetes".tar.gz -C /tmp
|
||||
|
||||
#10 # Verificando la necesidad de instalar paquete de idioma
|
||||
#11 # Verificando la necesidad de instalar paquete de idioma
|
||||
if ! [ "$idioma" = "en-US" ]
|
||||
then
|
||||
|
||||
|
@ -258,14 +275,14 @@ case $? in
|
|||
exit 1
|
||||
fi
|
||||
|
||||
#11 # Instalación del paquete de ayuda
|
||||
#12 # Paquete de ayuda
|
||||
echo "70" ; sleep 1
|
||||
echo "# Descompactando el paquete de ayuda" ; sleep 1
|
||||
tar -xzf "$destino"/LibreOffice_"$vs"_Linux_"$plataforma2"_"$gestorPaquetes"_helppack_"$idioma".tar.gz -C /tmp
|
||||
|
||||
# Aqui se instala el paquete principal de LibreOffice
|
||||
|
||||
#12 #PAQUETE PRINCIPAL
|
||||
#13 #PAQUETE PRINCIPAL
|
||||
##notify-send -i libreoffice -t 50000 'LibreOffice '$vs'' 'Instalando paquete principal'
|
||||
tar -tzf "$destino"/LibreOffice_"$vs"_Linux_"$plataforma2"_"$gestorPaquetes".tar.gz | cut -d '_' -f2 | uniq > /tmp/subversion
|
||||
valorsubversion=$(</tmp/subversion)
|
||||
|
@ -273,14 +290,14 @@ case $? in
|
|||
echo "75" ; sleep 1
|
||||
echo "# Instalando el paquete principal " ; sleep 1
|
||||
|
||||
if [ -e /usr/bin/dpkg ]; then
|
||||
if [ -e $APT_CMD ]; then
|
||||
|
||||
sudo -S apt install /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"/"$directorio"/*
|
||||
else
|
||||
sudo -S rpm -Uvh /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"/"$directorio"/*
|
||||
sudo -S dnf install /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"/"$directorio"/*
|
||||
fi
|
||||
|
||||
#13 ##Instalación del PAQUETE DE IDIOMA
|
||||
#14 ##Instalación del PAQUETE DE IDIOMA
|
||||
##notify-send -i libreoffice -t 50000 'LibreOffice '$vs'' 'Instalando paquetes de idioma'
|
||||
if ! [ "$idioma" = "en-US" ]
|
||||
then
|
||||
|
@ -290,10 +307,10 @@ case $? in
|
|||
echo "80" ; sleep 1
|
||||
echo "# Instalando el paquete de idioma" ; sleep 1
|
||||
|
||||
if [ -e /usr/bin/dpkg ]; then
|
||||
sudo -S dpkg -i /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"_langpack_"$idioma"/"$directorio"/*
|
||||
if [ -e $APT_CMD ]; then
|
||||
sudo -S apt install /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"_langpack_"$idioma"/"$directorio"/*
|
||||
else
|
||||
sudo -S rpm -Uvh /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"_langpack_"$idioma"/"$directorio"/*
|
||||
sudo -S dnf install /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"_langpack_"$idioma"/"$directorio"/*
|
||||
fi
|
||||
|
||||
else
|
||||
|
@ -308,10 +325,10 @@ case $? in
|
|||
valorsubversion=$(</tmp/subversion)
|
||||
rm subversion
|
||||
|
||||
if [ -e /usr/bin/dpkg ]; then
|
||||
sudo -S dpkg -i /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"_helppack_"$idioma"/"$directorio"/*
|
||||
if [ -e $APT_CMD ]; then
|
||||
sudo -S apt install /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"_helppack_"$idioma"/"$directorio"/*
|
||||
else
|
||||
sudo -S rpm -Uvh /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"_helppack_"$idioma"/"$directorio"/*
|
||||
sudo -S dnf install /tmp/LibreOffice_"$valorsubversion"_Linux_"$plataforma2"_"$gestorPaquetes"_helppack_"$idioma"/"$directorio"/*
|
||||
fi
|
||||
else
|
||||
exit 1
|
||||
|
@ -325,9 +342,9 @@ case $? in
|
|||
if [ -n "$(ls -A /opt/libreoffic* )" ]
|
||||
|
||||
then
|
||||
notify-send -i libreoffice -t 50000 'LibreOffice '$vs'' 'Instalación concluída !'
|
||||
notify-send -i libreoffice -t 50000 'LibreOffice '$vs'' 'Instalación concluída'
|
||||
else
|
||||
notify-send -i libreoffice -t 50000 'LibreOffice '$vs'' 'No instalado !'
|
||||
notify-send -i libreoffice -t 50000 'LibreOffice '$vs'' 'No instalado'
|
||||
fi
|
||||
|
||||
1 2>/dev/null && exit
|
||||
|
@ -343,7 +360,7 @@ case $? in
|
|||
--text="Instalación cancelada."
|
||||
fi
|
||||
|
||||
zenity --question --default-cancel --no-wrap --text 'LibreOffice ha sido instalado \n Haga clic en Aceptar para activar el monitor de atualización. \n O Salir si no quiere hacerlo' --ok-label="Aceptar" --cancel-label="Salir"
|
||||
zenity --question --default-cancel --no-wrap --text 'LibreOffice ha sido instalado \nHaga clic en Aceptar para activar el monitor de atualización. \n O Salir si no quiere hacerlo' --ok-label="Aceptar" --cancel-label="Salir"
|
||||
# Salir si se presionó cancelar.
|
||||
(( $? == 1 || $? != 1 )) &&
|
||||
|
||||
|
|
Loading…
Reference in a new issue