3.4. Comprobación de los RPM para la sanidad


Después de crear un paquete, compruebe la calidad del mismo.

La principal herramienta para comprobar la calidad de los paquetes es rpmlint.

La herramienta rpmlint hace lo siguiente:

  • Mejora la capacidad de mantenimiento de las RPM.
  • Permite la comprobación de la sanidad realizando un análisis estático del RPM.
  • Activa la comprobación de errores realizando un análisis estático del RPM.

La herramienta rpmlint puede comprobar los RPM binarios, los RPM fuente (SRPM) y los archivos SPEC, por lo que es útil para todas las etapas del empaquetado, como se muestra en los siguientes ejemplos.

Tenga en cuenta que rpmlint tiene unas directrices muy estrictas, por lo que a veces es aceptable saltarse algunos de sus errores y advertencias, como se muestra en los siguientes ejemplos.

Nota

En los siguientes ejemplos, rpmlint se ejecuta sin ninguna opción, lo que produce una salida no verbosa. Para obtener explicaciones detalladas de cada error o advertencia, puede ejecutar rpmlint -i en su lugar.

3.4.1. Comprobando la cordura de Bello

Esta sección muestra las posibles advertencias y errores que pueden producirse al comprobar la sanidad del RPM en el ejemplo del archivo SPEC de bello y el RPM binario de bello.

3.4.1.1. Comprobación del archivo bello SPEC

Ejemplo 3.2. Resultado de la ejecución del comando rpmlint en el archivo SPEC para bello

$ rpmlint bello.spec
bello.spec: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
0 packages and 1 specfiles checked; 0 errors, 1 warnings.
Copy to Clipboard

En el caso de bello.spec, sólo hay una advertencia, que dice que la URL indicada en la directiva Source0 es inalcanzable. Esto es esperado, porque la URL example.com especificada no existe. Suponiendo que esperamos que esta URL funcione en el futuro, podemos ignorar esta advertencia.

Ejemplo 3.3. Resultado de la ejecución del comando rpmlint en el SRPM para bello

$ rpmlint ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
bello.src: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.src: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
1 packages and 0 specfiles checked; 0 errors, 2 warnings.
Copy to Clipboard

Para el bello SRPM, hay una nueva advertencia, que dice que la URL especificada en la directiva URL es inalcanzable. Asumiendo que el enlace funcionará en el futuro, podemos ignorar esta advertencia.

3.4.1.2. Comprobación del RPM binario de bello

Al comprobar los RPM binarios, rpmlint comprueba los siguientes elementos:

  • Documentación
  • Páginas del manual
  • Uso coherente del estándar de la jerarquía del sistema de archivos

Ejemplo 3.4. Resultado de la ejecución del comando rpmlint en el RPM binario de bello

$ rpmlint ~/rpmbuild/RPMS/noarch/bello-0.1-1.el8.noarch.rpm
bello.noarch: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.noarch: W: no-documentation
bello.noarch: W: no-manual-page-for-binary bello
1 packages and 0 specfiles checked; 0 errors, 3 warnings.
Copy to Clipboard

Las advertencias de no-documentation y no-manual-page-for-binary dicen que el RPM no tiene documentación o páginas de manual, porque no proporcionamos ninguna. Aparte de las advertencias anteriores, el RPM pasó las comprobaciones de rpmlint.

Volver arriba
Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2025 Red Hat