Solucionando Bugs en Ubuntu – Fixing Bugs in Ubuntu (only in Spanish)

Firstly I would like to dedicate this post to AndresRodriguez Nicholas Skaggs Phill Whiteside Howard Chan and all the Ubuntu Quality Team (https://launchpad.net/~ubuntu-testing)

In this small post, I’m going to explain some necessary steps for fixing bugs in Ubuntu or any project in Launchpad (https://launchpad.net/)

Me gustaría antes que todo dedicar este post a AndresRodriguez Nicholas Skaggs Phill Whiteside Howard Chan y a todo el equipo de calidad de Ubuntu (https://launchpad.net/~ubuntu-testing)

En este pequeño post voy a explicar rápidamente los pasos necesarios para solucionar un bug en Ubuntu o en cualquiera de los proyectos alojados en Launchpad (https://launchpad.net/)

1- Buscamos un bug sobre el cual vamos a trabajar, para este ejemplo trabajamos sobre el bug#1162057, también podemos trabajar sobre un bug reportado por nosotros mismos. Una vez nos ubicamos en la dirección del bug podemos revisar mucha información que nos ayudará a encontrar un solución.

En la primera linea podemos ver a que paquete pertenece el bug (Affects), el estado actual del bug (Status), la importancia del bug para el proyecto (Importance), La persona asignada a resolver el bug (Assigned to) y el Milestone

Luego nos encontramos con la descripción del bug (Bug Description), esta información es agregada por la persona que ha reportado el bug y es nuestra principal fuente de datos técnicos para poder resolver el bug.

Pagina asociada a un bug en Launchpad

Pagina asociada a un bug en Launchpad

2- En este punto ya hemos decidio que vamos a trabajar en este bug, el siguiente paso será confirmar que en verdad es un bug… para esto procedemos a replicar el bug. Aquí logramos reproducir el bug simplemente ejecutando la aplicación… como se puede ver es algo muy evidente.

Acto seguido podemos cambiar el estado a Confirmado (Confirmed), pero no nos detendremos allí, si pasado algún tiempo nadie adopta el bug (otra forma de decir trabajar en el) pues lo tomaremos cambiando el estado a En Proceso (In Progress) en este punto podremos modificar la asignación; si somos muy habilidosos y manejamos muy bien la plataforma lo podemos asignar a nosotros mismos sino asignamos a alguien que nos ayude en la revisión. Esta persona será la encargada de revisar nuestra solución y a futuro marcará el bug como solucionado.

3- Ahora nos dedicaremos a buscar una solución, para este bug revisamos los repositorios donde se obtienen las imágenes iso, allí se ve que se hay dos entradas por cada versión, algo que es muy nuevo y posiblemente es el problema.

Con el posible problema ya identificado procedemos a obtener el código fuente de la aplicación para empezar las pruebas, esto lo realizamos vía Bazaar bzr por terminal (hay herramientas gráficas como el bazaar explorer que se puede usar para este mismo fin).

Con el uso del comando bzr branch obtenemos el código fuente del proyecto en la localización donde nos encontramos! en mi caso /home… en este paso si ya toca aplicar mucho instinto y consultar a los maintainers del proyecto por si se tienen algunas dudas.

—Nos tomamos unos días para hacer las respectivas ediciones al código y revisiones del funcionamiento del código.—

Una vez terminada la edición puedes consultar tus cambios mediante el uso del comando bzr diff, cabe anotar que debes estar dentro del directorio del proyecto

4- Teniendo ya la solución aplicada en el codigo fuente procedemos a subir nuestros cambios realizados al proyecto, primero agregamos un mensaje acerca de nuestra mejora, esto se locgra con el comando bzr commit -m «aquí va el mensaje de nuestra mejora«, luego procedemos a subir nuestro código y aquí hay algo interesante y es que no vamos a subir el código directamente al proyecto ya que eso solo lo hacen los maintainers del proyecto, así que nuestros cambios iran a nuestro perfil de launchpad y se vincularán con una referencia del proyecto, esto se logra con la siguiente nomenclatura: bzr push lp:~usuario_launchpad/proyecto/tu_mejora donde tu_mejora es un nombre representativo a las novedades de tu código.

5- En el paso anterior subimos el código de la mejora a launchpad, ahora nos dirigimos a su sitio web, donde podremos enlazarlo al bug al cual vamos a implementar la mejora y aquí lo proponemos para merging. cuando se propone para merging uno de los maintainers del proyecto deberá verificarlo.

6-Una vez el maintainer del paquete o la aplicación aprueba tu mejora, ya es solo tiempo para verla en acción. En algunas aplicaciones este lanzamiento de mejoras puede demorar mas que en otras, pero al final tengan la seguridad que serán publicadas… Y así podemos ver a TestDrive funcionando normalmente y descargando isos como siempre 😀

Espero que este pequeño post les sea muy útil y mas personas se animen a contribuir a un proyecto de software libre o al mismo Ubuntu! Estamos en contacto 🙂

Publicado el 04/17/2013 en bug-squad, locos, motu, planet-es, planet-ubuntu, quality. Añade a favoritos el enlace permanente. 3 comentarios.

  1. Super Sergio, muy buen tutorial, gracias por el parche!

  2. Gracias amigo

  1. Pingback: My testing activities in RaringRingtail | Sergio's Blog

Deja un comentario