¿Es posible obtener un parche incluido en la versión actual? ¿Si es así, cómo?

15

Entonces, hace un tiempo, informé de un error en el complemento Compiz's Place Window . Es una regresión bastante importante para las personas afectadas: principalmente aquellos que usan Gnome-Fallback, a juzgar por los informes.

Un parche apareció poco tiempo después. Creé un PPA para probar y todos los involucrados hasta ahora informan que los problemas están solucionados. Incluso corrige otro error . He realizado pruebas con un escritorio estándar de Unity y puedo decir (para mi prueba) que no se vieron efectos adversos.

Quiero enviar esto a Ubuntu ahora mismo por dos razones principales:

  • Soy egoísta. No quiero tener que actualizar mi PPA cada vez que una nueva versión de Compiz se actualiza a 12.04.
  • No quiero que los usuarios de Ubuntu vean sus ventanas volando por un pequeño error tonto.

Quiero que este parche se envíe a la versión de Compiz de Ubuntu lo antes posible, para que podamos corregir estos errores y seguir adelante con nuestras vidas.

¿De qué pierna tengo que jorobar para obtener esto en Ubuntu ahora?

No mantengo este proyecto y es algo corriente pero es bastante integral para Ubuntu. Podría ir a Compiz, pero imagino que si aceptan el parche, pasarán meses (al menos un lanzamiento) antes de que esté cerca de Ubuntu.

Y cuando encuentro a la persona adecuada, ¿cómo puedo hacer que el proceso sea lo más hábil posible para ellos?

Quiero que vean mi solicitud, "Sí, que todo se ve muy bien, hecho" y eso es todo. No quiero diecisiete rondas de correos electrónicos que aborden aspectos del parche. Más importante aún, tampoco quiero perder su tiempo.

¿Y qué tengo que proporcionarles? Mis habilidades de empaque son ... lamentables. Este fue mi primer intento de parchear un paquete para su redistribución, por lo que probablemente he hecho todos los errores de empaque conocidos por el hombre. ¿Estarán contentos con el parche original (para que puedan aplicarlo ellos mismos) o si vuelvo a empaquetar las cosas para que el diff / changelog esté un poco más limpio (me tomó un par de vueltas y el control de versiones está por todas partes).

Nota: Esta pregunta es sobre Compiz, pero preferiría que las respuestas también pudieran abordar otros estilos de paquetes, por lo que tenemos un hilo autoritario y completo sobre cómo solucionar los problemas.

Oli
fuente

Respuestas:

14

Como mencionó Dobey, para que un parche sea aceptado en una versión ya lanzada de Ubuntu, debe pasar por el proceso de Actualización de lanzamiento estable (SRU). La barra de entrada para las SRU es bastante alta. Una manera simple de resumir el pensamiento detrás del proceso podría ser: "El error que conocemos es mejor que el error que no conocemos". En la práctica, eso significa que solo se permiten correcciones de errores específicas y no hay cambios que sean demasiado "intrusivos".

Hay una serie de requisitos que deben cumplirse para proceder con una SRU:

  • El error se corrigió en la versión de desarrollo actual (es decir, quantal).
  • La descripción del informe de error debe actualizarse para incluir una justificación de por qué se necesita la solución en la versión estable, un caso de prueba para reproducir el error y verificar que se haya solucionado, y una discusión sobre el potencial de regresión de la solución.
  • El equipo de Launchpad ubuntu-srudebe estar suscrito al informe de error.
  • Luego, el paquete se carga para su lanzamiento.-proposed Para que esto suceda, deberá pasar por el proceso de patrocinio (más información a continuación).

Después de todo lo que ha ocurrido, el equipo de SRU verificará que el paquete -proposedresuelva el error. Luego, el paquete se introducirá -updatesdespués de pasar un período mínimo de envejecimiento de 7 días.

Encontrar a la persona adecuada

Su pregunta sugiere el hecho de que a veces Launchpad parece que es donde van a morir los parches. Lamentablemente, si no conoce el proceso, puede sentirse así, pero juro que no es tan malo. Afortunadamente, lo principal que necesita saber es simple. Consulte el proceso de patrocinio para obtener todos los detalles y algunas sugerencias, pero la parte más importante es suscribir al ubuntu-sponsorsequipo al informe de errores. Eso asegura que aparecerá en la cola de patrocinio y será visto por un desarrollador de Ubuntu honesto.

Si necesita hablar sobre algo en tiempo real, #ubuntu-develen Freenode IRC hará el truco. Verifique el tema del canal para el piloto de parche actual. Están ahí para ayudarte. Si no hay un piloto en servicio, no dude en pedir ayuda en el canal, pero tenga paciencia.

Preparando todo para ir

Para que el proceso vaya lo más rápido posible, hay algunas cosas que hacer.

Actualice la descripción del error para que se vea así:

[Impacto]

Aquí hay una explicación del impacto del error en los usuarios y una justificación para respaldar la solución a la versión estable

[Caso de prueba]

  1. Paso

  2. Por

  3. Paso

  4. Instrucciones

  5. Para verificar

  6. La solución

[Potencial de regresión]

Aquí hay una discusión sobre cualquier potencial de regresión.

[Informe original]

Todo lo que solía estar en la descripción se conserva a continuación.

Luego, prepara tus parches. Las cosas irán mucho más rápido si proporciona debdiffs que se encargan de todos los bits de empaquetado en lugar de un parche contra la fuente ascendente. Esto incluye el uso del sistema de parches de paquetes si usa uno. Por suerte add-patchdesde ubuntu-dev-herramientasInstalar ubuntu-dev-tools puede hacerse cargo de eso para usted.

Pasemos por esto. Primero tome la fuente y el parche en el informe de error:

$ pull-lp-source compiz precise
$ wget https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/974242/+attachment/3141645/+files/fix-974242.patch 

Ahora agregaremos el parche al paquete fuente:

$ cd compiz-0.9.7.8/
$ add-patch ../fix-974242.patch

Esto agregará el parche debian/patchesy se ejecutará, dchsolicitándole que agregue una nueva entrada para debian/changelogAjustar la entrada al objetivo propuesto e incremente el número de versión para que esté por debajo de la próxima versión cargada en la versión de desarrollo. Al igual que:

compiz (1:0.9.7.8-0ubuntu1.1) precise-proposed; urgency=low

  * debian/patches/fix-974242.patch: [DESCRIBE CHANGES HERE]

 -- Your Name <[email protected]>  Mon, 11 Jun 2012 17:37:59 -0400

El archivo debian/patches/fix-974242.patchtambién tiene algunos encabezados que quizás desee editar:

## Description: add some description
## Origin/Author: add some origin or author
## Bug: bug URL

Ahora construya su nuevo paquete fuente:

$ debuild -S -us

Y crea el debdiff:

$ cd ..
$ debdiff compiz_0.9.7.8-0ubuntu1.dsc compiz_0.9.7.8-0ubuntu1.1.dsc > sru-for-lp-974242.debdiff

Ahora puede adjuntar el debdiffarchivo resultante a su informe de error.

andrewsomething
fuente
Excelente respuesta, buenas cosas. Es posible que desee tener en cuenta que al menos hasta 12.04 / 12.10 el comando es pull-lp-source. No tengo antes para ver si fue / cuándo fuepull-launchpad-source
doug