Autor Tema: Sugerencia (me van a censured): cambios en los actualizadores  (Leído 1048 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Zup

  • **
  • Mensajes: 19
Llevo unos días mangoneando en los actualizadores de la Wifislax 4.12 (sí, la última versión de 32 bits, soy un poco raro), y tengo algunas sugerencias para los actualizadores. Estas sugerencias son cosas que no están implementadas en la Wifislax 64 2.4 y creo que tampoco en las versiones de prueba de la 2.5:

1.- Forzar versiones:
La idea es hacer que un actualizador pueda descargar cualquier versión de ese programa (si está disponible en el repositorio). Un ejemplo es firefox... si no nos gusta por alguna cuestión la versión 96.0, podríamos forzar la descarga de la 78.0.1.

Esto conllevaría cambios a todos los actualizadores para soportar la línea de comandos. En principio, si no se añaden comandos el actualizador debería comportarse normalmente (compatible con GUI updater) pero si se le añade una versión debería bajar la versión que le indiquemos (actualización manual).

2.- Sitios comunes de descargas:
En la 4.12 hay montones de actualizadores que van a descargar a los mismos sitios (github, sourceforge, los repositorios de gnome). Una idea sería añadir funciones que detectan la versión y generan el nombre de descargas a funciones_updater (p.ej: f_variables_github) ya que son idénticas en todos los casos.

Hacerlo así tiene dos ventajas:
- Si el hosting cambia la manera de descargar o cómo presenta la última versión, fallarían varios updaters de golpe. Corrigiendo solo funciones_updater volverían a funcionar.
- Se simplifica y se limpian algo los updaters.

3.- Firefox y sus versiones:
Las actualizaciones de Firefox nunca son del gusto de todos, así que he modificado el script firefox_updater para elegir qué es lo que queremos instalar. Mi modificación (chapucera) admite estos parámetros:
  • firefox_updater : Sin parámetros se comporta exactamente como siempre. Compatible con GUI updater.
  • firefox_updater latest : Descarga la última versión de firefox (igual que siempre).
  • firefox_updater esr : Busca la última versión ESR y la instala.
  • firefox_updater nq : Descarga la versión 52.9.0esr. Esta es la última versión "tradicional" de firefox, y la que recomendaría para equipos con pocos recursos (NOTA: Quantum se implementó en la versión 57. Aunque la última rama sin quantum fue la 56, la rama 52 la versión ESR inmediatamente anterior y recibió actualizaciones de seguridad con posterioridad a la 56).
  • firefox_updater (lo que sea) : Si el parámetro no es latest, esr o nq, se trata como un número de versión. Es decir, si ponemos firefox_updater 60.0.1, intentará descargar la versión 60.0.1.

El parche (tomando como base el actualizador que acompaña a wifislax64 2.4):
Código: [Seleccionar]
--- firefox_updater 2022-01-16 12:53:12.000000000 +0100
+++ /mnt/livemedia/modulos/updaters/Navegadores/firefox_updater 2022-01-12 11:50:26.000000000 +0100
@@ -1,8 +1,14 @@
 #!/bin/sh
 
 # Script by www.seguridadwireless.net
+# Modificado para descargar varios tipos
+#   firefox_updater nq -> Descarga la versión 52.9.0esr
+#   firefox_updater esr -> Descarga la última versión esr
+#   firefox_updater latest -> Descarga la última versión
+#   firefox_updater 60.0.1 -> Descarga la versión 60.0.1
+#   firefox_updater -> Descarga la última versión
 
-SCRIPT_VERSION=20181122
+SCRIPT_VERSION=20220101
 
 ############################################################
 ## Funciones comunes. Su nombre empieza por f_ ##
@@ -20,8 +26,25 @@
  EXTENSION=tar.bz2
  GESTOR=wget
  echo -ne "\033]2;${PRGNAM}_updater\007"
- WEB=https://download.mozilla.org/?product=firefox-latest\&os=linux\&lang=es-ES
- VERSION=$(curl -s $WEB|grep .$EXTENSION|tail -1|rev|cut -d- -f1|rev|cut -d t -f-1|sed 's/.$//g')
+
+ case $PARAM1 in
+   latest)
+ WEB=https://download.mozilla.org/?product=firefox-latest\&os=linux\&lang=es-ES
+ VERSION=$(curl -s $WEB|grep .$EXTENSION|tail -1|rev|cut -d- -f1|rev|cut -d t -f-1|sed 's/.$//g')
+ break
+ ;;
+   esr)
WEB=https://download.mozilla.org/?product=firefox-esr-latest\&os=linux\&lang=es-ES
+ VERSION=$(curl -s $WEB|grep .$EXTENSION|tail -1|rev|cut -d- -f1|rev|cut -d t -f-1|sed 's/.$//g')
+ break
+ ;;
+   nq)
+ VERSION=52.9.0esr
+ break
+ ;;
+   *)
+ VERSION=$PARAM1
+ esac
  SOURCES=$PRGNAM-$VERSION.$EXTENSION
  DOWNLOAD=https://ftp.mozilla.org/pub/firefox/releases/$VERSION/linux-$ARCH/es-ES/$SOURCES
 }
@@ -39,7 +62,12 @@
 
 (ln -s /usr/lib${LIBDIRSUFFIX}/firefox/firefox ./usr/bin/firefox)
   
-cp $TMP/firefox/browser/chrome/icons/default/default128.png $PKG/usr/share/pixmaps/firefox.png
+if test -f $TMP/firefox/browser/chrome/icons/default/default128.png
+then
+  cp $TMP/firefox/browser/chrome/icons/default/default128.png $PKG/usr/share/pixmaps/firefox.png
+else
+  cp $TMP/firefox/browser/icons/mozicon128.png $PKG/usr/share/pixmaps/firefox.png
+fi
 
 # Linkeamos plugins en /usr/lib
 mkdir -p $PKG/usr/lib/mozilla
@@ -64,6 +92,14 @@
 # Si se cierra el script inesperadamente, ejecutar la funcion de limpieza
 trap f_exitmode SIGHUP SIGINT
 
+# Procesando parámetros
+if [ $# -ne 0 ]
+then
+  PARAM1=$1
+else
+  PARAM1=latest
+fi
+
 #Inicializamos las variables globales
 f_variables
 #Asignamos o detectamos arquitectura

A este parche le falta detectar la versión instalada y actuar en consecuencia. Es decir, si la versión instalada era una ESR, no actualizar automáticamente a la más reciente sino seguir la rama ESR. O si era la versión nq, dejarla "bloqueada". Más que nada para que el GUI updater no nos actualice a una versión no deseada.

Algo que veo casi imposible sería dividirlo en dos actualizadores... tal y como está wifislax creo que no hay manera de hacer que "convivan" dos versiones diferentes de firefox en el mismo sistema.


« Última modificación: 16-01-2022, 13:55 (Domingo) por Zup »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15801
Re:Sugerencia (me van a censured): cambios en los actualizadores
« Respuesta #1 en: 16-01-2022, 20:32 (Domingo) »
No me voy a calentar mucho la cabeza ,

1 - los actualizadores son para actualizar no para desactualizar , el que quiera una version concreta de algo , abre el script y lo pone donde VERSION para forzar la que el quiera

2 - muy complicado

aunque descarguen de github , los repos y mantenedores forman parte de la url por lo que cada una es unica y distinta a las demas ,

github/fulanito/repo

3 - no voy a decicar ni 3 segundos a un navegador que no es el predefinido , el que quiera otra version que la edite y el que quiera una esr, es tan simple como usar el paquete oficial de slackware



nadie en su sano juicio va a querer instalar una version antigua de firefox , en la que perdera los parches de seguridad etc , no tiene ni pies ni cabeza ,

Los updaters son para actualizar , sin mas , y en funciones globales solo hay funciones que afectan a todos los scripts , no solo a uno  o unos pocos.


Desconectado Hwagm

  • Administrador
  • *
  • Mensajes: 18281
Re:Sugerencia (me van a censured): cambios en los actualizadores
« Respuesta #2 en: 17-01-2022, 19:20 (Lunes) »
Agradecería títulos descriptivos y evitar palabras malsonantes

Word censured
« Última modificación: 17-01-2022, 19:20 (Lunes) por Hwagm »