Proceso de Revisión de Paquete

Con el objetivo de que un nuevo paquete sea añadido a Fedora, el paquete primero debe someterse a una revisión formal. El proceso se rige por la Política de Revisión de Paquetes aprobada por FESCo.

Proceso de revisión

Hay dos papeles en el proceso de revisión, el del colaborador y el del revisor. Este documento presenta ambas perspectivas.

Exenciones

Ciertos paquetes están exentos del proceso de revisión como se describe en la sección Aplicabilidad de la Política de Revisión de Paquete. Si una excepción está garantizada, el colaborador puede pedir directamente un repositorio para el paquete. La petición para crear un repositorio debería incluir el indicador --exception en lugar de un número de bug:

fedpkg request-repo --exception <package-name>

Colaborador

Un Colaborador se define como alguien que quiere enviar (y mantener) un nuevo paquete en Fedora. Para llegar a ser un colaborador debe seguir las instrucciones detalladas para Unirse a los Mantenedores de Paquetes.

Como Colaborador, ya debería haber creado un paquete que cumpla con las Directrices de Empaquetamiento y no contenga ningún Elemento prohibido.

Cuando este conforme con su archivo de especificaciones, usted debería enviar ese SRPM a una revisión de paquete. Actualmente, esto se hace siguiendo estos pasos:

  • Ponga su archivo de especificaciones y el SRPM en algún lugar en la Internet donde pueda ser descargado directamente (solo http(s), sin páginas de registro ni métodos de descarga especiales, por favor). Si no tiene sitio donde poner sus especificaciones y SRPM, use copr.

  • Rellene una solicitud de revisión en bugzilla. Asegúrese absolutamente de presentar este bug con una cuenta vinculada a su dirección de correo electrónico de FAS, de lo contrario, sus solicitudes de seguimiento se cerrarán por no ser válidas.

Si nadie comento su solicitud de revisión, es posible que desee enviar un correo a una lista de correo (por ejemplo, devel) o a la categoría Package Review Swaps en Fedora Discussion para solicitar un "intercambio de revisión". Esto es una oferta para hacer una revisión del paquete de algún otro en intercambio por que él revise su paquete. Por lo general, esto es un uno por uno o puede ser algún otro acuerdo privado dependiendo de la dificultad de los respectivos paquetes.
  • Si usted no es miembro de una grupo empaquetador, necesita un patrocinador. Agregue FE-NEEDSPONSOR} a los bugs que están siendo bloqueados por su solicitud de revisión. Para más información lea xref:How_to_Get_Sponsored_into_the_Packager_Group.adoc[Como Ser Patrocinado en el Grupo de Empaquetadores.

  • Si esto es una solicitud de "re-revisión" necesaria para reclamar la propiedad de un paquete retirado, agregue Unretirement al campo Whiteboard.

  • ¡Espere a que alguien revise su paquete! En este punto del proceso, el indicador fedora-review está en blanco, lo que significa que no hay revisor asignado.

  • Puede haber comentarios de personas que no están revisando formalmente el paquete, ellos pueden añadir NotReady al campo Whiteboard, indicación de que la solicitud de revisión no está todavía lista, debido a algunos problemas que reportan. Después de que los haya corregido, publique la URLs del archivo SPEC y SRPM actualizado y limpie la Whiteboard. Se espera que usted responderá al comentario, incluyendo su envío para corregirlo; si no lo hace el ticket será cerrado.

  • Un revisor toma la tarea de revisar su paquete. Él establecerá el indicador fedora-review a ?.

  • El revisor revisará su paquete. Usted debería corregir cualquier bloqueo que el revisor identifique. Una vez que el revisor está conforme con el paquete, el indicador fedora-review será establecido a +, indicando que el paquete ha pasado la revisión.

  • Si todavía no ha sido patrocinado, solicite patrocinio planteando una cuestión a los patrocinadores de paquetes.

  • Cuando su paquete pase la revisión usted debería utilizar fedpkg para solicitar un repositorio Git para él. Antes de que pueda solicitar un repositorio Git para el paquete, necesitará unahttps://pagure.io/settings/token/new[ ficha pagure.io api* con Create a new ticket ACL añadido en ~/.config/rpkg/fedpkg.conf:

    [fedpkg.pagure]
    token = <generated-code>
  • Solicite un repositorio Git para el paquete. Por ejemplo, si el nombre del paquete es my-package y el ticket de revisión bugzilla es 12345:

    fedpkg request-repo my-package 12345

    Verifique que su bug de revisión es válido. Debe tener fedora-review establecido a + y debe estar asignado a su revisor. De otro modo su solicitud de repositorio será cerrada como no válida.

  • Si usted desea añadir su paquete a más versiones de Fedora y no solo a Rawhide, vea Solicitar ramas.

  • Cuando se cierren los tickets fedora-scm-requests para el repositorio y las ramas solicitados, verifique el paquete:

    fedpkg clone
  • Ahora usted puede importar su paquete SRPM. Haga una comprobación final de las etiquetas del archivo de especificaciones.

  • Solicite una compilación de Koji ejecutando fedpkg build. (Necesitará configurar Kerberos para proyecto Fedora)

  • Repita el proceso para las otras ramas que ha solicitado anteriormente:

    • Verifique la rama dada: fedpkg switch-branch f40

    • Deje que Koji cree el paquete para esta rama: fedpkg build

  • Solicite actualizaciones para las ramas de las versiones Fedora, si es necesario, utilizando fedpkg update u otra interfaz Bodhi como se detalla en Bodhi.

  • Si es posible, añada su paquete a Monitorizar Versiones del Desarrollador.

  • Para recibir una notificación si su paquete deja de compilarse correctamente cuando se actualizan las dependencias en Fedora, puede habilitar Koschei.

  • Usted debería asegurarse que la revisión del ticket está cerrada. Puede cerrarlo una vez que el paquete se haya creado en las ramas solicitadas. Si usted creó para una de las ramas de versiones de Fedora puede pedirle a Bodhi que cierre el ticket por usted cuando complete el proceso. Si usted mismo cierra el ticket, utilice NEXTRELEASE como la resolución.

Usted no necesita seguir el proceso de revisión otra vez para los siguiente cambios en el paquete y no debe hacer referencia al ticket de revisión en las siguiente actualizaciones que cree en Bodhi.

Revisor

El Revisor es la persona que elige revisar un paquete.

El Revisor puede ser cualquier poseedor de una cuenta Fedora que es miembro del grupo de empaquetadores. (Si el Colaborador todavía no está patrocinado, la revisión puede seguir en marcha hacia su finalización pero necesitarán encontrar un patrocinador en algún punto.)

  • Busque en el Rastreador de Revisión de Paquete una solicitud de revisión que necesite revisor: el indicador fedora-review esta en blanco o el bug está asignado a nobody@fedoraproject.org.

  • Si nota algunos problemas que deban resolverse antes de hacer una revisión formal, añada estas cuestiones en un comentario y establezca la Whiteboard del bug para contener NotReady. Esto ayuda a otros posibles revisores a tener en cuenta que la solicitud de revisión no está todavía preparada para más acciones de revisión.

  • Si usted desea revisar formalmente el paquete, establezca el indicador fedora-review a ? y asignese el bug a usted mismo.

  • Revisar el paquete

  • Incluya el texto de su revisión en un comentario en el ticket. Para facilitar la lectura, simplemente utilice un comentario regular en lugar de un archivo adjunto.

  • Realice una de las siguientes acciones:

    • ACCEPT (Aceptar)- Si el paquete es bueno, establezca el indicador fedora-review a +. No cierre todavía el ticket de revisión – esto lo hará el remitente una vez que el paquete esté disponible en Fedora.

    • FAIL, LEGAL (Fallo, Legal) – Si el paquete tiene riesgos legales por cualquier razón (patente conocida o infracción de los derechos de autor, problemas de marca registrada) cierre el bug como WONTFIX deje un comentario apropiado (por ejemplo, no enviamos mp3, así que deja de enviarlo). Establezca el indicador fedora-review a - y el bloque de revisión a FE-Legal

    • FAIL, OTHER (Fallo, Otro) – Si el paquete está muy alejado o no es adecuado por cualquier motivo y no es sencillo de corregir, cierre el bug como WONTFIX y deje un comentario apropiado (por ejemplo, no empaquetamos pornografía para redistribución, lo siento. O, _no es un archivo de especificaciones, es un menú de McDonalds, lo siento.) Establezca el indicador f`fedora-review` a -.

    • NEEDSWORK (Necesita Trabajo) – Cualquier cosa que no falle explícitamente se debería dejar abierta mientras el remitente y el revisor trabajan juntos para corregir cualquier potencial problema. Marque el bug como NEEDINFO mientras espera que el revisor responda a las solicitudes de mejora. Esto hace más fácil para revisores encontrar revisiones abiertas que requieran sus entradas.

  • Una vez que el paquete está indicado como fedora-review + (o`-`), el trabajo del Revisor está hecho aunque pueden ser llamados para asistir al Colaborador con el proceso de importar/construir/actualizar y asegurar que el Colaborador cierra el ticket cuando el proceso está completo.

Definiciones para los Ajustes de los indicadores fedora-review

fedora-review

(BLANK)

El Paquete Necesita Revisión

fedora-review

? Paquete Bajo Revisión

fedora-review

-

Fallo la Revisión del Paquete, abandonado por cuestiones legales o de otro tipo..

fedora-review

Tickets bloqueadores especiales

Hay unos pocos tickets que se pueden situar en el campo "Blocks" para indicar estados específicos del ticket:

FE-NEEDSPONSOR

El remitente requiere un patrocinador; la revisión puede ser hecha por cualquiera, pero se necesitará que llegue un patrocinador y patrocine al remitente.

FE-DEADREVIEW La revisión se ha cerrado porque el remitente la ha dejado; los usuarios que buscan paquetes para enviar pueden encontrar algunos posibilidades en estos tickets muertos..

FE-Legal

La Pizarra

Para ahorrar tiempo a los revisores, la página Nueva, revisable de tickets de revisión de paquete de Fedora ocultará ciertos tickets que no son revisable. El campo Whiteboard (Pizarra) se puede usar para marcar un ticket con diversos bits de estado adicionales que causarán que se oculten o sean mostrados de forma diferente.

NotReady

El paquete no está todavía preparado para revisión. Es posible abrir un ticket de revisión, marcarlo como NotReady y seguir el trabajo hasta que esté preparado para ser visto por un revisor.

BuildFails

El paquete falló al construir.

AwaitingSubmitter La revisión del paquete está estancada y no puede continuar sin la aportación del remitente.

Trivial

El paquete es trivial para revisar. Vea abajo.

Unretirement

El estado Trivial está dirigido a indicar paquetes que, como ayuda a los nuevos revisores, no son especialmente complicados y fáciles de revisar. Un ticket no debería ser marcado como trivial a menos que:

  • Se sabe que el paquete se compila y se incluye un enlace a una compilación anterior.

  • El ticket explica cualquier salida rpmlint que esté presente.

  • Las especificaciones no contienen nada que sea innecesario en el Fedora moderno (como BuildRoot::, una sección %clean o %defattr).

  • Las especificaciones están libres de una utilización de macro excesiva o complicada.

  • Las especificaciones utilizan solo los scriptlets menos complicados que son tomados directamente de la página Scriptlets.

  • El paquete no contiene demonios.

  • El paquete no es especialmente sensible a la seguridad.

  • El código ha sido sometido a una inspección minuciosa para detectar problemas de licencia. Las anomalías que se encontrarían por licensecheck deberían ser explicadas.

En resumen, esto debería ser reservado solo para aquellos tickets que deberían ser fácilmente aprovechables por cualquier que esté haciendo su primera revisión de paquete.

Tracking of Package Requests

The Package Review Tracker provides various review-related reports and a simple way to search for reviews by package name or reporter name or others.