* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

Cómo construir un paquete RPM firmado con clave GPG

1. Motivación y Objetivo

Hace tiempo que deseaba aprender a construir rpm específicos para Mandriva. Y en el hilo http://blogdrake.net/node/7667 owl comentó que sus problemas con la multifunción hp acabaron al instalar hplip-1.7.4a. Esa versión del paquete está en cooker, pero no disponible para mdv2007.1. Ésta fue la excusa definitiva.

Describiré detalladamente cómo pueden construirse unos rpm personalizados para Mandriva Linux 2007.1 a partir del paquete hplip-1.7.4a-1mdv2008.0.src.rpm, que está en ftp://gsa10.eps.cdf.udc.es/mandrivalinux/devel/cooker/SRPMS/main/release.

Esto es lo que he hecho y me ha funcionado. Espero que sea de utlidad a los que quieran hacer algo semejante.

Nota: cuando el promp sea $ seré siempre el usuario pealfa.

2. Instalación de los paquetes necesarios

Repositorios main, contrib, main-updates al día.

# urpmi rpm rpm-build spec-helper libtool rpmlint
Para satisfacer las dependencias, se instalarán los paquetes siguientes:
..........
¿Efectuar la instalación de los 16 paquetes? (82 MB) (S/n) s
..........

3. Generación del par de claves GPG y exportación

$ gpg --gen-key
..........
Por favor seleccione tipo de clave deseado:
   (1) DSA y ElGamal (por defecto)
   (2) DSA (sólo firmar)
   (5) RSA (sólo firmar)
Su elección: [ELIJO 1]
..........
¿De qué tamaño quiere la clave? (2048) [INTRO]
El tamaño requerido es de 2048 bits
Por favor, especifique el período de validez de la clave.
         0 = la clave nunca caduca
        = la clave caduca en n días
      w = la clave caduca en n semanas
      m = la clave caduca en n meses
      y = la clave caduca en n años
¿Validez de la clave (0)? [INTRO]
La clave nunca caduca
¿Es correcto? (s/n) s
..........
Nombre y apellidos: pealfa
Dirección de correo electrónico: [COLOCO UNA DIRECCIÓN DE CORREO AQUÍ]
Comentario: [INTRO]
Ha seleccionado este ID de usuario:
    "pealfa "
¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? v
Necesita una frase contraseña para proteger su clave secreta.
[FRASE_SECRETA]
..........
pub   1024D/5301C035 2007-06-09
uid   pealfa [CORREO]
sub   2048g/EE79C171 2007-06-09

Veamos qué hay en mi anillo clave:

$ gpg --list-keys
/home/pealfa/.gnupg/pubring.gpg
-----------------------------
pub   1024D/5301C035 2007-06-09
uid   pealfa [CORREO]
sub   2048g/EE79C171 2007-06-09

Todo parece ir bien.

Terminamos exportando la clave pública desde el anillo clave a un fichero de texto:

$ gpg --export -a 'pealfa' > RPM-GPG-KEY-pealfa

4. Creación como usuario de la estructura necesaria

$ mkdir -p ~/rpm/{BUILD,RPMS/i586,RPMS/x86_64,RPMS/noarch,SOURCES,SRPMS,SPECS,tmp}

Y creo, también el, el archivo de texto plano .rpmmacros:

$ cat ~/.rpmmacros

%_topdir                %(echo $HOME)/rpm
%_tmppath               %(echo $HOME)/rpm/tmp

# Si desea que sus paquetes sean automáticamente firmados con GPG, añada estas
# tres líneas cambiando 'Mandrivalinux' por su nombre GPG. Tambien puede usar
# rpm --resign para firmarlos posteriormente. En %_gpg_name debe ponerse
# el uid (pealfa) o pub (5301C035):
%_signature             gpg
%_gpg_name              5301C035
%_gpg_path              ~/.gnupg

# Agregue su nombre y dirección de correo electrónico en el campo %packager. 
# Puede que tambien desee cambiar 'vendor' por usted mismo.
%packager               Pepe Álvarez [CORREO]
%distribution           Mandriva Linux
%vendor                 Mandriva

# Si desea que sus paquetes tengan su propio sufijo de distribución en lugar 
# de mdv, anótelo aquí 
%distsuffix             pealfa_mdv

5. Descarga e instalación del SRPM

Ahora descargo en ~/rpm/SRPMS/ el paquete de código fuente que quiero modificar para Mandriva Linux 2007.1, y lo instalo en el árbol ~/rpm:

$ cd ~/rpm/SRPMS/
$ rpm -i hplip-1.7.4a-1mdv2008.0.src.rpm

6. Construcción del rpm y firma

Ahora crearemos el rpm binario (en ~/rpm/RPMS/i586) y el rpm fuente (en ~/rpm/SRPMS/) ejecutando:

$ cd ~/rpm/SPECS
$ rpmbuild -ba --sign hplip.spec
[pepe@3000xp SPECS]$ rpmbuild -ba --sign hplip.spec
Enter pass phrase:
Pass phrase is good.
error: Failed build dependencies:
        libsane-devel is needed by hplip-1.7.4a-1pealfa_mdv2007.1.src
        python-devel is needed by hplip-1.7.4a-1pealfa_mdv2007.1.src
        net-snmp-devel is needed by hplip-1.7.4a-1pealfa_mdv2007.1.src
        libusb-devel >= 0.1.8 is needed by hplip-1.7.4a-1pealfa_mdv2007.1.src
        libcups-devel is needed by hplip-1.7.4a-1pealfa_mdv2007.1.src

Vaya, tendremos que instalar todo eso para obtener nuestro preciado tesoro:

# urpmi libsane-devel  python-devel  net-snmp-devel libusb-devel libcups-devel
..........
¿Efectuar la instalación de los 25 paquetes? (46 MB) (S/n) s
..........

Repetimos:

$ rpmbuild -ba --sign hplip.spec
..........
+ exit 0

¡Aquí están mis paquetes:!

$ ls -l ~/rpm/RPMS/i586/
hplip-1.7.4a-1pealfa_mdv2007.1.i586.rpm
hplip-debug-1.7.4a-1pealfa_mdv2007.1.i586.rpm
hplip-doc-1.7.4a-1pealfa_mdv2007.1.i586.rpm
hplip-hpijs-1.7.4a-1pealfa_mdv2007.1.i586.rpm
hplip-hpijs-ppds-1.7.4a-1pealfa_mdv2007.1.i586.rpm
hplip-model-data-1.7.4a-1pealfa_mdv2007.1.i586.rpm
libhpip0-1.7.4a-1pealfa_mdv2007.1.i586.rpm
libhpip0-devel-1.7.4a-1pealfa_mdv2007.1.i586.rpm
libsane-hpaio1-1.7.4a-1pealfa_mdv2007.1.i586.rpm

7. Importación de la clave pública e instalación

Ahora ya puedo refrescar mi equipo con esos nuevos paquetes. Pero al intentarlo aparecería un mensaje advirtiendo de que los paquetes contienen una firma no válida.
Para asegurarse de que los archivos que estamos instalando son los firmados por pealfa, debo importar la clave pública de la firma de pealfa (está en RPM-GPG-KEY-pealfa); así sabremos que esos son los paquetes correctos y confiará en ellos, al cotejarla con la firma pública importada con la estampada en los rpm.

Para ello hacemos:

# rpm --import RPM-GPG-KEY-pealfa

Ahora se instalarán con la garantía de que son los paquetes firmados y no habrá mensajes de error:

# cd /home/pealfa/rpm/RPMS/i586/
# rpm -Fvh *.rpm
Preparing...                ########################################### [100%]
   1:libhpip0               ########################################### [ 20%]
   2:hplip-hpijs            ########################################### [ 40%]
   3:hplip-model-data       ########################################### [ 60%]
   4:hplip                  ########################################### [ 80%]
   5:libsane-hpaio1         ########################################### [100%]

Nota: obviamente, esto de la firma sólo tiene sentido si vamos a compartir los paquetes. Por ejemplo, podríamos compartir los paquetes con emule o bittorrent y colocar la clave pública en un lugar donde los clientes puedan descargarla con la seguridad de su autenticidad. Así estarán seguros de que no instalan paquetes que son falsificaciones (virus, troyanos, y cosas de esas). Aunque en realidad han sido las ganas de jugar, claro.

Bueno, ahora puedo tener en mi sistema las ultimísimas versiones que van apareciendo en cooker y que no han sido (o serán) empaquetadas para mi versión actual. ¡Ah! Y ahora le daré aún más la vara a mi hermano con ¡Mi Mandriva Linux ya lo tiene y tu Africana no! ;-D

8. Fuentes y Agradecimientos

Basado en los documentos:

Cómo construir RPM - Wiki Mandriva
Cómo firmar sus paquetes rpm con clave GPG

¡Muchísimas gracias, Osado, por tu labor silenciosa de traducción en el Wiki de Mandriva! Sin ella no me habría decidido (o podido).

Saludos

Pepe Álvarez

__________

Fácildriva: ayuda para instalar software en Mandriva Linux

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.


Gravatar de osado

# 36423 Me alegro de ser útil...

...y si traducido a medias ya se usa, ¡cuando termine va a ser la monda!.
XDDD

Saludos
Osado
Registered Linux user 446540

Saludos
Osado
Registered Linux user 446540
condemnant quod non intellegunt



Gravatar de pealfa

# 36433 Más nosotros

Exacto: has dado en el clavo, Osado.

Espero ansioso tu traducción para la construcción de SRPMS desde *.tar.gz. Por favor, no olvides los enlaces, sobre todo los que llevan a los archivos modelos (o plantillas) para la construcción. Sus comentarios de personalización para paquetes de Mandriva son fundamentales.

¿Acaso creías que nadie iba a darse cuenta de lo que estabas perpetrando? ;-)

Saludos

Pepe Álvarez
__________

Fácildriva: ayuda para instalar software en Mandriva Linux

__________



Gravatar de luismago

# 36443 Para coordinar la presunta

Para coordinar la presunta traducción que dice Pealfa, la página de construcción desde el código fuente tiene previsto este nombre (ya hay enlaces preparados desde otras páginas hacia ella):

Instalar desde código fuente

Ahora es una página inexistente, y el original en inglés es esta página.

Gracias por cierto a Osado, que últimamente está en el "Top" de contribuciones al Wiki.

Saludos,
luismago

-- 
  JID: luismago@jabber.org

Ceterum censeo Carthaginem esse delendam. -Marco Porcio Catón

Saludos,
luismago

-- 
  JID: luismago@jabber.org

Ceterum censeo Carthaginem esse delendam. -Marco Porcio Catón



Gravatar de osado

# 36752 Ya no es una página inexistente...

;^)

Saludos
Osado
Registered Linux user 446540

Saludos
Osado
Registered Linux user 446540
condemnant quod non intellegunt



Gravatar de pacho

# 36428 Gracias a los dos :-)

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.