[15:38] buenos dias =), ha llegado el ultima dia de la semana del desarrollador de Ubuntu, comenzaremos hablando sobre la clasificacion de bugs en el escritorio de Ubuntu [15:39] om26er nos hablara un poco al respecto, comenzare la interpretacion ahora [15:40] Ubuntu es la distribucion mas popular del mercado, su cantidad de usuarios supera por mucho a otras distribuciones, hay un dicho que dice que entre mayor cantidad de ojos, los errores son mas evidentes [15:40] esto se refleja en Ubuntu, en la cantidad de reportes que sus usuarios generan [15:40] en la siguiente media hr les mostrare como colaborar con Ubuntu, respondiendo a esos reportes [15:41] nos centraremos en los bugs que se reportan hacia el escritorio [15:41] como primer ejemplo tomaremos el siguiente: https://bugs.launchpad.net/ubuntu/+source/unity/+bug/904348 [15:41] en este ejemplo, la persona creo que reporte, pero no se molesto en mencionar, realmente cual era su problema [15:42] esta clase de reportes, son la clase de reportes en las que nos pueden ayudar, podria ser pidiendo mayor cantidad de datos [15:43] para ser mas especifico, el reporte en este caso no se relaciona en absoluto con Unity, de hecho se tiene que asignar a otro paqeute [15:43] algunas personas usan el bugtracker para hacer preguntas, en esos casos se pueden reenviar a la seccion de launchpad correspondiente 'answers' [15:44] otras veces las personas comentan muchos problemas en un solo reporte, y eso puede hacer mas dificil corregirlos, lo ideal es que se cree un reporte por bug [15:45] ahora mismo pueden pensar que clasificar bugs es muy aburrido, pero si lo hacen, se daran cuenta que es una tarea mucho mas interesenta de lo que esperaban [15:45] se aprende mucho, sobre muchas tecnologias, hablas con gente, y reduces la carga de los desarrolladores =) [15:46] una vez que comiences a clasificar bugs, podras entrar al equipo de Bug Triaging, esto te permitira modifar el estatus de los bugs a 'Triaged', una palabra que significa que esta listo para ser abordado por un desarrollador [15:47] la mayoria de los bugs en Ubuntu se encuentran en Upstream, es decir en Debian, o en los proyectos mismos de los que Ubuntu se beneficia [15:47] recordemos que upstream significa para nosotros las comunidades o personas que desarrollan el software que usamos en Ubuntu [15:48] siendo que la distribucion esta hecha de esa manera, la mayoria de bugs en Ubuntu, en un caso ideal, debieran ser canalizados a los respectivos proyectos [15:48] por poner un ejemplo, tenemos a Empathy, el software de mensajeria que viene por defecto en Ubuntu [15:49] Empathy tiene una buena cantidad de desarrolladores amables, y en general atentos a responder a los problemas de su programa [15:50] los bugs reportados en launchpad para el paquete Empathy, deberian ser canalizados al bugtracker de empathy bugzilla.gnome.org [15:50] pero no podemos canalizar bugs que no contienen los suficientes datos para ser solucionados [15:50] ahi es donde ustedes entran [15:51] completar un bug y canalizar hacia el bugtracker correspondiente es una gran manera de comenzar a involucrarse con el desarrollo de Ubuntu [15:52] otra forma, es habilitando el repositorio -proposed, ahi es donde las proximas actualizaciones se ponen, antes de convertirse en verdaderas actualizaciones, tenemos este filtro para evitar usar actualizaciones incorrectas en las versiones estables de ubuntu [15:52] para habilitarlo, pueden ir a 'fuentes de software' [15:53] pueden leer esta guia para tener una idea mas especifica de como funciona todo esto: https://wiki.ubuntu.com/Bugs/HowToTriage/ [15:53] la lei muchas veces antes de poder entrar al equipo 'Bug control' [15:53] y hablando de el, aprovechare para decir que es y que hace [15:54] una vez que obtienes permisos para cambiar el estatus de los bugs, es decir, que eres parte del 'bugsquad' [15:54] se pasan los bugs a este equipo, para que les asigne desarrolladores, y se nomine para varias versiones de Ubuntu [15:55] para muchos reportes tenemos respuestas predeterminadas, esto nos ayuda a mantener un ambiente de colaboracion y a atender la mayor cantidad de bugs posibles, https://wiki.ubuntu.com/Bugs/Responses [15:55] asi que, regresando al primer ejemplo [15:56] lo que podriamos hacer es responder, en Ingles: [15:56] Thank you for taking the time to report this bug and helping to make Ubuntu better. Please answer these questions: [15:56] * Is this reproducible? [15:56] * If so, what specific steps should we take to recreate this bug? [15:56] una vez que tengamos mas detalles sobre el problema, sera mas facil que lo solucionemos [15:57] en el caso de que el problema se encontrara en upstream, podriamos responder de la siguiente manera: [15:57] Thank you for taking the time to report this bug and helping to make Ubuntu better. The issue you are reporting is an upstream one [15:58] and it would be nice if somebody having it could send the bug to the developers of the software by following the instructions at [15:58] https://wiki.ubuntu.com/Bugs/Upstream/GNOME. If you have done so, please tell us the number of the upstream bug (or the link), so we can add a [15:58] bugwatch that will inform us about its st [15:58] es importante agradecer el tiempo que los usuarios ponen en reportar el error =) [15:59] la primera vez que mande un reporte a Ubuntu, eso fue algo que realmente me agrado, es decir no estamos hablando con maquinas, sino con otras personas [15:59] en resumen [15:59] un buen reporte, es un reporte donde el error puede repetirse muchas veces siguiendo una determinada cantidad de pasos [16:00] adicionalmente podria tener una imagen o un video donde se pudiera mostrar el problema [16:00] algunas veces esto es mas dificil de conseguir que otras [16:01] asi que hay que tener paciencia y tratar de ser amables [16:01] creo que eso es todo [16:01] gracias a om26er por esta rapida introduccion a la clasificacion de bugs! [16:02] hola SurfaX, bienvenido, en este canal intentamo s hacer la interpretacion de lo que esta pasando en #ubuntu-classroom =) [16:02] =) [16:03] tambien, intentamos ayudar a plantear preguntas hacia las personas que estan dando las charlas, asi que si en algun momento tienes alguna, puedes escribirla y trataremos de traducirla para que la puedan responder [16:03] el siguiente ponente sera mhall119 y nos hablara un poco mas sobre lo que son los Lenses de Unity [16:04] btw, tenemos los logs de los dias anteriores en https://wiki.ubuntu.com/SemanaDesarrollador ;) [16:04] y los originales estan en: https://wiki.ubuntu.com/UbuntuDeveloperWeek [16:04] comenzare la interpretacion ahora [16:04] en esta charla hablaremos un poco sobre como crear nuevos lenses con Singlet [16:05] un lense es la forma en la que Unity muestra los datos en la interfaz [16:05] por ejemplo en el campo de busqueda, el resultado se ve gracias a uno de estos lenses [16:05] bien, empezare describiendo que es un singlet [16:05] singlet es una libreria escrita en python diseñada para programar lenses de unity =) [16:06] esto podria sonar extraño, para que necesitamos una libreria, si los lenses de unity son objetos GObjects + Dbus? [16:06] de hecho tenemos varios lenses que estas programados sin usar singlet [16:07] asi que por que alguien querria usarlo? [16:07] bueno, personalmente, pasa que odio los dbus y esos objetos, asi que prefiero usar python para desarrollador todo [16:08] hice mis 2 primeros lenses de esta manera, y singlet fue el resultado de ello [16:08] asi que basicamente singlet es una capa que te permite deshacerte de todo ese codigo que no esta escrito en python ;) [16:09] lo hace combinando ciertos aspectos de la programacion orientada a objetos y algunas meta-clases [16:09] pueden ver este link para conocer mas sobre ello: http://mhall119.com/2012/01/simplified-unity-lens-development-with-singlet/ [16:09] si alguien por aqui ha programado en djando, no deberia tener muchos problemas para agarrarle soltura [16:10] tome muchas cosas de django para construir singlet [16:10] para usar Singlet, primero le das un poco de meta-datos para describir tus lens [16:10] luego puedes definir algunas categorias e implementar algunos metodos, como el metodo search() [16:11] y singlet creara los objetos GObjets necesarios para interactuar con Dbus por ti [16:12] singlet tambien incluye programas auxiliares para hacer que tus lens corran como demonios y genera automaticamente lso archivos .lens y .service, todo a partir de los meta-datos que insertes [16:14] ok, pondremos un ejemplo para mostrar como crear un lens usando singlet: http://mhall119.com/2012/01/simplified-unity-lens-development-with-singlet/ [16:15] si estuvieron en la charla que impartieron davidcalle y mhr3 sabran que los lens pueden escribirse a partir de un archivo, o dividido [16:16] singlet 0.2 esta disponible en Precise [16:16] pueden usarlo para escribir tanto lens como scopes [16:17] singlet no solo te ayuda a programar mas rapido tus lens [16:17] tambien define una api que te protege si las especificaciones de los lens cambian [16:18] esto no es una fantasia, por poner un ejemplo la api de los lens cambio de Unity 4 (oneiric) a Unity 5 (precise) [16:18] asi que si hubieran escrito un len en singlet 0.1 en oneiric, podrian usarlo sin problemas con singlet 0.2 en precise [16:19] pronto agregaremos crearemos una plantilla para poder empaquetar lens y scopes escritos con singlet para quickly [16:20] para los que no esten familiarizados con quickly, es una herramienta creada por los chicos de Ubuntu para desarrollar aplicaciones de forma mas rapida [16:21] cuando se usa, crea por ti los archivos necesarios ya sea para escribir una aplicacion de linea de comandos o con interfaz de usuario, tambien permite empaquetar tu programa facilmente [16:21] la idea es que las personas usen Singlet + Quickly para desarrollar rapidamente lens que ayuden a poner los datos que quieran en la interfaz de Unity [16:22] creo que los lens son una caracteristica unica de Unity, y que mucha gente querra crear algunos [16:22] espero que la mayoria usen Singlet para hacerlo [16:22] alguna pregunta hasta aqui? [16:24] bien eso es todo por hoy, gracias por los que asistieron [16:24] #nosotros seguiremos interpretando =) [16:24] las personas que deseen modificar el codigo de singlet pueden obtenerlo de aqui: https://launchpad.net/singlet [16:25] no olviden entrar a #ubuntu-classroom-chat, muchas veces ahi se van complementando lo que dice el ponente [16:29] a continuacion tendremos a tumbleweed, un desarrollador de Debian y miembro de MOTU ;) [16:29] que nos estara hablando sobre crear paquetes localmente usando pbuilder [16:30] si estuvieron en la charla que dholbach dio ayer, probablemente tendran instalado pbuilder https://wiki.ubuntu.com/MeetingLogs/devweek1201/DevEnvironmentSetup [16:31] si no han usado pbuilder con anterioridad, tal vez se pregunten que sentido tiene [16:32] despues de todo pueden hacerlo con debuild [16:33] sin embargo pbuilder, lo hara en un intorno minimalista, y aqui es donde esta la principal diferencia [16:33] ademas con pbuilder pueden emular otros sistemas [16:33] Ubuntu usa buildds para crear los paquetes que son introducidos en ubuntu [16:34] estas maquinas usan sbuild para crear los paquetes [16:35] adicionalmente con los ppas que ofrece launchpad pueden crear sus paquetes [16:35] https://launchpad.net/builders [16:36] sin embargo y aunque no lo crean, la mayoria de sus computadoras podrian crear un paquete mas rapido de lo que lo hacen las maquinas que Ubuntu pone a disposicion [16:37] personalmente prefiero usar sbuild en lugar pbuilder [16:37] sin embargo es solo una cuestion personal, esta bien usar pbuilder [16:38] de lo contrario no estaria hablando sobre el ;) [16:38] vayamos a los detalles, que hace pbuilder? [16:38] - crea un chroot [16:38] - corre debootstrap para crear un entorno minimalista (debootstrap es una herramienta que corre a muy bajo nivel [16:39] - finalmente crea un archivo .tar y lo pone en algun lugar de tu computadora [16:39] despues de eso, cada vez que se utilice, descomprimira ese archivo .tar [16:40] en este entorno compilara el paquete y si lo crea correctamente lo pondra en otro lugar de tu computadora, para que puedas instalarlo [16:41] en Ubuntu tenemos pbuilder-dist un programa que usa pbuilder para crear varios entornos [16:42] podrian compilar sus programas contra varias versiones de Ubuntu y de Debian [16:42] ok, compilemos algo [16:42] en una terminal escriban: $ pull-lp-source -d beautifulsoup [16:43] esto descargara el archivo fuente que utilizan los .debs para crearse, un archivo .dsc [16:43] ahora, utilicen $ pbuilder-dist precise beautifulsoup_3.2.0-2build1.dsc [16:43] para crear el .deb [16:43] coolbhavi pregunta donde guarda pbuilder los logs [16:44] tumbleweed responde que se guardan al lado de los paquetes .deb [16:46] los entornos manejados con pbuilder deben ser actualizados, tienen que serlo para poder probar que los paquetes mas recientes compilen contra la version en desarrollo de Ubuntu [16:49] pbuilder soporta una caracteristica llamada 'hooks', son scripts que reaccionan a eventos [16:50] pueden leer todos los detalles sobre ello y mas en $ man pbuilder [16:50] y tienen algunos ejemplos en /usr/share/doc/pbuilder/examples/ [16:51] en mi caso uso un script llamado D90update para actualizar el sistema antes de compilar culquier paquete [16:53] otro que no puedo dejar de mencionar es C10shell [16:54] cuando un paquete falla, te abre una linea de comando dentro del entorno para corregirlo [16:54] como usar hooks? [16:55] se pueden dejar en ~/.pbuilder-hooks [16:55] y luego definir en el archivo .pbuilderrc HOOKDIR=$HOME/.pbuilder-hooks [16:58] creo que media hr no ha sido suficiente para hablar sobre todos los aspectos de pbuilder [16:59] sin embargo, tenemos mucha gente en #ubuntu-motu que saben muy bien como usar pbuilder, cowbuilder y sbuild [16:59] asi que no duden en darse una vuelta por ahi, si tienen algun problema =) [17:01] eso es todo [17:01] la siguiente platica sera sobre como crear archivos /debian/changelog que ruleen [17:01] y aun hay varias platicas interesantes [17:02] por mi, ha sido todo por hoy, espero encontrar logs adicionales, ya tenemos a ubuntulog que subira los logs a la wiki [17:02] bonita tarde n_n/)))