/srv/irclogs.ubuntu.com/2012/08/29/#ubuntu-classroom-es.txt

chilicuilcomenzare con la interpretacion de la ultima sesion del dia de hoy, 'Configuracion del entorno, para el desarrollo de Ubuntu'/'Getting set up for Ubuntu development' por Daniel Holbach04:28
chilicuildurante esa charla se configura el entorno, las herramientas y todo lo que sea necesario para que puedan aprovechar el resto de las sesiones, y para que puedan involucrarse con el desarrollo de Ubuntu04:29
chilicuilsi logramos terminar a tiempo, podemos incluso avanzar un poco mas, y analizar algun paquete04:29
chilicuilesta sesion sera practica, les sugiero que tengan abierta por lo menos una terminal04:30
chilicuilhay ciertas cosas que necesitan hacer para tener un sistema listo para el desarrollo de Ubuntu04:31
chilicuilalgunas de ellas son; configurar sus equipos para modificar paquetes, y para subir sus cambios a Launchpad, la plataforma de desarrollo de Ubuntu04:32
chilicuilesto es lo que haremos:04:32
chilicuil- Instalar programas para empaquetar programas. Esto incluye: utilidades especificas de Ubuntu, software de cifrado (para que podamos verificar quien ha hecho los cambios), y software para transmitir de forma segura datos entre la plataforma y su computadora04:34
chilicuil- Crear y configurar una cuenta en launchpad04:34
chilicuil- Configurar software para poder recompilar paquetes en su equipo, para interactuar con otros desarrolladores, y para enviar parches a Launchpad04:35
chilicuiles recomendable hacer el trabajo de empaquetamiento usando la version en desarrollo de Ubuntu, de esta forma, pueden hacer pruebas en el mismo entorno donde seran integrados04:37
chilicuilasi que tendran que correr Ubuntu Quantal (12.10) de alguna forma04:37
chilicuilno teman, podran hacerlo a traves de un entorno chroot, de una maquina virtual, o por algun metodo parecido04:38
chilicuilaunque si les es posible, lo mejor seria que pudieran hacer las pruebas en un entorno que utilicen todos los dias04:39
chilicuilhttps://wiki.ubuntu.com/UsingDevelopmentReleases explica algunos metodos para correr la ultima version de forma segura04:39
chilicuilsi alguno de ustedes utiliza 12.04, no importa, pueden seguir las instrucciones, y luego repetirlas en su entorno de desarrollo04:42
chilicuilexisten un numero de utilidades que les hara la vida mas facil como desarrolladores de Ubuntu, analizaremos algunas mas tarde, por lo pronto, para instalarlas, copien y peguen este comando en su terminal04:43
chilicuil$ sudo apt-get install packaging-dev04:44
chilicuilesto tomara unos minutos, asi que dejenlo funcionando04:44
chilicuilal finalizar tendran instalado el siguiente software04:44
chilicuil- gnupg, el gnup privacy guard contiene herramientas que necesitan para crear llaves criptograficas, con estas llaves se firman los archivos que se suben a Launchpad04:50
chilicuil- pbuilder, esta es una herramienta para recompilar los paquetes, en un entorno limpio y completamente aislado04:52
chilicuil- ubuntu-dev-tools (y devscripts, que figura como dependencia directa), es una coleccion de scripts que permiten automatizar algunas de las tareas de empaquetamiento04:53
chilicuil- bzr-builddeb (y bzr, como dependencia), sirve para obtener un sistema de control de versiones basado en Bazaar, esta es una forma relativamente nueva de trabajar con los paquetes en Ubuntu, a mediano plazo permitira que varios programadores de Ubuntu puedan colaborar mas rapido y facilmente04:55
chilicuil- apt-file, es una herramienta para encontrar el paquete al que pertence determinado archivo04:58
chilicuil- y obviamente muchas otras cosas buenas que no cubriremos en esta guia introductoria :)04:58
chilicuilalguna pregunta hasta aqui?04:58
chilicuilNickE pregunta sobre la maquina virtual que usa TestDrive05:00
chilicuildholbach responde que la ultima vez que vio, usaba kvm05:00
chilicuilnja pregunta si es necesario correr "apt-file update" despues de instalar ese metapaquete05:00
chilicuildholbach responde que no cree que sea necesario. nota del interprete: si que es necesario, por lo menos una vez justo despues de la instalacion05:02
chilicuilconner_bw pregunta si bzr esta grabado en piedra, o si algun dia se podra usar git en su lugar05:04
chilicuildholbach responde que no lo sabe, y que tal vez seria mejor preguntar en #launchpad05:04
chilicuilagrega que aunque personalmente le gusta trabajar con bzr, porque es facil de aprender, comprende que otras personas prefieran trabajar con otros sistemas de control de versiones, como git, o hg05:06
chilicuilla buena noticia es que Launchpad puede importar ramas de git, y de otros sistemas, asi que despues de importarlos pueden trabajar con bzr nativamente05:07
chilicuilen fin, vayamos a la accion!05:08
chilicuilel primer paso es hacer que las herramientas de empaquetamiento conozcan sobre ti, asi que por favor, abran su archivo ~/.bashrc con editor de texto, y agreguen algo como esto al final05:09
chilicuilexport DEBFULLNAME="Bob Dobbs"05:09
chilicuilexport DEBEMAIL="subgenius@example.com"05:09
chilicuilreemplacen el nombre y correo con los suyos :)05:10
chilicuilahora, guarden el archivo, y cierren y vuelvan a abrir su terminal, o utilicen el comando:05:10
chilicuil$ source ~/.bashrc05:11
chilicuil(si no utilizan bash como shell, editen el archivo correspondiente a la shell que usen)05:11
chilicuiluna vez que lo hayan hecho, las herramientas de empaquetamiento utilizaran su nombre y direccion cuando tengan que introducir un nombre de autor05:13
chilicuilnja pregunta si Lernid utiliza bash como la shell por defecto05:13
chilicuildholbach responde que si, que Lernid utiliza la shell que suelas utilizar, siendo esta por defecto bash05:14
chilicuiluna vez que hayan completado este paso, crearemos la llave GPG05:14
chilicuilsi ya tienen una llave de este estilo, con esa basta, no tienen que crear otra05:15
chilicuilGPG se utiliza por GNU Privacity Guard, y es una implementacion libre del estandarn OpenPGP que permite firmar y cifrar archivos, esto puede ser util de diferentes formas05:18
chilicuilen nuestro caso, es importante que firmen los archivos que modifiquen para que podamos identificar aquellos lugares donde trabajaron. Cuando suban un archivo a launchpad, solo les permitira hacerlo, si puede determinar de forma exacta quien lo esta haciendo05:19
chilicuilpara crear una llave GPG, utilicen:05:20
chilicuil$ gpg --gen-key05:20
chilicuilGPG les preguntara sobre el tipo de llave que desean generar, escojan la opcion por defecto (RSA y DSA). Despues les preguntara sobre el tamaño de la clave, el tamaño por defecto (2048) esta bien, sin embargo 4096 es mas seguro05:22
chilicuiluna vez hayan contestado, les preguntara si desean que expire la llave en determinado momento, contesten con '0', lo que significa que su llave nunca expirara05:22
chilicuillas ultimas preguntas son sobre su nombre y correo electronico. Escojan los datos que estaran usando para el desarrollo de Ubuntu, pueden agregar mas correos electronicos despues05:24
chilicuilno es necesario poner un comentario. Dejenlo vacio, despues de esto, tendra que configurar una clave, escojan una que sea segura (acepta espacios en blanco)05:25
chilicuilcon esta informacion GPG creara su llave, esto puede tomar un poco de tiempo, ya que necesita recoger bytes aleatorios, para que los pueda tomar mas rapido, hagan que su computadora realice alguna operacion que haga uso intensivo del cpu05:26
chilicuiltambien podemos dejar que la genere mientras configuramos el resto del entorno, abran otra terminal05:27
chilicuilahora crearemos la llave SSH05:27
chilicuilSSH obtiene su nombre de Secure Shell/Shell segura, y es un protocolo que permite intercambiar datos de una forma segura sobre una red. Es comun usar ssh para accesar a consola remotas, y para transferir archivos de forma segura. En nuestro caso, utilizaremos la segunda caracteristica, para enviar cambios a Launchpad05:31
chilicuilpara crear una llave SSH, ejecuten:05:31
chilicuil$ ssh-keygen -t rsa05:31
chilicuilel nombre por defecto, comunmente esta bien, asi que dejenlo de esa forma (si ya tienen una clave anterior, entonces pueden seleccionar otro nombre). Se recomienda que tambien establezcan una contraseña para esta clave05:33
chilicuilpara esta llave*05:33
chilicuilnja pregunta si la contraseña se puede cambiar despues05:33
chilicuildholbach responde que si05:33
chilicuilel siguiente paso, es configurar pbuilder05:33
chilicuilpbuilder les permitira compilar paquetes en su maquina, esto tiene 2 ventajas:05:34
chilicuil- la compilacion se hace en un entorno limpio y minimalista, esto asegura que se pueda compilar en un sistema que no haya sido alterado05:35
chilicuil- no hay necesidad de instalar todas las dependencias localmente, se instalan en su lugar temporalmente en el entorno pbuilder05:35
chilicuilmm, una tercera ventaja, es que pueden tener varios entorno en una misma maquina, por ejemplo, varias versiones de Ubuntu o Debian al mismo tiempo05:36
chilicuilusar pbuilder es muy facil, utilicen:05:36
chilicuil$ pbuilder-dist version_de_ubuntu create05:36
chilicuilpara crear un nuevo entorno05:37
chilicuilen el caso de Ubuntu quantal, pueden crear un nuevo entorno con:05:37
chilicuil$ pbuilder-dist quantal create05:38
chilicuilesto tomara algunos minutos, ya que descargara todos los paquetes necesarios para crear una instalacion "minimalista", los paquetes que se descarguen se guardaran en una cache05:39
chilicuilhay alguna pregunta hasta el momento?05:40
chilicuiljsjgruber-l82-p pregunta para que se necesita un archivo ~/.pbuilderrc05:40
chilicuildholbach responde que en ese archivo, se pueden configurar muchas cosas, por ejemplo, el uso de mirrors adicionales, la instalacion de paquetes por defecto, etc05:41
chilicuilla pagina man de pbuilder: $ man pbuilder05:41
chilicuildescribe las cosas que pueden agregar, aunque en la mayoria de los casos, no se requiere05:42
chilicuilexodus hace el siguiente comentario: imagina que estoy creando un paquete que tiene dependencia a otros paquetes, y esos paquetes a su vez aun no estan disponibles, por ejemplo, el paquete A, depende del paqeute B y del C. Una vez que compilo B & C, pbuilder conoce de la existencia de estos paquetes, y entonces puedo compilar A. Hay alguna configuracion especial para esta clase de problemas?05:47
chilicuildholbach responde que es una excelente pregunta, y continua diciendo que efectivamente algunas veces querras seguir determinada secuencia en la construccion de los paquetes, por ejemplo cuando quieres actualizar algunas librerias de libalgo1 a libalgo205:51
chilicuilpara estos casos, se tiene que configurar pbuilder para que re utilice los paquetes que ha compilado05:52
chilicuillengau pregunta porque pbuilder requiere permisos de super usuario (root)05:56
chilicuildholbach responde que porque chroot internamente lo requiere para crear un sistema minimalista separado del sistema de donde fue invocado05:57
chilicuilTheLordOfTime pregunta como hacer que pbuilder utilice los paquetes que ya han sido compilados, retomando el caso hipotetico de exodus05:57
chilicuildholbach responde que lo mejor seria ver https://wiki.ubuntu.com/PbuilderHowto y que en caso de que este desactualizado, se pregunte en #ubuntu-motu05:58
chilicuilahora, asumire que GPG ha terminado de crear la llave :)06:00
chilicuilsi es asi, habran obtenido un mensaje similar a este:06:00
chilicuilpub   4096R/43CDE61D 2010-12-0606:00
chilicuil    Key fingerprint = 5C28 0144 FB08 91C0 2CF3  37AC 6F0B F90F 43CD E61D06:01
chilicuiluid                  Daniel Holbach <dh@mailempfang.de>06:01
chilicuilsub   4096R/51FBE68C 2010-12-0606:01
chilicuilpara este caso, el ID de la llave es: 43CDE61D06:01
chilicuiluna vez que tengan estos datos, tendran que subir la parte publica a un servidor de llaves, de esta forma el mundo podra identificar los mensajes y archivos que les pertenezcan, en una consola:06:05
chilicuil$ gpg --send-keys <ID>06:05
chilicuileste comando subira la parte publica a un servidor de llaves, aun tendran que esperar a que se sincronice con el resto de servidores en el mundo (lo cual puede tardar algunos dias), para que todos puedan verificar sus archivos06:07
chilicuilnja pregunta el proposito de estas llaves06:08
chilicuildholbach responde con un ejemplo, si intentas subir algun paquete a launchpad (a un repositorio personal), el sistema verificara si ese paquetes fue realmente hecho por ti06:09
chilicuilla llave GPG, es un seguro que se rompe, cuando una tercera persona intenta modificar los archivos06:10
chilicuilla llave SSH la utiliza Bazaar, y sirve para enviar esos datos a traves de una coneccion segura06:11
chilicuilcon las configuraciones que hemos hecho hasta el momento, el siguiente paso es configurar el equipo para que funcione con launchpad06:12
chilicuillaunchpad es la pieza central de infraestructura que usa Ubuntu06:12
chilicuilno solo almacena todos los paquetes y el codigo fuente de cada uno, tambien guarda traducciones, reportes de bugs, y la informacion de las personas que trabajan en Ubuntu, asi como los equipos a los que pertenecen06:14
chilicuilLaunchpad tambien se utiliza para enviar parches, revisarlos e integrarlos en la distribucion06:15
chilicuilla integracion, se hace generalmente a traves del patrocinio de los parches de otras personas, esto quiere decir: 'subir un paquete en nombre de alguien mas'. esta es la unica forma de colaborar con Ubuntu, si quieres enviar un parche y no tienes permisos para modificar el archivo06:19
chilicuiltendran que crear una cuenta en launchpad y dar una cantidad minima de informacion. esto les permitira descargar y subir codigo fuente, enviar reportes de bugs, entre algunas otras cosas06:20
chilicuilademas de Ubuntu, launchpad ofrece sus servicios, a cualquier proyecto de software libre, https://help.launchpad.net/ contiene mas informacion06:21
chilicuilsi aun no tienen una cuenta, pueden obtenerla en: https://launchpad.net/+login , si tienen una pero no recuerdan su id, puede saberlo, si entran a https://launchpad.net/~ y despues se fijan en el nick que este despues del ~06:22
chilicuilTheLordOfTime menciona que ha escuchado del codigo de conducta (CoC) y se pregunta si debe firmarlo para desarrollar ubuntu06:23
chilicuildholbach responde que si, y agrega que si desea formar parte de algun equipo, convertirse en un miembro oficial (y con eso, obtener derecho a votar, obtener un alias @ubuntu.com y en general ser reconocido por su trabajo) tendra que firmarlo06:25
chilicuilno hay ninguna clausula oculta, no tendran que pagar por algo que no quieren06:26
chilicuilel codigo de conducta basicamente dice que seran amables, unos con otros06:26
chilicuileso, generalmente es algo con lo que estarias feliz de cumplir :)06:27
chilicuilman_let pregunta si hay cosas en las que puedan ayudar personas no tan inteligentes06:27
chilicuildholbach responde que existen diferentes formas de involucrarse, y que estas actividades incluyen la mayoria de intereses, habilidades o preferencias personales06:28
chilicuilel proceso de registro en Launchpad, les preguntara por un nombre que pueda usar cuando tenga que mostrar un nombre. Se sugiere que usen su nombre real, de esta manera, las personas pueden empezar a conocerse de mejor manera, unas a las otras06:30
chilicuiltambien, cuando se registre una nueva cuenta, se enviara un link con los pasos necesarios para verificar la cuenta, si no lo reciben, verifiquen que no este en su carpeta de spam06:31
chilicuilla pagina de ayuda https://help.launchpad.net/YourAccount/NewAccount les dara mas informacion sobre el proceso, y las opciones de configuracion que pueden modificar06:38
chilicuiluna vez que tengan su cuenta, tendran que decirle cual es su llave GPG, para esto necesitaran el fingerprint, en una consola ejecuten:06:39
chilicuil$ gpg --fingerprint <email@address.com>06:39
chilicuillo que les imprimira algo como esto:06:39
chilicuilpub   4096R/43CDE61D 2010-12-0606:39
chilicuil    Key fingerprint = 5C28 0144 FB08 91C0 2CF3  37AC 6F0B F90F 43CD E61D06:39
chilicuiluid                  Daniel Holbach <dh@mailempfang.de>06:39
chilicuilsub   4096R/51FBE68C 2010-12-0606:39
chilicuilvayan a https://launchpad.net/~/+editpgpkeys y copien lo que esta despues de "Key fingerprint" en la caja de texto, para este ejemplo es:06:40
chilicuil5C28 0144 FB08 91C0 2CF3  37AC 6F0B F90F 43CD E61D06:41
chilicuiluna vez hecho esto, hagan click sobre 'Import Key'06:41
chilicuilLaunchpad utilizara el fingerprint para buscar su llave en los servidores de Ubuntu, si la encuentra les enviara un correo cifrado, una vez leido el mensaje podran hacer click en el enlace que se indique, y con eso habran confirmado su llave06:44
chilicuilsi su cliente de correo soporta OpenGPG, les preguntara la constraseña que configuraron cuando crearon la llave06:44
chilicuilde regreso al sitio de launchpad, hagan click sobre el boton 'Confirm', y con eso habran linkeado su llave con su cuenta06:45
chilicuilsi tienen dudas sobre como finalizar el proceso, hechen un vistazo a https://help.launchpad.net/YourAccount/ImportingYourPGPKey06:45
chilicuilcuando terminen, pueden hacer lo mismo para su llave ssh06:46
chilicuilabran https://launchpad.net/~/+editsshkeys y tambien el archivo ~/.ssh/id_rsa.pub en gedit06:46
chilicuilverifiquen que estan abriendo ~/.ssh/id_rsa.pub (la parte publica), y no ~/.ssh/id_rsa (la parte personal)06:47
chilicuil:)06:47
chilicuilcopien los contenidos de ese archivo, y peguenlos en la caja de texto, luego hagan click en 'Import Public Key'06:48
chilicuilsi tienen dudas en algun paso de este procedimiento, revisen https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair06:48
chilicuilthotp pregunta si las llaves gpg cambian cuando se reinstala el sistema operativo06:49
chilicuildholbach responde que sera mejor que haga una copia de seguridad del directorio ~/.gnupg06:49
chilicuilla ultima cosa que me gustaria comentar, antes de que comencemos con la sesion de preguntas y respuestas, es bazaar, bazaar es un programa que se utiliza para almacenar los cambios en el codigo de una manera logica, para intercambiar cambios, y para fusionarlos, incluso cuando el desarrollo se esta haciendo al mismo tiempo. Se usa con el nuevo metodo de desarrollar Ubuntu de manera distribuida en la modificacion de paquetes06:52
chilicuillo primero que se tiene que hacer es configurar a bazaar con su nombre y correo, ejemplo:06:53
chilicuil$ bzr whoami "Bob Dobbs <subgenius@example.com>"06:53
chilicuil$ bzr launchpad-login subgenius06:53
chilicuilel primer comando, tomara su nombre y correo, estos datos se utilizaran para firmar sus mensajes de modificaciones (commits). El segundo comando sirve para configurar su ID en launchpad, de esta forma, el codigo que suban desde su maquina sera asociado a su cuenta06:55
chilicuilde nuevo, si no pueden recordar su ID pueden ir a https://launchpad.net/~ y ver hacia donde los redirecciona, el nombre que este despues del ~ es su ID06:56
chilicuily eso es basicamente todo lo que tienen que hacer06:56
chilicuiluna cosa que tal vez deseen hacer, es abrir desde Ubuntu "propiedades del software" y asegurarse que la pestaña que dice 'Sources' esta activada, una vez lo hayan hecho, podran descargar el codigo fuente de cualquier aplicacion de Ubuntu06:58
chilicuileklok pregunta de donde se puede sacar la motivacion para trabajar con esto todos los dias. Menciona que el siempre se lo propone, pero al final del dia falla06:59
chilicuildholbach responde que son las personas y la sensacion de saber que si un error es solucionado, no solo se arregla para el, sino para millones de usuarios07:00
chilicuiltambien dice, que aprende terminan aprendiendo algo nuevo, lo que le parece fantastico07:01
chilicuilagrega, que algunas veces puede ser dificil solucionar algun problema, pero que siempre se puede preguntar por ayuda07:01
chilicuilman_let pregunta lo que pasaria si 2 personas tuvieran la misma llave publica07:02
chilicuildholbach responde que ya ha escuchado de colisiones entre llaves gpgp, pero que son muy raras, asi que no podria darle una respuesta mas especifica, le gustaria que alguien mas le enviara un link que explicara a detalle el tema07:03
chilicuilenvia http://www.gnupg.org/gph/en/manual.html#AEN282  y espera que eso pueda ayudar a obtener una respuesta07:04
chilicuilalguna otra pregunta?07:04
chilicuilcontinuando con la sesion, si han seguido todas las instrucciones hasta el momento07:05
chilicuildeberian poder seguir el siguiente ejemplo07:05
chilicuilen una consola ejecuten:07:05
chilicuil$ bzr branch ubuntu:hello07:05
chilicuillo que descargara una rama del programa 'hello' en Ubuntu, junto con todas sus revisiones (historial, versiones anteriores)07:06
chilicuildespues de haber hecho eso, ejecuten:07:06
chilicuilcd hello07:06
chilicuilbzr bd -- -S07:06
chilicuillo que compilara un paquete de codigo fuente a partir del repositorio - de esta forma se reconstruira el paquete en su forma original, y en las modificaciones que se agregan, para hacer que se compile como un paquete de Debian/Ubuntu07:08
chilicuilsi escriben:07:08
chilicuil$ ls07:08
chilicuilveran algunos archivos como:07:08
chilicuilhello_2.8-2.debian.tar.gz  hello_2.8-2_source.changes07:08
chilicuilhello_2.8-2.dsc            hello_2.8.orig.tar.gz07:09
chilicuilsi los ven, ejecuten a continuacion:07:09
chilicuil$ pbuilder-dist quantal build ../hello_2.8-2.dsc07:09
chilicuillo que compilara el paquete 'hello', dentro de la instancia de pbuilder que habiamos creado con anterioridad07:09
chilicuillo primero que hara, sera descargar las dependencias, y posteriormente compilarlo07:10
chilicuilel paquete resultante, estara disponible en ~/pbuilder/quantal_result/07:10
chilicuilnja pregunta porque obtiene el siguiente mensaje de error: http://paste.ubuntu.com/1172150/07:11
chilicuildholbach responde que el error que obtuvo es una advertencia, y que se puede ignorar por el momento07:11
chilicuilgpg: skipped "Santiago Vila <sanvila@debian.org>": secret key not available07:12
chilicuilgpg: /tmp/debsign.16cckC0A/hello_2.8-2.dsc: clearsign failed: secret key not available07:12
chilicuilse refiere, a que la ultima persona que trabajo en el paquete fue Santiago Vila, y que no tenemos su llave GPG, como debia de esperarse07:12
chilicuilpudimos haber agregado "-us -uc" a "bzr bd -- -S" para que no mostrara ningun error07:13
chilicuilpero como decia, se puede ignorar por el momento07:13
chilicuilcon estos pequeños pasos, 3-4 comandos, fuimos desde una rama del codigo fuente (con todas las revisiones de Ubuntu incluidas), a un paquete de codigo fuente (unicamente de la ultima revision) - esto es lo que se sube a launchpad para su compilacion), y finalmente fuimos a un paquete binario (.deb)07:16
chilicuilesto solo es una probada, espero que encuentren muchas otras cosas interesantes durante las siguientes sesiones, que los ayuden a unirse al grupo de desarrolladores de Ubuntu07:17
chilicuilhaganme un ultimo favor, y agreguen a marcadores http://developer.ubuntu.com/packaging/html/07:18
chilicuile intenten seguir a @ubuntudev en identi.ca/twitter/facebook/gplus07:19
chilicuilmarcosb pregunta si -us -uc no es en realidad un comando para pbuilder, o si lo es para bzr07:19
chilicuildholbach responde que efectivamente, los parametros son para $ bzr db (y que todo lo que va detras de -- se envia a debuild/dpkg-buildpackage internamente)07:21
chilicuilespero que se animen a probar el desarrollo de Ubuntu, que aprendan mucho, que ayuden a crear del mundo un mejor lugar, y que hagan un puñado de amigos en el proceso :)07:22
chilicuildholbach pregunta si hay mas preguntas, tal vez pueda resolver otro par antes de que Oliver "ogra" Grawert comience su charla sobre ARM07:23
chilicuilnja pregunta sobre que es lo sigue despues de correr: "bzr bd -- -S -us -uc"07:24
chilicuildholbach responde que $ pbuilder-dist quantal build ../hello_2.8-2.dsc07:24
chilicuily agrega que tambien deberia poder encontrar las instruccines precisas en http://developer.ubuntu.com/packaging/html/07:25
chilicuily en los logs que se generen y que se publiquen en: https://wiki.ubuntu.com/UbuntuDeveloperWeek07:25
chilicuilmarcosb comenta: otra sesion para aprender a hacer parches para el paquete hello? :)07:27
chilicuildholbach responde que si, y agrega que hubiera sido muy complicado querer abarcar mas en 2 horas :)07:28
chilicuilalucardni pregunta como puede hacer que $ bzr bd invoque a pbuilder para crear un paquete binario07:28
chilicuildholbach responde que no se puede, que tiene que correr ambos comandos07:30
chilicuilpero que seria genial tener un plugin para bzr, que simplifique el proceso a un solo paso07:30
chilicuilgracias a todos por estar aqui, espero que pueda saber de ustedes pronto, ogra, todo tuyo :)07:31
chilicuily con esta termina la interpretacion de la sesión, pueden consultar los logs del resto de las interpretaciones en https://wiki.ubuntu.com/SemanaDesarrollador , saludos cordiales07:32
chilicuilhola KervinRodriguez, bienvenido, dentro de algunos minutos comenzara el segundo dia de la semana del desarrollador, las platicas generales se daran en #ubuntu-classroom (es una buena idea a unirse a ese canal), en este canal, se estara haciendo una interpretacion simultania, tambien si tienes algun problema para plantear tu pregunta en ingles en #ubuntu-classroom-chat puedo ayudarte, las sesiones de ayer estan disponibles en https14:02
KervinRodriguezGracias14:04
meropachanguerohola14:42
jossedbuenos dias14:52
gus-tavobienos dias jossed14:54
FTGhola14:54
chilicuilbuenos dias a todos, hola gustavo_ =)14:55
joshua1983buenos dias chilicuil14:55
gus-tavosoy el mismo, logeado dos veces :)14:55
chilicuilgenial, al menos parecera que somos mas ;)14:56
jossedjajjaja14:58
jossedsi14:58
chilicuilwop, acaba de comenzar =)15:01
gus-tavoComienza la sesión :915:01
gus-tavoMichael Terry, es quien mantiene los paquetes de Quickly15:01
gus-tavoUsualmente da charlas durante la Semana del Desarrollador, como esta, quiere saber si les gustaria hablar de algo mas tecnico o no15:02
gus-tavoComienza con una rapida intro a Quikly y los planes para 12.10 y 13.0415:03
gus-tavoQuicly es un forma de comenzar a desarrollar muy rápida15:04
gus-tavoY no tener que preocuparse mucho acerca del empaquetado o como enviar la app a Ubuntu15:04
gus-tavoHay algunas opiniones sobre la elección (como Python, GTK+) que Ubuntu hace, para ofrecer una mejor experiencia15:05
gus-tavoHay muchas "plantillas" que Quickly ofrece para otras cosas (como HTML5 o Flash)15:06
gus-tavoPor que usar Quicly o integrarse al desarrollo ?15:06
gus-tavoLa razón es que si queres comenzar a desarrollar sin importar mucho acerca del empaquetamiento15:07
mwallacesd=)15:07
gus-tavoSiempre  hay muchas cosas para hacer, y hay planeado mucho trabajo15:07
gus-tavoen 12.04 hay tres plantillas, la nomal Python+GTK, una interfaz de linea de comandos y otra de juegos flash15:08
gus-tavoTambien estan HTML5, Qt, Qt Quick, y una Unity Lens mantenida por la comunidad15:09
chilicuilbienvenido mwallacesd , en este canal se hace la interpretacion en tiempo real de #ubuntu-classroom, si tienes alguna pregunta para la sesion, y no estas seguro de como hacerlo, tambien podemos ayudarte, si no tienes problemas con Ingles, igual podemos darnos apoyo uno al otro, todos aqui estamos de una forma u otra interesados en el desarrollo de Ubuntu15:09
gus-tavoeklok pregunta: se puede trabajar con Quickly via teminal e interfaz gráfica?15:10
gus-tavoAhora, está diseñado para ser usado solamente via terminal15:10
gus-tavoMichael Hall trabaja en un interfaz gráfika15:10
gus-tavo https://launchpad.net/quickly-gtk15:10
gus-tavoskizobass pregunta: puede usar Eclipse, PyDev para escribir una App Python con quickly y luego publicarla en el Software Center?15:11
gus-tavoSi y no15:11
gus-tavoNo tenemos una integración con Eclipse o PyDev15:12
gus-tavoPero puedes escribir una app y pegarte dentro de un proyecto Quickly con un pequeña suma de trabajo15:12
gus-tavoLo que da Quicly es un proyecto esqueleto15:13
jossedque nos ofrece Quicly en desarrollo15:14
jossedque nos ofrece Quickly en desarrollo15:14
gus-tavoY si tiras algo del codigo,  y te adhieres al tuyo, tenes las mayorias de las ventajas que ofrece Quicky15:14
joshua1983pregunta: esa estructura creada por Quickly es el estándar para desarrollar aplicaciones en ubuntu?15:14
gus-tavoben72 pregunta: in 12.04 quickly es el paquete a obtener?15:15
gus-tavosSi15:15
jossedse conecta contoda las base de datos o hay q utilizar librerias_15:15
gus-tavoFlowRiser pregunta: Como es el actual flujo de trabajo de Quickly?15:15
gus-tavoDigamos que comienzas un proyecto15:16
gus-tavoAbres la Terminal15:16
gus-tavocorres "quickly create ubuntu-application  test-project"15:16
jossedpero es orientada a la web o son para aplicaciones de escritorio15:17
gus-tavoLa app Ubuntu es elegida en ese paso y elijes una plantilla15:17
gus-tavoEn nuestro caso, queremos la default-ubuntu-recommendation, que es Python+GTK15:17
chilicuiljossed: acabo de hacer tu pregunta sobre base de datos en #ubuntu-classroom-chat15:17
jossedok15:18
gus-tavoAhora, crea el esqueleto y y lo lanza15:18
gus-tavoCierra este proyecto, "cd test-project" y estás sobre el nuevo proyecto15:19
gus-tavoAhora puedes editar el codigo con "quickly edit" o empaquetarlo con "quickly package". Vamos a esos comandos mas tarde15:19
gus-tavoskizobass pregunta: Puedo escribir y organizar el codigo (clases, paquetes, et,) como en Eclipse?15:20
chilicuiljossed: acabo de hacer tu segunda pregunta sobre aplicaciones web vs aplicaciones de escritorio =)15:20
gus-tavoNo estoy seguro como hace Eclipse, espera.15:21
jossedok >(15:21
jossedsi me responde me madas las respuesta a mi correo que tengo q salir ok es jsdrnt@gmail.com gracias15:21
gus-tavoEl esqueleto por defecto te da un directorio/modulo-Python para tu codigo15:22
chilicuiljossed: las respuestas estaran accesibles como parte del log, te lo mandare todo junto, que te diviertas15:22
gus-tavoy tambien un modulo Python que tiene su propio codigo boilerplate15:23
gus-tavoColocas todo tu codigo en tu modulo y Quickly lo envuelve15:24
jossedok15:24
gus-tavoSi quieres importar codigo existente en Quickly, tienes que reemplazar un modulo con tu codigo15:25
gus-tavoPero asi como van clases, Python y Quickly recomiendan una-clase-por-archivo15:25
gus-tavopuedes hacer como quieras. no es estricto, como Java15:26
gus-tavonja pregunta: estaras cubriendo algo de Python en esta sesion?15:26
gus-tavoNo lo tengo planeado, hay mejores recursos para eso15:26
SergioMenesesgus-tavo, puse un tuto bastante bueno de python en el canal de chat15:27
gus-tavoNo hay mas preguntasm comencemos a usar Quickly15:27
* SergioMeneses is still working15:27
gus-tavoAntes que lo olvide, Quickly tiene un tutorial embebido15:28
SergioMenesesgus-tavo, el fin de semana sera q miro lo de la semana xD15:28
gus-tavoSi no me quieren escuchar repetido15:28
gus-tavocorre "quickly tutorial" en tu directorio15:29
SergioMeneses:O15:29
SergioMenesesexelente aporte15:29
gus-tavoFlowRiser pregunta: Veo que la mayoria de los lenguajes que usa no requiere compilar el codigo, hay alguna chance de usar Cpp y una plantilla GTK?15:30
gus-tavoEs una posibilidad15:30
gus-tavopero no lo hemos hecho aun15:30
chilicuiloh si, creo que muchos de nosotros tendremos de sobra con eso: $ quickly tutorial15:31
gus-tavoEl sistema de plantillas le permite a alguien eschibir algo como una plantilla fácilmente15:31
gus-tavoTenemos un progreso con la plantill Vala, que esta compilada15:31
gus-tavoPero en general, usuarios nuevos prefieren lenguajes no compilados, como HTML o Python15:32
mwallacesdSergioMeneses, nos puede pasar el tuto aqui?15:33
gus-tavopeaceisid pregunta; para usar quickly, debo saber programar en python?15:33
gus-tavoSi, al menos para la plantilla recomendada por defecto15:33
gus-tavopero, nuevamente, no va a ser necesario en el futuro15:33
gus-tavoestamos hora15:33
SergioMenesesgus-tavo, mwallacesd http://mundogeek.net/tutorial-python/15:34
mwallacesdGracias SergioMeneses15:34
gus-tavocoalitians pregunta: Quickly esta en python?15:34
gus-tavoSi, el proyecto esqueleto y Quickly en si15:34
gus-tavoBebopSteve pregunta: con "quickly edit", que hay de especial?  o puedes usar tu editor preferido?15:35
gus-tavoPuedes usar el editor de tu elección, puedes asignar EDITOR o QUICKLY_EDITOR variables de entorno para cambiarlo15:36
gus-tavoNickE pregunta: Quickly tiene soporte para Python 3?15:37
gus-tavoNo aún15:37
gus-tavoQueremos soportarlo, pero eso no pasara hasta 13.0415:37
gus-tavochilicuil pregunta: quickly soporta el acceso a bases de datos? o necesito usar librerias?15:38
gus-tavoPara eso, no se necesita nada especial, Quickly las soporta15:39
gus-tavoSolo impota el modulo apropiado Python15:39
gus-tavoNo limita tu eleccion en como escribes tus app. Es solo un envoltorio, para proveer integracion dentro de Ubuntu15:40
gus-tavoOtro comando util para cambiar tus app, es "quickly design"15:40
gus-tavoque traera el editor Glade, una interfaz gráfica15:41
gus-tavoComo usar Glade es enteramente otra charla, trata de ser un constructor interfaces con apunta y clika15:42
gus-tavoTe ayuda a entender GTK un poco cuando lo usas15:43
gus-tavoPero la idea básica es que puede crear nuevas widgets un el panel a la izquierda, colocrlos en el medio y ajustar las propiedades del widget en la zona inferior derecha15:44
gus-tavochilicuil pregunta: Quickly esta planeado para producir app de escritorio o app web?15:45
gus-tavoAhora, app de escritorio15:45
gus-tavoTenemos una plantilla HTML5 en el conjunto de la comunidad15:45
gus-tavoPero aun esta diseñado para el escritorio (corre Python por debajo)15:46
gus-tavogreen7 pregunt: Necesitamos conocer GTK para usar Quickly?15:47
gus-tavoSi, para la plantilla estándar15:47
gus-tavocomo para Glade15:47
gus-tavonja pregunta: Donde recomendarias aprender Python?15:47
gus-tavoDive into Python es muy bueno15:48
gus-tavohttp://www.diveintopython.net/15:48
gus-tavoDigamos que te sientes a gusto con Glade, y has hecho algunos cambios (y podemos volver a ellos)15:48
gus-tavoSi quieres ver como se ve tu proyecto, corre "quickly run"15:49
gus-tavolo que cargara todos los archivos editados y te mostrara el estado actual del proyecto15:49
gus-tavoun lindo truco Quickly hace es que cuando agregas un eidget, respondes frecuentemente a eventos de usuario que hay en el15:50
gus-tavocomo clicks15:50
gus-tavoQuickly lo hace facil15:51
gus-tavoSi agregas un widget llamado boton115:51
gus-tavopuedes escribir un método en la clase ventana llamada on_boton1_clicked (self, widget, data=None)15:52
gus-tavoy es todo lo que necesitas alli15:52
hephistobuen dia alguno conoce algun tutorial de AS315:53
gus-tavoQuicky lo notificara y ancla el widget a tu método15:53
gus-tavoNecesitas usar el formato on_WIDGETNAME_SIGNALNAME15:54
gus-tavoy la señal cambiara de acuardo al tipo de señal15:54
gus-tavoVean la documentacion GTK para detalles en una señal dada15:54
gus-tavogreen7 pregunta: hay una diferencia entre packaging y quickly run?15:55
gus-tavosi15:55
chilicuilhephisto: hola, este canal es sobre las sesiones de la semana del desarrollador, https://wiki.ubuntu.com/SemanaDesarrollador, ahora mismo estamos hablando de quickly, una herramienta para crear aplicaciones en python en Ubuntu, para soporte general, usa #ubuntu-es =)15:55
hephistosi estaba mirando eso gracias  esta interesante  y me interesa15:56
gus-tavocuando haces quickly run hace solo quick spot-check15:57
gus-tavocorre todos los archivos desde done estan en el directorio de tu proyecto15:57
gus-tavopero quickly package crea archivo paquete Debian15:58
gus-tavoque puedes instalar en tu sistema si eres root15:58
gus-tavoDigamos que cuando corremos 'quickly package' en nuesto test-project15:59
gus-tavonos dara un archivo como ../test-project_0.1_all.deb15:59
gus-tavosi corremos 'sudo dpkg -i ../test-project_0.1_all.deb' lo instalamos16:00
gus-tavoY lo verás en el Dash16:00
gus-tavoantes de empaquetar seriamente tu app, lo mejor es llenar alguna informacion en el archivo 'setup.py'16:01
gus-tavocomo pagina web y autor16:01
gus-tavoal correr 'quickly license' para especificar la licencia de tu programa16:02
gus-tavoporque toda esa informacion es importante antes de comenzar la distribucion16:03
gus-tavodejenme hablar algo acerca  del empaquetamiento16:03
gus-tavodigamos que pensamos que esta app por defecto es genial16:04
gus-tavoy la queremos distribuir a amigos16:04
gus-tavoprimero, debemos correrla localmente con 'quickly package'16:04
gus-tavoasegurarnos que instala bien16:04
gus-tavopero si queremos distribuirla a una comunidad amplia, deberias asignarle un PPA16:05
chilicuilgus-tavo: acaba de comenzar la segunda sesion, podrias pausar la interpretacion?, si quieres puedo terminar lo que hizo falta16:05
gus-tavook chilicuil,16:06
gus-tavogracias16:06
chilicuilgracias gus-tavo =), van un poco rapido estos chicos16:06
chilicuilvale, para la segunda sesion, tendremos a coolbhavi que nos hablara del equipo consultor de desarrolladores de Ubuntu, o el 'developer advisory team' en ingles16:07
chilicuil== Por que estamos aqui? ==16:08
chilicuilel equipo de consultores, es un conjunto de personas que intentan hacer el desarrollo de ubuntu un poco mas social, con la esperanza de hacer que cada vez mas personas se involucren16:09
SergioMeneseschilicuil, gus-tavo no se desordena mucho el log?16:09
chilicuilesto significa, que nos enfocamos en las personas que recien comienzan, y les ayudamos a introducirse en el mundo de desarrollo de Ubuntu16:09
chilicuilSergioMeneses: lo pondre todo junto, en un pastebin ;)16:09
SergioMeneseschilicuil, aaaa ok jeje good one!16:10
chilicuil== El proceso en general ==16:10
chilicuiltenemos 4 formas lograr esto16:10
chilicuilprimero, contactamos a las personas interesadas por correo (hacemos esto dependiendo de la cantidad de contribuciones que hayan hecho, si vemos que son constantes, nos comunicamos con ellos)16:11
chilicuilNOTA: hay probabilidades de que ya hayas recibido este correo si sueles enviar parches16:11
chilicuildespues de esto, organizamos una entrevista con los candidatos, y les preguntas sobre su experiencia con el proceso16:12
chilicuilen esa misma entrevista, les preguntamos cuales son sus objetivos dentro de la comunidad16:12
chilicuilcuando hemos terminado con el segundo punto, les hacemos sugerncias (no confundir con el proceso de mentores, uno a uno), y seguimos pendientes de sus contribuciones16:13
chilicuilpor ultimo, si sentimos que un candidato ya esta listo, le ayudamos a enviar su aplicacion para entrevistarse con el DBM (el council que aprueba nuevos desarrolladores oficiales)16:14
chilicuilnja: pregunta sobre los privilegios que se ganan cuando se es parte del DMB16:15
chilicuilcoolbhavi responde que no podria contestar esa pregunta porque el no es miembro de ese council16:15
chilicuilNickE pregunta si el objetivo entonces el objetivo del equipo es convertir  desarrolladores casuales, en oficiales?16:16
chilicuilcoolbhavi responde que si, de eso se trata16:16
chilicuilBebopSteve pregunta si entre sus planes esta crear un sitio web con informacion que pueda ayudar a los nuevos desarrolladores16:17
chilicuilcoolbhavi responde que si, y que lo respondera de mejor forma conforme avance la sesion16:17
chilicuilsiguiendo con la charla, seguramente algunos de ustedes se estan preguntando, ok, estoy interesado, donde comienzo?16:18
chilicuila lo que yo responderia, si te interesa convertirte en un desarrollador de Ubuntu, nuestro equipo esta aqui para lograrlo16:19
chilicuil== eso quiere decir que me asignaran un mentor? ==16:20
chilicuildesafortunadamente la respuesta a esa pregunta es "no". Solo damos sugerencias (como ligas de los equipos, o de introduccion al desarrollo), sin embargo si en algun momento tienen algun problema, pueden preguntar en #ubuntu-motu, el canal de los desarrolladores MOTU o preguntar en la lista de correo ubuntu-motu@lists.ubuntu.com16:21
chilicuilFlowRiser pregunta que es lo que pasa, si no es tan buen programador?16:22
chilicuilcoolbhavi responde que no tiene que preocuparse mucho por eso, ya que no todas las personas comienzan siendo excelentes programadores16:22
chilicuil== Entonces, como pueden ayudarme para que me sea mas facil involucrarme en el desarrollo de Ubuntu ? ==16:23
chilicuilempezar es relativamente facil, pueden empezar hechandole un vistazo a http://developer.ubuntu.com/packaging/html/ , y si desean tener algo en que trabajar, pueden consultar la iniciativa de correcion de bugs disponible en https://wiki.ubuntu.com/UbuntuDevelopment/BugFixingInitiative16:24
chilicuilNickE pregunta sobre el significado de la palabra MOTU16:25
chilicuilcoolbhavi responde que son las iniciales del equipo Master Of The Universe (Dueños del universo, en referencia del repositorio -universe)16:25
chilicuily del -multiverse16:26
chilicuilskizobass pregunta si hace falta estar certificado en alguna tecnologia para ser parte de Ubuntu16:26
chilicuilcoolbhavi responde que no, solo se necesita querer ser parte =)16:26
chilicuil== Que clase de personas estamos buscando? ==16:27
chilicuilbuscamos desarrolladores (que apenas se hayan integrado, o que ya tengan tiempo de haberlo hecho) y que no han aplicado para obtener derechos para modificar el archivo (los repositorios), tambien nos interesa saber de aquellas personas que despues de haber colaborado han dejado de hacerlo, nos interesa saber cuales han sido las causas, y si podemos ayudar16:28
chilicuil== He contribuido por X meses, puedo aplicar para convertirme en desarrollador de Ubuntu?, me pueden ayudar? ==16:29
chilicuildefinitivamente :) (aunque como regla, y segun el DMB, el tiempo minimo debe ser mayor a 6 meses de contribuciones continuas). Tambien es buena idea que se pongan en contacto con el desarrollador que ha estado subiendo los cambios por ustedes (sponsor) y que le piden que agregue comentarios en su wiki de aplicacion16:30
chilicuilBebopSteve pregunta, cual es la diferencia entre poder subir, y contribuir?, no se se supone que si contribuyes, es por que puedes subir cosas?16:31
chilicuilcoolbhavi responde que hasta que tengas permisos para modificar el archivo por ti mismo, los cambios que desees enviar tienen que pasar por otro desarrollador previamente aprobado16:32
chilicuilFlowRiser comenta que le gustaria que le aclaran el tema de sponsor (patrocinado), no se supone que hacemos esto gratis?16:33
chilicuilcoolbhavi responde que el proceso en el que otro desarrollador sube cambios por uno que aun no puede hacerlo se llama patrocinio 'sponsoring', y al que lo hace patrocinador 'sponsor'16:35
chilicuilskizobass pregunta si es necesario ser programador de python, o cuales son otras formas contribuir?16:36
chilicuilcoolbhavi responde que no es necesario, pero que especialmente en Ubuntu no es una mala idea16:37
chilicuilFlowRiser pregunta si existe una lista con diferentes actividades organizado por nivel de dificultad (aplicaciones, kernel, modulos, etc)16:38
chilicuilcoolbhavi responde que si, y que si desea verlas, puede leer las paginas de los diferentes equipos (desktop, kernel, etc), o revisar la wiki del equipo MOTU16:39
chilicuilNickE comenta, entonces si envias suficientes contribuciones  ganas la confianza de tu patrocinador hasta que tu mismo te conviertes en uno?16:41
chilicuilcoolbhavi responde que asi es exactamente como funciona, despues de obtener permisos para modificar el archivo, te abras convertido en desarrollador de Ubuntu :)16:41
chilicuilTheLordOfTime pregunta si todos los desarrolladores oficiales automaticamente se convierten en patrocinadores (sponsors)16:42
chilicuilcoolbhavi responde que si, como desarrallores oficiales puede subir sus cambios, o los de otras personas16:43
chilicuil== Bueno esto suena interesante, como puedo ayudar a mejorar la iniciativa? ==16:43
chilicuilsi te ha gustado la idea, y deseas ayudarnos, nos gustaria escuchar tus comentarios16:44
chilicuilpor favor, busquen el reporte de comentarios del ultimo ciclo: http://fridge.ubuntu.com/2012/04/17/developer-advisory-team-report-12-04-feedback-from-new-contributors/16:44
chilicuil== Perfecto!, quienes son los actuales miembros del equipo, y como puedo ponerme en contacto con ellos? ==16:45
chilicuiltodos los miembros pueden verse en toda su gloria aqui: https://launchpad.net/~ubuntu-developer-advisory-team/+mugshots16:45
chilicuilpara cualquier comentario/queja/sugerencia sientanse libres de ponerse en contacto con cualquiera de ellos :)16:46
chilicuilcreo que es todo, como aun queda algo de tiempo pueden hacerme mas preguntas =)16:47
chilicuilNickE pregunta si el trabajo dentro del equipo se divide por areas de especializacion, o si todos pueden ayudar con cualquier cosa?16:48
chilicuilcoolbhavi responde que aunque algunos de los miembros tienen amplios conocimientos, en su conjunto, pueden ayudar a las personas con cualquier cosa que este relacionado con el desarrollo de Ubuntu16:49
chilicuilskizobass pregunta donde puede enviar sus programas si estan hechos en python16:50
chilicuilcoolbhavi: responde que el 'Application review board' es el encargado de revisar ese tipo de cosas y le sugiere que lo envie con ellos16:51
chilicuilmarcosb pregunta si la junta de revision de aplicaciones 'the app review board' se encarga de aprobar todos los programas, o solo para los programas comerciales16:52
chilicuilcoolbhavi responde que el ARB es para las aplicaciones libres, otro equipo se encarga de evaluar los programas comerciales16:53
chilicuilaqui, hago una pausa, alguien desea interpretar la siguiente sesion, sobre corregir bugs en ubuntu que dara Stefano (tumbleweed])?16:54
chilicuilstadtfeld pregunta si solo se le brinda ayuda a las personas que han enviado parches, o si es a todos por igual16:55
chilicuilcoolbhavi responde que a todos16:55
chilicuilalucardni pregunta si puede aplicar para obtener derechos en los repositorios si ha estado enviando parches a Debian16:56
chilicuilcoolbhavi responde que si, pero que depende del impacto que tus modificaciones hayan tenido en ubuntu16:56
chilicuily se puede aplicar para obtener una membresia PPU (per package/por paquete)16:57
chilicuilpueden encontrarlo en facebook a traves de la cuenta facebook.com/bshankar o en google+16:59
chilicuilcon eso termina la sesion de coolbhavi16:59
chilicuilok, si no hay inconvenientes entonces comenzare la interpretacion de la tercera sesion, durante ella, Stefano Rivera nos hara un breve resumen de como trabajar con algunos bugs de Ubuntu, la platica se ha estructurada para ser facil de seguir17:01
chilicuilcomenzare ahora17:02
chilicuilveo que tenemos muchas personas en la sala, pueden regalarma en 'hi' en #ubuntu-classroom-chat?17:02
chilicuiloh si, si se tienen algunos problemas durante la sesion, no olviden entrar a #ubuntu-motu una vez haya finalizado17:03
chilicuilbien, mi nombre es  Stefano Rivera y soy desarrollador de Debian y Ubuntu17:03
chilicuilvivo en sudafrica17:03
chilicuily justo ahora, estoy en el apartamento de un amigo, con mi laptop en la esquina y una conexion 3G, asi que espero no desaparezca repentinamente17:04
chilicuilestoy aqui, para decirles como trabajar con upstream17:05
chilicuilque quiere decir esta palabra?17:05
chilicuilbueno, Ubuntu esta hecho de ~20 000 paquetes de codigo fuente (los que en su conjunto crean mas ~40 000 paquetes binarios - .debs)17:06
chilicuilcomo desarrolladores de Ubuntu, escribimos una parte muy pequeña de todos ellos17:06
chilicuiltodo lo demas, viene de otros proyectos17:06
chilicuily estos proyectos son los que llamamos upstream17:06
chilicuilcada proyecto libera una nueva version de su programa, cuando pasa eso, lo empaquetamos, y despues de algunos cambios hacemos que se integre con Ubuntu, eso es lo que entregamos a nuestros usuarios17:07
chilicuiltambien nos encargamos de filtar muchos de los reportes que originalmente deberian ir para esos proyectos17:08
chilicuily solo reenviamos los validos17:08
chilicuilsuena divertido, no? =)17:08
chilicuiljeje, bueno, he mentido un poco en eso17:08
chilicuilespero que todos sepan para este momento, que Ubuntu se deriva de Debian17:08
chilicuilpues bien, la mayoria de los problemas que encontramos en Ubuntu, tambien afectan a debian17:09
chilicuilasi que debian es un proyecto upstream especialmente importante para Ubuntu17:09
chilicuilenviamos muchos cambios para alla17:09
chilicuilhttps://wiki.ubuntu.com/Debian/ForUbuntuDevelopers17:09
chilicuilun poco mas adelante dare mas detalles sobre como hacer eso17:10
chilicuilpor ahora, hablare de los proyectos upstream en general17:10
chilicuilgeneralmente es buena idea tratar de arreglar los bugs, tan cercanos del proyecto original como sea posible17:10
chilicuilesto se hace, para no duplicar el trabajo, y compartir las mejoras a la mayor cantidad de personas posibles17:11
chilicuilmarcosb pregunto si se le puede explicar lo que significa la nomenclatura de los paquetes, por ejemplo en hello_1.1-1ubuntu1.deb o en hello_1.1-1upstream1.deb17:12
chilicuiltumbleweed responde que si17:12
chilicuiltodos los paquetes .deb tienen nombres del tipo nombrepaquete_version_arquitectura.deb17:12
chilicuilla version es especialmente importante para saber cual es el paquete anterior, y cual el siguiente17:13
chilicuillos paquetes que se hacen en Debian, y en sus derivados tienen otra version que luce como esto 1.0.017:13
chilicuilno hay ningun '-1' al final17:14
chilicuilsi un desarrollador de debian empaqueta la version 1.0.0 de un programa, el paquete tendra la version 1.0.0-117:14
chilicuil-1 significa que es el primer paquete de su clase en Debian17:14
chilicuilsi alguien hace un cambio en ese paquete en Ubuntu, la version sera 1.0.0-1ubuntu117:15
chilicuilsi en Ubuntu se empaqueta la version 1.0.1 del programa antes que en debian, se llama 1.0.1-0ubuntu117:15
chilicuiletc17:15
chilicuilpor supuesto, hay algunas personas que no siguen estas reglas, sin embargo en la mayoria de los casos aplica17:16
chilicuilen fin, estabamos hablando de porque es buena idea colaborar con los proyectos upstream17:16
chilicuily esta es la razon, si enviamos un parche a los desarrolladores originales, y ellos liberan una nueva version con nuestra mejora, se benefician todos17:17
chilicuillos usuarios de otras distribuciones (no solo de ubuntu), los de otras plataformas com wygwin o macports, o las personas que lo descargan desde el sitio oficial17:17
chilicuilademas de eso, los programadores del proyecto original, pueden darte buenas sugerencias para mejorar tus programas/parches17:18
chilicuilnadie su codigo, como ellos17:18
chilicuilespero que ya tengamos claro porque es buena idea, trabajar con los proyectos upstream17:19
chilicuilcomo pueden encontrar un bug para comenzar a trabajar?17:19
chilicuilbueno, hemos puesto una buena cantidad en https://wiki.ubuntu.com/UbuntuDevelopment/BugFixingInitiative17:19
chilicuillos primeros son unicamente para Ubuntu, estos no requeriran ningun esfuerzo extra17:20
chilicuilasi que es una buena idea comenzar por ellos17:20
chilicuildespues de esos, estan otros ejemplos que no solo afectan Ubuntu, y los parches que se hagan para ellos tendran que reenviarse a los proyectos originales17:21
chilicuil(que es de lo que realmente hablaremos hoy)17:21
chilicuilotra buena estrategia para comenzar a involucrarte es tomar algun paquete que te interese, y que no este bien mantenido17:22
chilicuilalgun proyecto con algunos bugs abiertos de los cuales nadie se haya hecho cargo17:22
chilicuilpuede ser que incluso algunos de ellos, solo se corrigan en nuestra distro, algunos desarrolladores de Ubuntu pueden ser flojos :)17:23
chilicuilexisten *muchos* programas como estos en los repositorios17:23
chilicuilen Debian, cada paquete tienen un mantenedor explicito asociado que debe velar por el programa17:24
chilicuilpero en Ubuntu, muchos de esos paquetes no son vigilados por nadie17:24
chilicuilhay una lista de algunos de ellos en http://qa.ubuntuwire.org/neglected/17:25
chilicuilAmberJ_ pregunta, en un comentario anterior alguien dijo que si se modifica un paquete en Ubuntu, la version seria 1.0.0-1ubuntu1, que pasa si nadie lo modifica?17:25
chilicuiltumbleweed responde que entonces se mantiene la misma version que en Debian17:26
chilicuilcomo he dicho anteriormente, la mayoria de los paquetes en los repositorios son versiones sin modificar de Debian17:26
chilicuilen Ubuntu existe sin embargo, una forma ligeramente diferente de compilar algunos programas17:27
chilicuilpero a la mayoria de los programas, no se les hacen modificaciones17:27
chilicuilsiguiendo con la sesion, como soluciono el bug?17:27
chilicuilbueno, esa una pregunta un tanto dificil de contestar, y depende en gran parte de la clase de bug con el que estemos tratando17:28
chilicuiltodo lo que puedo decir, es como meter sus manos en el codigo fuente, y que hacer una vez que este arreglado17:28
chilicuildholbach cubrio la primera parte de ese proceso ayer17:29
chilicuilde todas formas, dejenmen recordarselo17:29
chilicuilse debe instalar el paquete packaging-dev17:29
chilicuileso les dara muchas herramientas necesarias17:29
chilicuildeben descargar el codigo fuente de la aplicacion con el problema, esto lo pueden hacer con: $ pull-lp-source PAQUETE17:30
chilicuilmarcosb pregunta si aprendera a hacer parches en esta sesion17:30
chilicuiltumbleweed responde que si, y agrega que eso suena como algo interesante17:30
chilicuilsiguiendo con la charla.., hay 2 formas de en Ubuntu de descargar el codigo fuente, la forma tradicional, usando las herramientas de Debian, y con bzr17:31
chilicuildurante esta sesion les hablare principalmente de la forma clasica, porque aun sigue siendo mas popular, y encuentro que es mas rapido de esa forma17:32
chilicuilasi que, si han descargado y extraido el codigo fuente con pull-lp-source17:32
chilicuilpodrian agregar su solucion facilmente17:32
chilicuiluna vez llegados a este punto, podrian tener que hacer varias cosas, gracias a las diferentes formas en las que se empaquetan los programas17:33
chilicuilpodrian correr "what-patch" para que clase de parches usa el paquete17:33
chilicuilpongamos como ejemplo, que se esta usando quilt, este es el formato mas comun actualmente, espero que dentro de poco sea el unico que quede17:34
chilicuilsi es asi, podran correr: $ quilt new NOMBREDEMIPARCHE17:34
chilicuildespues: $ quilt edit ARCHIVO17:34
chilicuily para finalizar $ quilt refresh, lo que creara el parche17:35
chilicuilpueden encontrar el resultado en debian/patches17:35
chilicuilla mayoria de las veces, cuando trabajen con paquetes en debian, esta es la forma en la que se generaran17:35
chilicuileste parche es el que puedes enviar a upstream17:36
chilicuilcomo puedes encontrarlos?17:36
chilicuilbueno, empecemos por Debian17:36
chilicuilpueden ver informacion detallada sobre cada programa en http://packages.qa.debian.org/17:36
chilicuilhttp://packages.qa.debian.org/$PAQUETE17:37
chilicuilasi que por ejemplo, para el paquete 'hello', pueden ir a http://packages.qa.debian.org/hello17:37
chilicuilojo, que estoy hablando de paquetes de codigo, y no de paquetes binarios17:37
chilicuilcomo desarrolladores, la mayor parte del tiempo estaremos trabajando con paquetes de codigo17:38
chilicuillos binarios (.deb) solo se crean cuando el programa este listo17:38
chilicuilen packages.qa.debian.org (tambien conocida como el PTS) encontraran una ista de bugs17:39
chilicuilen la esquina superior derecha pueden ver los bugs de cada paquete, en la izquierda quien esl mantenedor17:39
chilicuily en el centro el historial de versiones17:39
chilicuilbien, revisando en el historial, encontramos que solo tiene 117:40
chilicuilque pasa si encontramos el bug que estabamos buscando, bueno, pues vamos a el y hecharemos un vistazo para ver cual es el progreso que se ha hecho17:41
chilicuiltal vez hasta haya un parche, o tal vez se haya enviado el parche al proyecto original17:41
chilicuilpodemos ver que el bug aqui (bugs.debian.org/621716) ha sido reenviado al proyecto original17:42
chilicuildesafortunadamente no tenemos un link porque ha sido enviado a un correo17:42
chilicuilalgunos proyectos no tienen un sistema de control de bugs (bugtracker) y por lo tanto lo unico que modemos decir es: "se lo enviamos al correo"17:43
chilicuilmarcosb pregunta si existe otro mecanismo para crear parches ademas de quilt17:43
chilicuiltumbleweed responde que lamentablmente si, existen otros dos, dpatch y cdbs-simple-patch (aunque ambos se usan cada vez menos)17:43
chilicuily algunos paquetes no tienen ningun sistema para manejar los parches17:44
chilicuileso significa que todos los cambios que se han hecho, tanto en Ubuntu como en Debian estan mezclados en un solo y enorme diff17:44
chilicuilesta forma es la mas facil para modificar paquetes, pero es dificil entender los cambios que se estan haciendo17:45
chilicuilcalmi pregunto si existe un sistema para evitar bugs duplicados17:46
chilicuiltumbleweed responde que si, que antes de enviar un nuevo reporte busques si ya existe y agrega que launchpad es realmente bueno haciendo esto17:46
chilicuiluna vez que introduces un titulo, hace una busqueda de bugs similares17:47
chilicuilen debian, la herramienta estandard, $ reportbug, tambien muestra una lista de bugs parecidos antes de poder enviar el tuyo17:47
chilicuilmarcosb pregunta si se le puede indicar como crear paquetes con dpatch y dbs-simple-patch?17:48
chilicuiltumbleweed dice que desafortunadamente no los cubrira por el momento, y que los paquetes que los utilizan son tan raros que no deberia preocuparse por ellos17:48
chilicuilhablemos unicamente de los paquetes que no tienen ningun sistema de parches17:49
chilicuilla forma mas simple de obtener un parche de estos es hacer tus cambios, agregar una nueva entrada en el archivo /debian/changelog (con dch) y compilar el paquete17:49
chilicuildespues se puede usar "debdiff" para crear el parche, por ejemplo $ debdiff foobar_0.1-1.dsc foobar_0.1-1ubuntu1.dsc17:50
chilicuilen fin, regresemos a lo estaba diciendo antes17:51
chilicuilsi ya buscamos en el tracker de debian, y no encontramos el bug en el que estamos trabajando17:51
chilicuilnos podemos preguntar, el bug en el que trabajamos se genero en Debian?17:51
chilicuilsi es asi, sera mejor que hagamos el reporte nosotros mismos17:51
chilicuilalgunas veces, si el problema esta en upstream, podemos trabajar en una solucion temporal para Debian/Ubuntu mientras los cambios se aplican en el proyecto original17:52
chilicuilo si es un problema muy serio, podemos crear un parche para la version estable de las versiones en Ubuntu/Debian17:52
chilicuilsi no encontramos razones para reenviarlos a Debian, podemos solo reenviarlos a upstream (en caso de que aplique)17:53
chilicuilpodemos encontrar sus paginas de varias formas, la mayoria de los proyectos tienen una pagina oficial, podemos buscar esa pagina en el archivo /debian/control17:53
chilicuiltambien la podemos encontrar en el PTS, para el paquete hello, http://packages.qa.debian.org/hello es http://www.gnu.org/software/hello/17:54
chilicuila su vez, esa pagina nos dice que el bugtracker se encuentra en savannah http://savannah.gnu.org/projects/hello/17:54
chilicuilasi que eventualmente llegaremos al bugtracker de upstream17:55
chilicuilahora podemos crear un reporte en su sistema (claro, primero debemos fijarnos si no ha sido reportado o solucionado con anterioridad)17:55
chilicuily anexarles el parche que hemos creado, \o/, si es asi lo habremos logrado =)17:56
chilicuilmuchos proyectos no estan interesados en las versiones de sus programas que estan en las distribuciones de linux, pues las pueden considerar demasiado antiguas17:56
chilicuilasi que lo mejor que pueden hacer es ver, si la version mas nueva de ese programa, aun tiene ese problema17:57
chilicuilcomo investigar eso, dependera de cada proyecto17:57
chilicuillo que yo suelo hacer, es intentar reproducir el error en mi computadora17:57
chilicuilde esta manera puedeo saber, si se ha arreglado o no17:58
chilicuily me puedo poner en el mismo lugar que la persona que lo reporto en primer lugar17:58
chilicuiltambien ayuda a redactar un buen reporte a upstream17:58
chilicuiljsjgruber-x-p_ pregunto que es lo que pasa si los desarrolladores de upstream no te contestan17:59
chilicuiltumbleweed responde que se puede solucionar en Debian/Ubuntu17:59
chilicuilahora hablare un poco del sistema de reportes de bugs, el BTS que esta en bugs.debian.org17:59
chilicuilcuando lo usen, hay links en cada paquete que los llevara a diferentes secciones, bugs.debian.org/PAQUETE, bugs.debian.org/NUMEROBUG18:00
chilicuilnotaran que no hay forma de agregar comentario, o llenar otros bugs18:00
chilicuilesto es porque todo el sistema esta controlado via email18:00
chilicuiltal vez crean que eso es arcaico, pero hasta el momento ha funcionado bien18:01
chilicuilben72 pregunto que pasa cuando el parche es muy pequeño, vale la pena agregarlo como comentario?18:01
chilicuiltumbleweed responde que si, y que de hecho asi es como muchas veces se envian los parches18:01
chilicuilalgunas veces el problema es tan facil de solucionar que podria bastar con describir el proceso18:02
chilicuilpor el contrario, si es muy grande, tal vez prefieran dividirlo en varios parches18:02
chilicuilmarcosb pregunta si despues de agregar la entrada en changelog y el parche con quilt, se debe generar el paquete con debuild -us -uc y ejecutar despues debdiff?18:03
chilicuiltumbleweed: responde que primero debe ejecutarse $ debuild -uc -us -S18:03
chilicuily luego $ debdiff18:04
chilicuilagrega que la -S provoca que unicamente se construya el paquete del codigo fuente, y no el binario18:04
chilicuilpor lo que es mucho *mas* rapido18:04
chilicuily con eso termina la sesion18:04
chilicuilcon eso termino mi participacion el dia de hoy, si alguien mas desea ser voluntario para interpretar algunas de las sesiones de mañana, es bienvenido =) https://wiki.ubuntu.com/SemanaDesarrollador que pasen un excelente dia, los logs estan disponibles desde esa misma pagina o desde http://irclogs.ubuntu.com/2012/08/29/%23ubuntu-classroom-es.html#t15:0118:08
Alexanderhola19:00
=== Alexander is now known as Guest11820
Guest11820hola19:00
Guest11820hola19:00
Guest11820como estas?19:00
Guest11820como estan?19:00
Guest11820hola19:06
chilicuilhola Guest11820 , bienvenido, las interpretaciones terminaron hace rato, puedes ver los logs de ayer en https:///wiki.ubuntu.com/SemanaDesarrollador o en la pagina en Ingles https://wiki.ubuntu.com/UbuntuDeveloperWeek19:18
chilicuildentro de unas hrs se subiran los logs de las charlas de hoy a la wiki, si quieres verlas ahora mismo puedes buscarlas aqui http://irclogs.ubuntu.com/2012/08/29/%23ubuntu-classroom-es.html#t15:0119:19
chilicuilmañana sera el ultimo del evento, comienza a las 15:00 UTC19:20
=== ChanServ changed the topic of #ubuntu-classroom-es to: Bienvenido a las interpretaciones de la semana del desarrollador, puedes ver los logs en https:///wiki.ubuntu.com/SemanaDesarrollador, la proxima sesion sera el dia 30 de Agosto a las 15:00 UTC

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!