¿Cómo desarrollar para Canaima GNU/Linux?

download ¿Cómo desarrollar para Canaima GNU/Linux?

If you can't read please download the document

description

Presentación que contiene fundamentos básicos del desarrollo en Canaima GNU/Linux

Transcript of ¿Cómo desarrollar para Canaima GNU/Linux?

  • 1. Cmo desarrollar para Canaima GNU/Linux? Luis Alejandro Martnez Faneyth Desarrollador Canaima

2.

  • Como se construye Canaima?

3. Diagrama estructural de Canaima 4. Fundamentos de apt-pinning 5. Qu es un paquete? 6. Tipos de paquetes

    • Paquete binario
  • 7. Paquete fuente

Mundo del Desarrollador + Mundo del Mantenedor 8. Los archivos Makefile y debian/rules 9. Proceso de construccin de un paquete 10. Herramientas para construir paquetes 11. Versionamiento git en la construccin de paquetes 12. dpkg-diverts y update-alternatives 13. Automatizacin del empaquetamiento con Canaima Desarrollador 14. Creacin de parches con quilt 15. Creacin de un repositorio local de paquetes binarios 16. Qu es un sabor Canaima? 17. Estructura de un sabor 18. Construyendo sabores con Canaima Semilla AGENDA 19. Cmo se construye? Canaima es una Meta-distribucin GNU/Linux basada en Debian. Est compuesta por paquetes que proporcionan los elementos esenciales para construir un sistema operativo, adems de un gran nmero de libreras y aplicaciones de usuario. Permite la creacin de distribuciones derivadas o sabores, manteniendo una base comn entre los mismos. 20. 21. 22. 23. Fundamentos de apt-pinning Permite establecer prioridades entre un grupo de paquetes y otro. En el caso especfico de Canaima Popular, permite la coexistencia de la capa Debian y la capa Canaima sin reemplazos o actualizaciones rotas. Se fundamenta en la edicin del archivo /etc/apt/preferences. 24. Ejemplo de apt-pinning cat /etc/apt/preferences Package: * Pin: release o=Canaima Pin-Priority: 900 Package: * Pin: release o=Debian Pin-Priority: 100 25. Qu es un paquete? Un paquete es una pieza de software diseada para instalar y/o desinstalar otra pieza (o conjunto de piezas) contenidas dentro de el. Posee una estructura definida por la distribucin GNU/Linux que los distribuye, adems de herramientas e instrucciones para su construccin. 26. Tipos de Paquetes Los paquetes que terminan instalados en las computadoras de los usuarios son los llamados Paquetes Binarios, los cualesson construidos a partir de otros paquetes que contienen el cdigo fuente, los llamados Paquetes Fuente. 27. Paquete Fuente / Binario Ejemplo: canaima-base 28. 29. Proceso de Construccin 30. 31. Qu es un sabor?

  • Distribucin GNU/Linux basada en otra distribucin. Comparte un nmero establecido de paquetes (base). Se identifica filosficamente con su distribucin padre.

32. Por qu hacer un sabor?

  • Control

33. Mejoras 34. Especializacin 35. Tiempo 36. Ejemplos de Sabores

  • Canaima Primera Base

37. Canaima Popular 38. Canaima CANTV 39. Canaima CNTI 40. Canaima Colibr 41. Canaima Forense 42. Canaima Comunal 43. Canaima Universitario 44. Estructura de un sabor

  • Ejemplo: Canaima Popular
  • Basada en Debian Squeeze.

45. Utiliza el escritorio Gnome. 46. Suite ofimtica Libreoffice. 47. Navegador Cunaguaro, Cliente Correo Gucharo. 48. Gestor de Arranque BURG. 49. Consta de 263 paquetes propios (instalados). 50. Reutiliza 1213 paquetes de debian. 51. 52. Y cmo consigo los paquetes?

  • Definir cules van a ser las aplicaciones a incluir en el sabor.

53. Determinar los repositorios externos necesarios. 54. Determinar si es necesario empaquetar aplicaciones. 55. Determinar los metapaquetes que se utilizarn para organizar temticamente las aplicaciones. 56. Canaima Desarrollador

  • Asistente de empaquetamiento que permite:
  • Crear paquetes fuente.

57. Debianizar paquetes. 58. Descargar fuentes de versionamiento git. 59. Subir cambios a repositorio git. 60. Empaquetar. 61. Empaquetar, descargar, subir, registrar paquetes en masa. 62. Canaima Desarrollador

  • Ejemplo de uso: Creacin de Metapaquete
  • c-d crear-proyecto --nombre="proyecto" --version="X.Y+Z" --destino="canaima" --licencia="gpl"

63. Modificar dependencias y descripcin en debian/control. 64. c-d empaquetar --directorio="nombre-X.Y+Z" --mensaje="cambios" --procesadores="N" 65. Documentacin para c-d

  • man canaima-desarrollador

66. c-d --ayuda 67. c-d[AYUDANTE]--ayuda 68. Aplicaciones > Programacin > Manual del Desarrollador 69. wiki.canaima.softwarelibre.gob.ve 70. huntingbears.com.ve 71. Ya tengo mis paquetes

  • Sbelos a un repositorio pblico.
  • repositorio.canaima.softwarelibre.gob.ve

72. forja.softwarelibre.gob.ve 73. Otros Prueba instalndolos en tu Distribucin Padre. 74. Pdele a otros que te ayuden a probarlos instalndolos en sus casas. 75. Y cmo distribuyo mi sabor?

  • A travs de una imagen ISO, descargable desde un lugar pblico como descargas.canaima.softwarelibre.gob.ve

76. A travs de una configuracin de tasksel que permita instalar los paquetes que saborizan la distribucin padre. 77. A travs de una receta. 78. Canaima Semilla

  • Asistente de construccin de imgenes ISO a partir de perfiles.

79. Basado en el proyecto Debian Live (live-build, antes llamado live-helper). 80. Permite establecer sabores oficiales de Canaima. 81. Fcil de configurar, Fcil de usar, xito asegurado. 82. Canaima Semilla

  • Perfiles
  • /usr/share/canaima-semilla/perfiles/

Semillero

  • /usr/share/canaima-semilla/semillero/

Variables

  • /usr/share/canaima-semilla/variables.conf

Scripts

  • /usr/share/canaima-semilla/scripts/

83. Perfiles de Canaima Semilla

  • Acerca de los perfiles.
  • Cada carpeta es el nombre del sabor.

84. Pueden existir N sabores. 85. Crear un sabor es tan fcil como ctrl+c ejemplo, ctrl+v y renombrarlo apropiadamente. 86. Definicin del Perfil

  • sabor.conf

PUBLICADO_POR ="Canaima GNU/Linux" SABOR_DIST ="squeeze" APLICACION ="Canaima GNU/Linux" MIRROR_DEBIAN ="http://universo.canaima.softwarelibre.gob.ve/" COMP_MIRROR_DEBIAN ="main contrib non-free" SABOR_PAQUETES ="canaima-x canaima-y" SABOR_PAQUETES_ISOPOOL ="X Y Z" 87. Definicin del Perfil

  • banner-instalador.png
  • Banner del Debian Installer

88. Debe tener un tamao de 800x75 pixeles. 89. Definicin del Perfil

  • syslinux.png

90. Definicin del Perfil

  • canaima.binary, canaima.binary.gpg, canaima.chroot y canaima.chroot.gpg
  • Repositorios adicionales al de Debian, necesarios para instalar los paquetes y acompaados de sus firmas GPG.

deb http://repositorio.canaima.softwarelibre.gob.ve/ roraima usuarios deb http://seguridad.canaima.softwarelibre.gob.ve/ seguridad usuarios 91. Definicin del Perfil

  • Carpeta inclusiones-iso

92. Definicin del Perfil

  • gtkrc-instalador

93. preseed-instalador.cfg 94. El Semillero

  • Lugar de almacenamiento para las configuraciones y las ISO's construidas hasta el momento

95. Y cmo creamos la ISO?

  • c-s construir --medio="iso" --arquitectura="amd64" --sabor="popular"

96. Consejos:

  • Utilizar un mirror local

97. Verificar que se tiene suficiente espacio ( ~ 4 veces el peso de todos los paquetes del sabor). 98. Documentacin para c-s

  • man canaima-semilla

99. c-s --ayuda 100. Aplicaciones > Programacin > Manual de Canaima Semilla 101. wiki.canaima.softwarelibre.gob.ve 102. huntingbears.com.ve 103. Gracias por su atencin! Luis Alejandro Martnez Faneyth Ingeniero de Telecomunicaciones Twitter: @LuisAlejandro Blog:http://www.huntingbears.com.ve Correo: [email protected]