Proceso de Nuevo Paquete para Nuevos Colaboradores
Esta es una versión larga del Proceso de Nuevo Paquete, contiene más detalles de modo que los nuevos colaboradores lo puedan seguir más fácilmente. También se incluye un paso obligatorio de patrocinador.
Comprobar si el paquete ya existe
Si algún software útil no está incluido ya en Fedora puede enviarlo como un nuevo paquete. El paquete que envíe puede ser de cualquier proyecto Libre y de Código Abierto.
Antes de crear su paquete, compruebe que el software no está ya en el repositorio Fedora:
-
Compruebe si el paquete ya existe buscando en Fedora Packages.
-
Busque en Review Tracker los paquetes bajo revisión.
-
Compruebe los paquetes huérfanos o retirados que necesitan mantenedores.
-
Este atento a los elementos prohíbidos.
Hacer un Paquete
-
Si no sabe como crear un paquete RPM, vea el Tutorial de Empaquetamiento: GNU Hello.
-
Asegúrese de que su paquete cumple las Directrices de Empaquetamiento y las Directrices de Denominación de Paquetes.
-
Esté atento a las Directrices de Revisión de Paquetes (serán usadas durante la revisión del paquete).
-
Asegúrese de que su paquete se construya. Esto es sorprendentemente importante porque un número significativo de envíos no lo hace.
Suba Su Paquete
Suba sus archivos SRPM y SPEC en algún lugar de Internet para que otros puedan recuperarlos. Este puede ser cualquier lugar al que se pueda acceder mediante una URL, pero es importante que los archivos sean directamente accesibles, no escondidos en algún lugar que haga esperar a la gente para descargar cosas o redireccione a través de páginas publicitarias.
Si desea que las compilaciones estén accesibles para los usuarios mientras ingresa el paquete en los repositorios oficiales, considere usar Copr. Es un sistema de compilación automatizado liviano que puede crear repositorios utilizando el SRPM que usted carga. Puede usar este espacio Copr para indicar a los revisores su src.rpm y sus especificaciones.
Crear Su Solicitud de Revisión
Complete el formulario de revisión de Bugzilla Fedora.
-
Antes de enviar su petición, asegúrese de que no hay peticiones previas para el mismo paquete. Hay una conveniente caja de búsqueda en la página de estado de revisión de paquete.
-
Asegúrese de que pone el nombre del paquete (excluyendo número de versión y de lanzamiento) en el campo
Review Summary
, junto con un muy breve resumen de lo que es el paquete. -
Ponga una descripción de su paquete (normalmente, esto puede ser lo mismo que ha puesto en la especificación
%description
) en el campoReview Description
. Incluya las URLs a sus archivos SRPM y SPEC. -
Explique en el ticket que este es su primer paquete y que necesita un patrocinador. También, incluya cualquier información que pueda ayudar a los posibles patrocinadores. Si ha estado activo en otro trabajo de revisión, incluya enlaces. Si es el mantenedor upstream, asegúrese de decirlo.
-
Para obtener puntos de bonificación, incluya un enlace a una construcción koji exitosa para que todos sepan que hizo toda su tareas.
El proceso de revisión se describe en detalle en la página Proceso de Revisión del Paquete.
Informar al Upstream
El Proyecto Fedora prefiere Mantenerse Cerca de los Proyectos Upstream. Informe a los desarrolladores que está empaquetando el software. Puede hacer esto enviándoles un correo electrónico presentándose y señalándoles la solicitud de revisión. Esto prepara el escenario para futuras conversaciones. Por lo general anunciarán el hecho de que su software es ahora parte de Fedora o querrán informarle sobre errores importantes en la versión existente, hoja de ruta futura, etc.
Esté Atento a los Comentarios
Mire el informe Bugzilla para su primer paquete. Debería recibir notificaciones de cambios por correo electrónico. Corrija los obstáculos que los revisores señalen.
Obtener Patrocinio
Cuando el paquete es APROBADO por el revisor, debe obtener patrocinio de miembros por separado para poder registrarse y crear su paquete. El patrocinio no es automático y puede requerir que usted participe de otras maneras para demostrar su comprensión de las directrices de empaquetamiento. La claves para llegar a ser patrocinado es que convenza a un miembro con nivel de patrocinador de que entiende y sigue las directrices y procesos del proyecto.
Vea Como Obtener Patrocinio en el Grupo Empaquetador para más información sobre el proceso para llegar a ser patrocinado.
Su patrocinador le puede añadir al grupo empaquetador. Debería recibir un correo electrónico de confirmación de su patrocinio.
Añadir un Paquete al sistema de Administración de Código Fuente (SCM) y Establecer el Propietario
Antes de proceder, sincronice su cuenta accediendo a las Fuentes de Paquetes Fedora usando sus credenciales FAS.
Si se convierte en mantenedor de un nuevo paquete, en lugar de comantenedor, use fedpkg para solicitar un nuevo repositorio git para su paquete. El subcomando es fedpkg request-repo
que incluye texto de ayuda para configurar el token API de Pagure que el comando requiere. Al crear su clave API elija alternar todo para las ACLs. Debe especificar el nombre del repositorio y revisar el número de error. Por ejemplo:
fedpkg request-repo python-prometheus_client 1590452
La solicitud será revisada y procesada automáticamente. Después del procesamiento, tendrá acceso para confirmar y compilar el paquete. En el caso de que la automatización no funcione, puede reportar el problema al rastreador de cuestiones Toddlers.
fedpkg request-repo
solo crea una rama para Rawhide. Para solicitar ramas para otras versiones de Fedora, use fedpkg request-branch
:
-
fedpkg request-branch --repo python-prometheus_client f38
Necesitará ejecutar esto para cada rama no rawhide. Sí lo desea, también puede usar la bandera `--all-releases` para pedir ramas para todas las versiones actuales de Fedora. [#check_out_the_distgit_repository] == [[check_out_the_module]] Consultar el repositorio de distgit Usted _podría_ consultar su repositorio distgit ahora, pero antes de hacer esto, considere hacer `mkdir ~/fedora-scm ; cd ~/fedora-scm` — de esta forma, todos sus archivos estarán dentro de un único directorio. También, ejecute `ssh-add`, para que no tenga que seguir escribiendo su clave contraseña. Ahora está preparado para consultar su repositorio distgit desde el SCM:
fedpkg clone your-package
[#test_your_package] == Probar Su Paquete Vea https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds[Usar Mock para probar las compilaciones de paquete] y xref:Using_the_Koji_Build_System.adoc#scratch_builds[Koji Scratch Builds] para más información sobre las pruebas de su paquete. Mock usa su sistema local, mientras que la herramienta en línea de comando Koji usar el servidor del sistema de compilación Fedora. [#import_commit_and_build_your_package] == Importar, confirmar y crear su paquete Ahora que ha comprobado su repositorio distgit (vacío) con `fedpkg`, acceda a la rama principal del repositorio:
cd <packagename>
Ejecute fedpkg para importar los contenido del SRPM en el SCM:
fedpkg import PATH_TO_SRPM
Review Changes, press 'q' to stop; Revert with: git reset --hard HEAD git commit -m "Initial import (fedora#XXXXXX)." git push fedpkg build
Obviamente, reemplazar `PATH_TO_SRPM` con la ruta completa (no URL) para su SRPM aprobado y `XXXXXX` con el número de error del paquete revisado. Si su paquete está usando _autochangelog_, escribiendo el número de error como se ha especificado hará que el sistema de actualización de Fedora cierre automáticamente el error cuando su paquete se envíe al repositorio Rawhide estable. This imports into, commits, and builds only the *main* (xref:releases::rawhide.adoc[Rawhide]) branch. Si el envío falla con este tipo de mensaje:
W access for why DENIED to YOUR_ACCOUNT fatal: The remote end hung up unexpectedly Could not push: Command '['git', 'push']' returned non-zero exit status 128
Es que usted no tiene los derechos necesarios para modificar esta rama del paquete. Vea `\https://src.fedoraproject.org/rpms/PACKAGE_NAME` para solicitar esos derechos. Para más información sobre el uso del sistema de mantenimiento de paquetes de Fedora, vea la xref:Package_Maintenance_Guide.adoc[Guía de mantenimiento de paquetes]. [#update_your_branches] == Actualizar Sus Ramas (si lo desea) Las ramas son `f#` (anteriormente `F-#` y antes de eso `FC-#`), `main`, etc. Así, So `f` is the branch for Fedora. Cambie a una rama primero:
fedpkg switch-branch BRANCH
(por ejemplo`f{MAJOROSVER}`) Fusione la confirmación inicial de principal (Rawhide), creando una confirmación idéntica en la rama:
git merge rawhide
Lleve los cambios al servidor:
git push
Compile el paquete:
fedpkg build
Si hay otra rama con la que trabajar repita _Cambie a una rama_ e importe y confirme cada rama. Si todo va bien, debería poner en cola su rama para la construcción, el paquete se construirá limpiamente y ¡listo! Si falla la construcción, el sistema de compilación le enviará un correo electrónico para informar del fallo y le mostrará los registros. Confirme los cambios necesarios en git, aumente el número de versión de SPEC y solicite una nueva construcción. [#submit_package_as_update_in_bodhi] === Entregar Paquete como Actualización en Bodhi El sistema de actualización de Fedora llamado https://bodhi.fedoraproject.org[Bodhi] se utiliza para enviar actualizaciones, clasificar paquetes, etc. Usted no necesita envíar actualizaciones para Rawhide (principal) manualmente porque estas son creadas automáticamente para usted cuando la compilación se completa. Para las otras ramas, debe enviar manualmente las actualizaciones de todas las construcciones que desee hacer disponibles para los usuarios. Puede enviar una actualización usando Bodhi por medio de la línea de comandos usando esto en cada rama:
fedpkg update
A menudo es más fácil completar las compilaciones para todas sus ramas y después enviar una única actualización por medio de la https://bodhi.fedoraproject.org/updates/new[interfaz web de Bodhi]. Bodhi es lo suficientemente inteligente como para dividir su actualización en actualizaciones individuales, una por cada rama de versión de Fedora. También puede seleccionar múltiples compilaciones de diferentes paquetes para incluir una única actualización usando la interfaz web. Esto es útil cuando desea enviar compilaciones vinculadas, por ejemplo: un paquete de aplicación y sus dependencias que son necesarias para que se ejecute correctamente. Vea más detalles en la xref:Package_Update_Guide.adoc[Guía de Actualización de Paquetes]. [#make_the_package_available_in_comps_files] == Hacer que el paquete esté disponible en archivos "comps" Si es apropiado para el paquete, hágalo disponible en archivos "comps" de modo que pueda ser seleccionado durante la instalación e incluido en las operaciones del grupo de paquetes dnf. Vea https://fedoraproject.org/wiki/How_to_use_and_edit_comps.xml_for_package_groups?rd=PackageMaintainers/CompsXml[Como usar y editar comps.xml para grupos de paquete} para más información. [#watch_for_updates] === Atento a las actualizaciones Fedora tiene una infraestructura disponible para monitorizar nuevas versiones del desarrollador del software que está empaquetando. Vea más detalles en xref:Upstream_Release_Monitoring.adoc[Monitorizar Versiones del Desarrollador].
Want to help? Learn how to contribute to Fedora Docs ›