Quiero arreglar un error. ¿Dónde empiezo?

47

Aunque no soy un programador profesional, he escrito uno o dos programas. Sin embargo, hoy en día todos los ingenieros y científicos aprenden a programar un poco también, y como tal, estoy acostumbrado a escribir programas en Python, C y MATLAB. ¡Ahora quiero devolver un poco a Ubuntu y sus excelentes amigos y corregir un error!

Eché un vistazo a la lista de la campaña Bitesize y tuve que encontrar que la mayoría de ellos no son tan fáciles de solucionar, ya que sospecho que requieren mucho tiempo para entrar en el asunto, y no tengo eso. Todavía descubrí este y me parece manejable y como una característica genial.

Sin embargo, como nunca antes había escrito un parche o lanzado un programa en la naturaleza, no tengo idea de por dónde empezar. ¿Cuál debería ser mi primer paso para abordar ese problema?

En pocas palabras: ¿Dónde y cómo empiezo a arreglar a ese tipo?

Ingo
fuente
1
¿Cuál es tu pasado? cuás es tu pensamiento? ¿Conoces los sistemas de control de versiones? En prácticas de embalaje?
pygabriel
¡No, aún no estoy familiarizado con eso! Sujeto a cambios ...
Ingo

Respuestas:

31

La respuesta a esta pregunta puede ser larga y complicada, por lo que en su lugar voy a señalarle los recursos disponibles en lugar de repetirlos aquí.

Documentación

  1. Preparándose para el desarrollo de Ubuntu
  2. Cómo arreglar errores

Tutoriales

Realizamos eventos durante todo el ciclo para ayudar a personas como usted, específicamente ejecutamos Ubuntu Developer Week en IRC, que es un tutorial en vivo y un taller de preguntas y respuestas. ¡Hay una próxima a finales de febrero si quieres unirte!

Aquí hay dos registros de una sesión anterior para darle una idea:

Lugares para encontrar oportunidades

  • Cosecha : esta herramienta revisa todos los parches y paquetes en Launchpad (e incluso busca en otras distribuciones) parches. Muchos de estos pueden ser enganchados, aplicados, probados y luego reparados en Ubuntu y luego enviados en sentido ascendente.
  • Barrido limpio : lista de parches que se encuentran en Launchpad que alguien ha adjuntado a un informe de error. Estos podrían ser útiles o no, sin embargo, aún deben considerarse.

Obteniendo ayuda

Ponerse en contacto con MOTU en la lista de correo o IRC es una buena manera de obtener ayuda para los problemas individuales con los que se encuentre:

Realimentación

Hemos dedicado mucho tiempo a reelaborar esta documentación para que sea lo más fácil posible, si tomas notas sobre tus experiencias y cómo podemos mejorar estas cosas, sería muy útil saber cómo hacer que succione menos para personas como tú.

Jorge Castro
fuente
19

La respuesta generalizada de Jorge es una gran introducción para saltar al desarrollo de Ubuntu, pero intentemos mirar un poco más de cerca su problema específico ...

El desarrollador principal principal de Apport y el mantenedor de Ubuntu son uno y lo mismo. Esto simplifica un poco las cosas para ti. En lugar de tener que aprender sobre el empaquetado y los sistemas de parches, el camino más fácil aquí es trabajar directamente en el código ascendente.

El desarrollo de Apport está alojado en Launchpad . Utiliza el sistema de control de versiones distribuido de bazar para administrar su código fuente. El primer paso para corregir su error es tomar la fuente. Si no ha usado el bazar antes, el tutorial de bazar en cinco minutos es un buen lugar para comenzar.

Instalar bazar con:

sudo apt-get install bzr

Extraiga el código fuente de apport:

bzr branch lp:apport

Ahora puedes comenzar a hackear. Como con la mayoría de los VCS, cuando se trabaja con bazar, es una buena idea hacer solo un cambio por confirmación. También debe hacer que sus mensajes de confirmación sean informativos. Hace que sus cambios sean mucho más fáciles de revisar. Cuando esté listo para realizar su primer compromiso, ejecute:

bzr commit -m "My commit message. Did foo to bar in order to achieve baz."

Continúe haciendo cambios y confirmaciones hasta que esté satisfecho de que su error está solucionado. Con su último commit, también puede etiquetarlo como solucionando el error al agregarlo --fixes lp:<bug_number>al comando commit. Ahora está listo para enviar sus cambios para su revisión e inclusión.

Primero, debe llevarlo a Launchpad para que esté disponible públicamente:

bzr push lp:~<launchpad_username>/apport/<branch_name>

Su sucursal ahora se puede encontrar en:

https://code.launchpad.net/~<launchpad_username>/apport/<branch_name>/

La ejecución bzr lp-openen la sucursal abrirá esa ubicación en un navegador.

Ahora queremos proponer una fusión. En esa página, seleccione "Proponer para fusionar".

proponer para la fusión

En la página siguiente, seleccione su rama de destino y brinde una descripción general de sus cambios.

describir fusión

Ahora tendrá una propuesta de fusión activa.

revisión activa

Los mantenedores revisarán sus cambios. Si son apropiados, se fusionarán y estarán disponibles en la próxima versión. Alternativamente, la propuesta puede establecerse en "Necesita trabajo", y los encargados del debate discutirán con usted los cambios adicionales que deben realizarse antes de fusionarse. Si esto sucede, no lo tome como ningún tipo de rechazo personal de su trabajo. Al contribuir a un nuevo proyecto por primera vez, a menudo hay pequeñas cosas como el estilo de codificación que quizás no conozcas.

andrewsomething
fuente