12
I Use This!
Inactive

News

Analyzed 1 day ago. based on code collected 2 days ago.
Posted about 8 years ago by Jsfrncscg
← Revisión anterior Revisión de 15:15 16 feb 2016 Línea 31: Línea 31: = Procedimiento = = Procedimiento = -1. Obtener el código fuente de un paquete, por ejemplo: ... [More] [http://gitlab.canaima.softwarelibre.gob.ve/canaima-cnti/canaima-cinnamon canaima-cinnamon], ya sea descargando su código fuente usando apt-get+==== 1. Obtener el código fuente de un paquete ====  +   +Por ejemplo, se desea realizar una modificación u aporte para el paquete [http://gitlab.canaima.softwarelibre.gob.ve/canaima-cnti/canaima-cinnamon canaima-cinnamon], ya sea descargando su código fuente usando apt-get <pre>$ apt-get source canaima-cinnamon </pre> <pre>$ apt-get source canaima-cinnamon </pre> Línea 37: Línea 39: o clonandolo desde su respectivo repositorio git o clonandolo desde su respectivo repositorio git -<pre>$ git clone </pre>+<pre>$ git clone http://gitlab.canaima.softwarelibre.gob.ve/canaima-cnti/canaima-cinnamon</pre> -2. Se realizan las modificaciones deseadas. El procedimiento estándar es similar a:+==== 2. Se realizan las modificaciones deseadas ====  +   +El procedimiento estándar es similar a: * Modificar las fuentes * Modificar las fuentes * Agregar los cambios en git <pre>$ git add . </pre> * Agregar los cambios en git <pre>$ git add . </pre> -* Hacer commit de los cambios <pre>$ git commit </pre>+* Hacer commit de los cambios <pre>$ git commit -m "<descripcion-de-los-cambios-realizados>" </pre> -3. Se actualiza el changelog del paquete+==== 3. Construir el paquete binario ====  +   +Existen varias alternativas para construir los paquetes binarios, dependiendo de las necesidades o el contexto en el que estemos realizando el empaquetamiento. A continuación se muestran 2 formas igualmente validas para construirlos  +   +===== 3.1 Dejando que git-buildpackage cree las fuentes (recomendado) =====  +   +Se actualiza el changelog del paquete, indicando el numero de versión correspondiente <pre> $ gbp dch --new-version="X.Y" --release --auto --id-length=7 --full --commit --git-author </pre> <pre> $ gbp dch --new-version="X.Y" --release --auto --id-length=7 --full --commit --git-author </pre> -4. Construir el paquete+Y se construye el o los paquetes usando el siguiente comando <pre>$ gbp buildpackage --git-pbuilder --git-dist=jessie --git-arch=amd64 --git-upstream-tree=master -us -uc </pre> <pre>$ gbp buildpackage --git-pbuilder --git-dist=jessie --git-arch=amd64 --git-upstream-tree=master -us -uc </pre> -* La opcion --git-upstream-tree permite indicar la rama a partir de la cual se construira la fuente+* La opción '''--git-upstream-tree''' permite indicar la rama a partir de la cual se construirá la fuente automáticamente -* Las opciones -us -uc indican que se salta el paso de firma del paquete usando una llave GPG previamente configurada [https://raphaelhertzog.com/2010/12/15/howto-to-rebuild-debian-packages/]+ -= Operaciones Comunes =+===== 3.2 Construyendo las fuentes "a mano" =====  +   +Antes de realizar el empaquetamiento se exportaran las siguientes variables de entorno que serán usadas mas adelante  +   +* PKGNAME: Nombre del paquete tal como aparece en el archivo changelog  +* VERSION: Versión del paquete tal como aparece en el archivo changelog  +* ORIGVER: Versión original del paquete tal como viene de la fuente (upstream)  +   +<pre>  +$ export PKGNAME=$(dpkg-parsechangelog | grep-dctrl -esSource . | awk -F' ' '{print $2}')  +$ export VERSION=$(dpkg-parsechangelog | grep-dctrl -esVersion . | awk -F' ' '{print $2}')  +$ export ORIGVER=$(echo $VERSION | sed 's/-.*//g')  +</pre>  +   +Seguidamente se actualiza la versión del changelog con el siguiente comando:  +   +<pre>  +gbp dch --new-version="$VERSION" --release --auto --id-length=7 --full --commit --git-author  +</pre>  +   +Se crea el paquete fuente con:  +   +<pre>  +tar --anchored --exclude-vcs --exclude "./debian" -cvzf ../$(echo $PKGNAME"_"$ORIGVER).orig.tar.gz --directory=$(pwd) ./  +</pre>  +   +Y por ultimo se construye el o los paquetes binarios, si se dispone de una llave GPG correctamente configurada en el directorio del usuario:  +   +<pre> git buildpackage -kE78DAA2E -tc --git-tag --git-retag </pre>  +   +en caso contrario:  +   +<pre> git buildpackage -us -uc -tc --git-tag --git-retag </pre>  +   +* La opción '''--git-retag''' evita los fallos al agregar una [https://git-scm.com/book/es/v1/Fundamentos-de-Git-Creando-etiquetas '''etiqueta'''] si ya existe una con la misma versión  +* En ambas alternativas, las opciones [https://raphaelhertzog.com/2010/12/15/howto-to-rebuild-debian-packages/ '''-us -uc'''] indican que se salta el paso de firma del paquete con la llave GPG  +   +   += Breve receta para versionar usando parches =  +   +==== 1. Exportar variables de entorno ====  +   +<pre>$ export QUILT_PATCHES="debian/patches" </pre>  +   +==== 2. Quitar parches ====  +   +<pre>$ rm -rf .pc/ </pre>  +   +==== 3. Cambiar nombre del paquete en el changelog ====  +   +<pre>$ gbp dch -N <nuevo-nombre-paquete> --auto --release --git-author --id-length=7 --commit </pre>  +   +==== 4. Crear el paquete fuente (orig.tar.gz) ====  +   +<pre>$ tar --anchored --exclude="debian" -czf <ubicacion-donde-se-exporta-el-fuente> <ubicacion-del-contenido-de-la fuente> </pre>  +   +==== 5. Construir el paquete ====  +   +<pre>$ gbp -tc -us -uc --git-tag </pre>  +   +ó  +   +<pre>$ gbp -tc -us -uc --git-tag --git-retag -j5 </pre>  +   +para usar más poder de procesamiento durante la construcción  +   += Otras operaciones Comunes = ==== Modificar el nombre del autor del ultimo commit ==== ==== Modificar el nombre del autor del ultimo commit ==== Línea 72: Línea 147: ==== Borrar todo lo que no este versionado antes del ultimo commit ==== ==== Borrar todo lo que no este versionado antes del ultimo commit ==== -<pre> $git clean -fd </pre>+<pre> $ git clean -fd </pre>  +   += Como crear un proyecto y subirlo al repositorio de Canaima =  +   +(Por hacer) [Less]
Posted about 8 years ago by Jsfrncscg
Operaciones Comunes: ← Revisión anterior Revisión de 18:07 15 feb 2016 (11 ediciones intermedias no se muestran.)Línea 1: Línea 1: = Preparación = = Preparación = -Para empaquetar software para Canaima u ... [More] otras distribuciones derivadas de Debian es necesario instalar un conjunto de aplicaciones y librerías en el sistema donde se realizara el empaquetamiento. El sistema recomendado es '''git-buildpackage''', que es un conjunto de herramientas y ayudantes destinado a asistir al desarrollador/mantenedor en el proceso de empaquetamiento.+Para empaquetar software para Canaima u otras distribuciones derivadas de Debian es necesario instalar varias aplicaciones y librerías en el sistema donde se realizara el empaquetamiento. El sistema recomendado es '''git-buildpackage''', que es un conjunto de herramientas y ayudantes destinado a asistir al desarrollador/mantenedor en el proceso de empaquetamiento. == Instalar paquetes mínimos necesarios == == Instalar paquetes mínimos necesarios == Línea 7: Línea 7: Para instalar '''git-buildpackage''' simplemente colocamos el siguiente comando en un terminal (se necesitan permisos de administrador): Para instalar '''git-buildpackage''' simplemente colocamos el siguiente comando en un terminal (se necesitan permisos de administrador): -<pre>apt install git-buildpackage+<pre># apt install git-buildpackage </pre> </pre> == Configurar Git == == Configurar Git == -A continuación es necesario para indicarle al sistema de control de versiones git el '''nombre''' y '''correo electrónico''' del mantenedor/responsable. Esta información sera utilizada para identificar, de manera organizada, cada cambio que se realice en el código fuente de un proyecto.+A continuación es necesario indicarle al sistema de control de versiones git el '''nombre''' y '''correo electrónico''' del mantenedor/responsable. Esta información sera utilizada para identificar, de manera organizada, cada cambio que se realice en el código fuente de un proyecto. Con el siguiente comando se configura el nombre del usuario que aparecerá como responsable de los cambios realizados al versionar el proyecto: Con el siguiente comando se configura el nombre del usuario que aparecerá como responsable de los cambios realizados al versionar el proyecto: Línea 61: Línea 61: <pre># la opcion --git-upstream-tree permite indicar la rama a partir de la cual se construira la fuente <pre># la opcion --git-upstream-tree permite indicar la rama a partir de la cual se construira la fuente gbp buildpackage --git-pbuilder --git-dist=jessie --git-arch=amd64 --git-upstream-tree=master -us -uc gbp buildpackage --git-pbuilder --git-dist=jessie --git-arch=amd64 --git-upstream-tree=master -us -uc  +</pre>  +  +  += Operaciones Comunes =  +  +==== Modificar el nombre del autor del ultimo commit ====  +  +<pre>  +git commit --amend --reset-author  +</pre>  +  +==== Cambiar el nombre de paquete el en changelog ====  +  +<pre>  +git dch -N <nombre-del-paquete> --release --auto --id-length=7 --full --git-author  +</pre>  +  +==== Actualizar versión del changelog ====  +  +<pre>  +git dch -N <numero-de-version> --auto --release --id-length=7 --full --commit --git-author  +</pre>  +  +=== Borrar todo lo que no este versionado antes del ultimo commit ===  +  +<pre>  +git clean -fd </pre> </pre> [Less]
Posted about 8 years ago by Jsfrncscg
Ciclos de Desarrollo: ← Revisión anterior Revisión de 17:27 15 feb 2016 Línea 7: Línea 7: * [[Canaima 5]] * [[Canaima 5]] * [[Hoja de ruta para Canaima 5]] * [[Hoja de ruta para Canaima 5]] -* [[Receta de ... [More] Empaquetamiento (en Construccion)]]+* [[Receta de Empaquetamiento]] = Fichas de los Proyecto de Canaima GNU/Linux = = Fichas de los Proyecto de Canaima GNU/Linux = [Less]
Posted about 8 years ago by Jsfrncscg
Receta de Empaquetamiento (En construccion) trasladada a Receta de Empaquetamiento
Posted about 8 years ago by Jsfrncscg
Ciclos de Desarrollo: ← Revisión anterior Revisión de 17:26 15 feb 2016 Línea 7: Línea 7: * [[Canaima 5]] * [[Canaima 5]] * [[Hoja de ruta para Canaima 5]] * [[Hoja de ruta para Canaima 5]] -* [[Receta de ... [More] Empaquetamiento (En construccion)]]+* [[Receta de Empaquetamiento (en Construccion)]] = Fichas de los Proyecto de Canaima GNU/Linux = = Fichas de los Proyecto de Canaima GNU/Linux = [Less]
Posted about 8 years ago by Jsfrncscg
Configurar Git: ← Revisión anterior Revisión de 17:18 15 feb 2016 Línea 1: Línea 1: = Preparación = = Preparación =  +  +Para empaquetar software para Canaima u otras distribuciones derivadas de Debian es ... [More] necesario instalar un conjunto de aplicaciones y librerías en el sistema donde se realizara el empaquetamiento. El sistema recomendado es '''git-buildpackage''', que es un conjunto de herramientas y ayudantes destinado a asistir al desarrollador/mantenedor en el proceso de empaquetamiento.  +  +== Instalar paquetes mínimos necesarios ==  +  +Para instalar '''git-buildpackage''' simplemente colocamos el siguiente comando en un terminal (se necesitan permisos de administrador):  +  +<pre>apt install git-buildpackage  +</pre> == Configurar Git == == Configurar Git == -<pre># Configura el nombre del usuario en git+A continuación es necesario para indicarle al sistema de control de versiones git el '''nombre''' y '''correo electrónico''' del mantenedor/responsable. Esta información sera utilizada para identificar, de manera organizada, cada cambio que se realice en el código fuente de un proyecto. -git config --global user.name "<nombre usuario>"+  -# Configura el correo del usuario en git+Con el siguiente comando se configura el nombre del usuario que aparecerá como responsable de los cambios realizados al versionar el proyecto: -git config --global user.email <correo usuario>+   +<pre>  +git config --global user.name "<nombre-usuario>"  +</pre>  +   +Similarmente para configurar el correo usamos el siguiente comando:  +   +<pre>  +git config --global user.email <correo-usuario> </pre> </pre> [Less]
Posted about 8 years ago by Jsfrncscg
Ciclos de Desarrollo: ← Revisión anterior Revisión de 19:13 12 feb 2016 Línea 8: Línea 8: * [[Hoja de ruta para Canaima 5]] * [[Hoja de ruta para Canaima 5]] * [[Receta de Empaquetamiento (En construccion)]] ... [More] * [[Receta de Empaquetamiento (En construccion)]] -* [[Lineas de trabajo de Canaima 5]]  = Fichas de los Proyecto de Canaima GNU/Linux = = Fichas de los Proyecto de Canaima GNU/Linux = [Less]
Posted about 8 years ago by Jsfrncscg
Ciclos de Desarrollo: ← Revisión anterior Revisión de 19:13 12 feb 2016 Línea 8: Línea 8: * [[Hoja de ruta para Canaima 5]] * [[Hoja de ruta para Canaima 5]] * [[Receta de Empaquetamiento (En construccion)]] ... [More] * [[Receta de Empaquetamiento (En construccion)]] -* [[Lineas de trabajo de Canaima 5]]  = Fichas de los Proyecto de Canaima GNU/Linux = = Fichas de los Proyecto de Canaima GNU/Linux = [Less]
Posted about 8 years ago by Jsfrncscg
Enlaces de interés: ← Revisión anterior Revisión de 18:55 12 feb 2016 Línea 1: Línea 1: -= Inicio =+= ¿Que es Docker? = -* [[Introcucción a Docker]]+  -* [[Nuevo articulo]]+Docker es una capa de abstracción ... [More] sobre [https://linuxcontainers.org/ Linux Containers], que es fácil de usar para los desarrolladores. Docker facilita el uso de contenedores sin necesidad de adentrarse en los detalles ni conocer en profundidad esta tecnología, por lo cual es considerada como la mejor aproximación para manejar contenedores en linux.  +   +== Linux Containers ==  +   +Los contenedores pueden definirse como maquinas virtuales ligeras que cuentan con su propia interfaz de red, espacio para ejecutar procesos aislados del huésped, no necesitan emular dispositivos. A pesar de que los procesos se ejecutan de forma aislada estos se ejecutan directamente en el host. El rendimiento en términos de CPU, memoria y red es casi nativo. Los contenedores inician casi al instante.  +   +La filosofía de docker exige que los archivos de configuración, dependencias y todo lo que se necesita para que una aplicación/servicio funcione, se encuentre dentro del contenedor. El mecanismo de conexión con el exterior son los puertos y la interfaz que provee el mismo docker.  +   +Un beneficio de este planteamiento es que las aplicaciones tienen un alto nivel de portabilidad. Se presume que la propuesta de servicios orientada hacia la portabilidad terminara imponiéndose tarde o temprano.  +   +El problema que pretende solucionar docker es el despliegue de servicios y aplicaciones en múltiples y distintas plataformas de software y hardware, que sirven para distintos propósitos. La solución propuesta consiste en proveer un mecanismo de encapsulamiento ubicuo, para los distintos tipos de servicios/aplicaciones que se desean desplegar y que sea docker el encargado de los detalles de implementación en las distintas plataformas objetivo.  +   += Ventajas =  +   +* Aplicaciones auto contenidas, la aplicación tiene todo lo que necesita en un sistema de archivos exclusivo para ella  +* Los contenedores comparten el mismo núcleo del sistema huésped  +   += Herramientas potencialmente útiles =  +   +* [https://github.com/progrium/embassy Embassy]  +* [https://github.com/progrium/ambassadord Ambassadord]  +* [https://github.com/progrium/registrator Registrator]  +* [https://github.com/signalfuse/maestro-ng MaestroNG]  +* [https://github.com/mailgun/shipper Shipper]  +   += Enlaces de interés =  +   +* [http://www.centurylinklabs.com/what-is-docker-and-when-to-use-it/ Introduccion a docker]  +* [http://www.projectatomic.io/docs/filesystems/ Sistemas de archivos soportados por docker]  +* [http://www.projectatomic.io/docs/filesystems/ Manejo de data con contenedores 1]  +* [http://docs.docker.com/userguide/dockervolumes/ Manejo de data con contenedores 2]  +* [http://www.offermann.us/2013/12/tiny-docker-pieces-loosely-joined.html Manejo de data con contenedores 3]  +* [http://stackoverflow.com/questions/18496940/how-to-deal-with-persistent-storage-e-g-databases-in-docker Manejo de data con contenedores 4]  +* [https://www.digitalocean.com/community/tutorials/docker-explained-using-dockerfiles-to-automate-building-of-images Automatizacion con dockerfiles]  +* [http://www.centurylinklabs.com/deploying-multi-server-docker-apps-with-ambassadors/?hvid=XxIzL Multiserver dockers with ambassadors]  +* [http://txt.fliglio.com/2013/11/creating-a-mysql-docker-container/ Creando un contenedor de mysql]  +* [http://stackoverflow.com/questions/16047306/how-is-docker-io-different-from-a-normal-virtual-machine Diferencias entre docker y una maquina virtual]  +* [http://blog.dotcloud.com/under-the-hood-linux-kernels-on-dotcloud-part Kernel namespaces]  +* [http://www.alexhudson.com/2013/05/28/a-first-look-at-docker-io/ Un vistazo a docker]  +* [https://blog.appfog.com/docker-and-the-future-of-the-paas-layer/ Docker y el futuro de PaaS]  +* [http://events.linuxfoundation.org/sites/events/files/slides/lcna13_petazzoni.pdf Presentación docker]  +* [http://www.centurylinklabs.com/the-future-of-docker/?hvid=3hLgNz El futuro de docker]  +* [http://es.slideshare.net/MaximePetazzoni/docker-and-maestro-for-fun-development-and-profit Presentación sobre Docker y Maestro]  +* [http://amattn.com/p/installing_maria_db_mysql_with_docker.html Montar volumenes solo para data 1]  +* [http://stackoverflow.com/questions/18496940/how-to-deal-with-persistent-storage-e-g-databases-in-docker Montar volumenes solo para data 2]  +* [http://www.tech-d.net/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/ Montar volumenes solo para data 3] [Less]
Posted about 8 years ago by Jsfrncscg
← Revisión anterior Revisión de 20:45 10 feb 2016 Línea 1: Línea 1: = Inicio = = Inicio = -* [[Introcucción a Docker]]+* [[Introducción a Docker]] * [[Nuevo articulo]] * [[Nuevo articulo]]