Política de Revisión de Paquetes

Propósito

Para que se agregue un nuevo paquete a Fedora, se debe primero realizar al paquete una revisión formal. El propósito de esta revisión formal es intentar asegurar que el paquete cumple los requisitos de control de calidad para Fedora. Esto no significa que el paquete (o el que está siendo empaquetado) es perfecto, pero debería cumplir con los requisitos mínimos básicos de calidad.

Aplicabilidad

Las revisiones se hacen para:

  1. Nuevos paquetes,

  2. Renombrado de paquetes,

  3. Paquetes antiguos que una vez retirados vuelven a la colección,

  4. Paquetes fusionados del antiguo repositorio Fedora Core.

Algunos nuevos paquetes están exentos del proceso de revisión. El Packaging Committee (Comité de Empaquetamiento) mantiene la lista de criterios.

El Packaging Committee puede otorgar excepciones al proceso normal de revisión de paquetes. Esto puede suceder, por ejemplo, si un gran número de paquetes similares están siendo enviados de una vez o si un paquete está siendo actualizado a una nueva versión principal mientras que la versión antigua se mantiene en la distribución con un nombre diferente. El proceso para otorgar las excepciones se describe en Packaging Committee#Review Process Exemption Procedure.

Roles de revisión

Hay dos roles participantes en el proceso de revisión, el Colaborador y el Revisor. Otras persona también pueden comentar sobre la revisión de forma informal.

El Colaborador es alguien que desea enviar y mantener un nuevo paquete en Fedora. No hay restricciones sobre quien puede enviar un paquete para revisión. Sin embargo, la revisión solo puede ser aceptada si el Colaborador es miembros del packager group. Esto puede significar que el Colaborador tiene que ser Patrocinado en el Grupo de Paquetes mientras la revisión está en curso.

El Revisor es alguien que elige revisar un paquete. El Revisor debe ser un miembro del packager group cuando empieza la revisión.

Proceso de revisión

El paquete enviado debe adherirse a las Directrices de Empaquetamiento.

El Colaborador solicita una revisión de su paquete haciendo su fichero de especificaciones y su SRPM disponible en una url pública y publicando un solicitud de revisión en Bugzilla como se describe en Proceso de Revisión de Paquete.

El Revisor encuentra el paquete buscando en las revisiones sin asignar y asignándose él. El Colaborador puede también pedir activamente la revisión si es necesario. Estas tareas se describen en Proceso de Revisión de Paquete.

El Revisor revisa el paquete en base de las Directrices de Empaquetamiento, en particular en Directrices de Revisión. Se debe aprobar un paquete que no infrinja ningún elemento DEBE. Las violaciones de los elementos DEBERÍA no impiden la aprobación, pero se debería hacer un intento razonable para satisfacerlos. El Revisor puede también comentar sobre otros elementos no cubiertos por las directrices. Dichos comentarios adicionales no deben afectar a la aprobación del paquete.

El Colaborador debe abordar cualquier cuestión planteada por el Revisor hasta que el Revisor esté satisfecho con el paquete. El Colaborador debería considerar también los posibles comentarios informales dados por otras personas. Sin embargo, la revisión se realiza en última instancia entre el Colaborador y el Revisor, y el Revisor juzga si el paquete puede aprobarse o no.

La revisión continua hasta que se cumple una de las siguiente condiciones:

  • El Revisor está satisfecho con el paquete y lo aprueba.

  • El Revisor determina que el paquete no puede ser aprobado por alguna razón y lo rechaza.

  • La revisión se detiene como se describe en Revisiones estancadas y se cierra.

Si el paquete constituye un riesgo legal por cualquier razón (patente conocida o infracción de derechos de autor, preocupaciones sobre marcas registradas) el Revisor debe rechazar la revisión y dejar un comentario apropiado, (por ejemplo, no enviamos codecs con problemas de patentes). Ellos también deben marcar la revisión como bloqueada FE-Legal.

Revisiones estancadas

Ocasionalmente las revisiones de paquetes no logran avanzar debido a la falta de respuesta de una las partes involucradas en la revisión. Esta política aborda dos clases de revisiones: Aquellas que están estancadas porque el remitente de la revisión no responde y aquellas que han sido asignadas a un revisor y están estancadas porque el revisor no responde. La idea es llevar el ticket a un estado donde otras partes interesada puedan enviar el paquete o hacerse cargo de la revisión. Por supuesto, no existe la intención de castigar a nadie y los tickets se pueden asignar de nuevo al mismo revisor o reabrirse.

El revisor no responde

  • Cuando un ticket de revisión es asignado a un revisor que no responde a los comentarios durante un mes, se agrega un comentario al ticket que indica que la revisión está estancada y que se necesita una respuesta pronto.

  • Si no hay respuesta en una semana, el indicador fedora‑review se establece a un valor vacío. El ticket se vuelve a asignar a nobody@fedoraproject.org (pulse editar en Assignee_Assignee_ y confirme la caja de verificación Reset assignee to default, después guarde) con la intención de devolver el ticket al estado en el que otro revisor pueda trabajar con él.

El remitente no responde

  • Cuando el remitente de un ticket de revisión no ha respondido durante un mes, se añade un comentario al ticket indicando que la revisión está estancada y que es necesario una respuesta pronto.

  • Si no hay respuesta en una semana, el ticket se cierra con la resolución NOTABUG y el indicador fedora-review se establece a un valor vacío.

  • El error puede estar configurado para bloquear FE-DEADREVIEW. La intención es cerrar el error para que otra persona pueda enviarlo en un error separado y también hacer más fácil encontrar errores cerrado de este modo.

Si el error es enviado por alguien más, es razonable cambiar la resolución en el error cerrado a DUPLICATE y marcarlo como duplicado del nuevo error para que los revisores del nuevo ticket puedan encontrar fácilmente el trabajo que se ha hecho en el antiguo.