informatica, planet

Montando Reportbug

Una de las cosas por las que la comunidad del software libre es conocida es por la importancia del trabajo comunitario, es decir si los usuarios creen que los developers o los que manejan cierto software la estan cagando reportan la queja, ya sea una
vulnerabilidad, un programa que se truena (crash) o simplemente quieren dar una sugerencia de alguna caracteristica que podría ser útil a otros usuarios (o al que lo reporto).

En la comunidad debian usamos un programa que sirve para eso, para reportar problemas en nuestra distro y ayudar a hacerla mas estable, este programa se llama Reporbug.

Este busca la información del paquete que presento problema o al que le pedimos caracteristicas nuevas para tener un reporte detallado y sobre todo “útil y legible para el desarrollador”.

Lo que necesitamos:

-Un sistema debian o derivado
-Reportbug (instalado por default en la mayoría)
-un MTA o servidor de correo (msmtp solo configuracion de usuario)(opcional)

Configurando reportbug

a) inicio, nivel de experiencia en Debian
Primero buscamos una aplicacion que nos esta dando problemas, luego damos el comando reportbug en la consola (para gnome ya hay un reportbug gráfico, para los que usan squeeze esta reportbug-ng también gráfico):

$ reportbug

Y nos aparecerá este mensaje:

Welcome to reportbug! Since it looks like this is the first time you have used reportbug,
we are configuring its behavior. These settings will be saved to the file "/home/user/.reportbugrc",
which you will be free to edit further.
Please choose the default operating mode for reportbug.

1 novice Offer simple prompts, bypassing technical questions.

2 standard Offer more extensive prompts, including asking about things that a
 moderately sophisticated user would be expected to know about Debian.

3 advanced Like standard, but assumes you know a bit more about Debian, including "incoming".

4 expert Bypass most handholding measures and preliminary triage routines.
This mode should not be used by people unfamiliar with Debian's policies and operating procedures.

Select mode: [novice]

Aqui dice:
“Bienvenido a reportbug!, Como parece ser esta la primera vez que usas reportbug configuraremos primero su comportamiento. Estas opciones se guardaran en /home/user/.reportbugrc, el cual tienes toda la libertad de modificar despues, elige el comportamiento predeterminado de operación para reportbug:

1 novato Ofrece preguntas simples omitiendo lo mas técnico

2 estandar Ofrece preguntas un poco mas extensas, incluyendo cosas sofisticadas, se espera que el usuario sepa sobre Debian

3 avanzado igual que estandar, pero asume que sabes un poco mas sobre Debian

4 experto Omite la mayoría de las medidas y las rutinas preliminares de pregunta. Este modo no debe ser usado por gente no familiarizada con las politicas y procedimientos de Debian”

Aqui elegiremos novato (si soy novato también) dando enter, si tenemos gnome nos preguntará si queremos interfaz gráfica o interfaz de texto, no es la gran diferencia, pero si te sientes mas cómodo/a con un entorno gráfico elígelo.

b) ¿Tienes acceso a internet?
Despues aparecerá la siguiente pregunta:

Will reportbug often have direct Internet access? (You should answer yes to this question unless you know what you are doing and
plan to check whether duplicate reports have been filed via some other channel.) [Y|n|q|?]?

Aqui dice: “¿Tendrá reportbug acceso directo a internet? (Deberías decir que si a esta pregunta, a menos que sepas lo que haces y planeas revisar si hay reportes duplicados por otro medio) “, si tienes internet lo mejor será poner si (enter), en caso de que no tengas internet (y este how-to lo has impreso) responde que no (n).

c) Identidad
Luego preguntará con que nombre pondrás el reporte de bug (tu nombre completo), será para ser reconocido entre la comunidad Debian (y para que un developer cerca de ti queme tu casa por darle mas trabajo XD).

Luego preguntará tu correo electrónico (sera de conocimiento público asi que buscate uno con buen filtro anti-spam).

d) ¿Has configurado el servidor de correo? Preguntará si tienen instalado un MTA, entro en modo cultural aqui:

(tuxwarrior se pone lentes de fondo de botella y se peina el pelo con la lengua de una vaca y 10 litros de gel)


MTA o Mail Transfer Agent es lo que conocemos todos como un “Servidor de correo”, o el software encargado de enviar o “transferir” correos hacia otras computadoras a traves de la red (ver definicion en Wikipedia: MTA), por favor no confundir con esos programas que usamos para enviar flames a listas de correo o cadenas a nuestros familiares XD, el thunderbird, evolution y todos esos son clientes de correo o MUA (Mail User Agent) tampoco ponemos aqui a los servicios de WebMail como gmail y hotmail.

Saliendo del modo cultural si tenemos instalado y configurado un servidor de correos el bug se enviará directo desde el reportbug, la mayoría de usuarios normales no tiene uno configurado (aunque si instalado), asi que responderán que no, (al final de este post pongo como montar un MTA sencillo solo para un usuario).

e) Final, Proxy y última indicación
Preguntará si se tiene un proxy en la red, en caso de existir hay que poner la dirección o la IP de esta forma: “http://192.168.1.1:puerto/” cambiando la IP por el dominio o la IP de tu proxy y el puerto por el puerto default para el proxy, si no hay proxy entonces dejar en blanco.

Ahora ya terminamos con la configuración inicial de reportbug, ahora a llenar un reporte:

Reportando un bug

Primero hay que saber que es un bug por definicion: “Un defecto de software (computer bug en inglés), es el resultado de un fallo o deficiencia durante el proceso de creación de programas de ordenador o computadora (software). Dicho fallo puede presentarse en cualquiera de las etapas del ciclo de vida del software aunque los más evidentes se dan en la etapa de desarrollo y programación. Los errores pueden suceder en cualquier etapa de la creación de software” fuente Wikipedia:bug.

Antes de llenar nuestro reporte recomiendo leer las buenas prácticas para enviar reportes de bug efectivos aqui

Encuentro un bug
Si alguna aplicación se porta extraño, se traba, usa demasiada memoria para algo muy simple o sin explicacion alguna “Truena“.

Entonces llenamos un reporte de bug de esta manera:

$ reportbug

Llenando el bug
Primero nos preguntará el nombre del paquete afectado, para saber como se llama el paquete del cual viene nuestra aplicacion problemática usamos aptitude:

$ aptitude search amarok
i amarok - easy to use media player based on the KDE Platform

en este caso vemos que el paquete al que pertenece amarok se llama “amarok”, algunos otros son mas engañosos como “epiphany-browser” ya que solo “epiphany” es el paquete de un juego que se llama igual al navegador.
El paquete debe estar instalado, no debemos mandar bugs sobre software que no tenemos.

Luego saldrá una lista de bugs que ya se enviaron sobre ese paquete (pueden ser muchísimos), por favor revisen todos los que mencionen algo sobre el mismo problema si el bug ya lo envió otra persona entonces solo revisemos si tenemos datos para aportar al bug, pero no lo enviemos de nuevo, es redundante y una pérdida de tiempo enviar bugs duplicados.

Si el bug no existe o no se ha reportado entonces nosotros debemos reportarlo y aportar la mayor cantidad de información útil sobre el bug en ingles (la mayoría de los developers son angloparlantes).

Luego nos pedirá una descripción sencilla del bug.

Luego determinamos la gravedad del bug, que puede ser:
1-Critical: hace que otros programas no relacionado en el sistema (o el propio sistema) dejen de funcionar o lo hagan erroneamente

2-Grave: hace al paquete inservible para la mayoría de usuarios o causa pérdida de datos, o inserta un hoyo de seguridad que permite el acceso a las cuentas de usuarios que usen el paquete.

3-Serious: Viola severamente alguna convención de las politicas de Debian sobre paquetes o la libertad de estos (solo developers y mantainers deben usar este).

4-Important: El bug tiene un impacto importante en la usabilidad del paquete, pero no lo hace completamente inservible para todos los usuarios

5-Does not build: No compila (developers o gente que compila las fuentes de debian para cualquier propósito)

6-normal: como el nombre lo dice es lo que normalmente encontraremos, una opcion, acción o entrada hara que el programa truene, sin que el programa sea totalmente inservible

7-minor: Fallos cosméticos, como por ejemplo una palabra mal escrita, ayuda no útil, un boton no funciona o se porta extraño.

8- wishlist: sugerencias o peticiones de carácteristicas nuevas (posibles y útiles).

Segun esta lista elegimos la severidad, luego nos abre un editor (generalmente nano o vi) para escribir la información del bug, debajo de donde se menciona la severidad que elegimos hay un espacio en blanco donde podemos poner la descripción del bug y las pruebas que hicimos para corroborar que es un problema en el programa y no otra cosa como por ejemplo una mala configuración.

Para finalizar guardamos el bug (control+x nano 😡 vi) luego nos preguntara si deseamos enviar el bug, aqui respondemos si (enter) si tenemos un MTA configurado, en este caso el bug será enviado de inmediato al Debian BTS para su publicación y revisión de parte del responsable del paquete, si no tenemos MTA (la mayoría) damos no (n) y nos dara la ruta donde el bug estara guardado (/tmp/reportbug-archivo), abrimos esta ruta con un editor y copiamos su contenido, luego lo pegamos en un correo nuevo desde nuestro MUA (thunderbird, evolution, claws, mutt <—-si tienes mutt configurado TIENES UN MTA) a la dirección submit@bugs.debian.org o desde nuestro webmail (preferentemente gmail o alguno que no envíe correo en HTML por default).

Montando MSMTP como MTA

Para esta tarea necesitamos una cuenta que soporte envío SMTP, usare gmail para ejemplo, primero instalamos msmtp:

#apt-get install msmtp

Luego como usuario creamos un archivo llamado ~/.msmtprc, y llenamos de la siguiente manera:

account default
host smtp.gmail.com
port 465
auth on
user usuario
password passguord
tls on
tls_starttls off
tls_certcheck off
from usuario@gmail.com

Cambia usuario por tu user de gmail y passguord por la contraseña, luego prueba con este comando si puedes enviar correo:

$echo "una prueba esto es" | msmtp -d direccion@correo.com

Cambia la direccion de correo por una dirección que puedas revisar correo, si recibes un correo sin asunto proveniente de tu cuenta de gmail entonces funciona (puedes usar mutt con este MTA sencillo).

Este MTA solo cumple la funcion de enviar correo de tu usuario hacia la cuenta de gmail asi que no puede manejar recipientes POP3 o IMAP como los servidores completos (postfix, exim, sendmail).

Espero que les haya funcionado y a enviar bugs

mejoremos juntos el software libre aunque no podamos programar

Anuncios
Estándar

One thought on “Montando Reportbug

  1. No es necesario tener el MSMTP instalado, basta con que tengas configurado Mutt para que envíe correos al exterior y listo, lanzas el reportbug de la forma: reportbug –mutt

    Para configurar el mutt para que envíe correos con una cuenta gmail, se crea el archivo ~/.muttrc es algo como esto (lo copie a la rápida de mi configuración):


    set smtp_url = "smtp://user@smtp.gmail.com:587/"
    set from = "user@gmail.com"
    set smtp_pass = "pass"
    set realname = "Perico"

    set pgp_sign_as=0xTU_CLAVE_GPG
    set pgp_autosign=yes

    Bueno las ultimas lineas solo son necesarias si quieres firmar los mensajes enviados con gnupg, lo que le da un toque especial XD

    Eso si es recomendable usar el reportbug desde un terminal (la versión gtk es lenta y Truena de vez en cuando)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s