General

Taller de Empaquetado y Distribución de Software bajo el Sistema APT en CENDITEL, Mérida

La semana pasada tuve la oportunidad de facilitar el Taller de Empaquetado y Distribución de Software bajo el Sistema APT, en las instalaciones de CENDITEL en Mérida. En la actividad participaron desarrolladores de los proyectos SAID y SAFET, así como desarrolladores de la DSLv2 de EDELCA y algunos futuros colaboradores de Debian.Hace mucho tiempo había realizado mini-talleres sobre empaquetado (IVIC, EDELCA) en el marco de otras actividades, y algunas charlas por IRC en castellano. En esta ocasión, sin embargo, tuve la oportunidad de estructurar el contenido de forma de abordar de manera apropiada la problemática de distribución de software libre, explicar como el sistema APT se enfrenta a esta problemática y describir los detalles operativos del empaquetado y la distribución de software libre.El taller se inició con una breve descripción del ecosistema de software libre y cuales son los niveles de responsabilidad de los actores en el desarrollo, para luego identificar los problemas en la distribución de software libre, como por ejemplo ubicación, configuración, facilidad de administración, mecanismos de actualización, entre otros.Se presentaron algunos modelos que abordan estos problemas: los sistemas de paquetes mixtos (APT, RPM), los sistemas de paquetes fuentes (Portage) y los sistemas de paquetes binarios (Klik) incluyendo una breve pasada sobre sistemas distribuidos como Conary. Haciendo énfasis en el objetivo del taller, se definieron los paquetes binarios y fuentes de APT, y las interrelaciones entre los mismos.En too a algunas de las guías disponibles para distribuidores de software en APT (como la Guía del Nuevo Mantenedor de Debian) se inició la parte operativa del taller, trabajando en la creación de paquetes fuentes utilizando debhelper. También se abordó CDBS como un mecanismo de reutilización de instrucciones para la construcción de paquetes, y dpatch como sistema de gestión de parches al paquete fuente, utilizando la documentación de Ubuntu.Una gran parte del taller se centró en los mecanismos centralizados de configuración de paquetes, en particular debconf, uno de los sistemas disponibles y compatibles con la Debian Policy. En este sentido trabajamos en la creación de plantillas, priorización, orden y necesidad de las preguntas, así como el uso de las respuestas y la localización de las plantillas.Como una extensión al tema de debconf se trabajó brevemente con dbconfig-common, un conjunto de hooks adicionales a debconf que permiten que una aplicación (por ejemplo, la típica aplicación Web) cree y cargue una base de datos MySQL o PostgreSQL.El taller tuvo como característica que la parte operativa se desarrolló alrededor de casos de uso tanto dentro de Debian (debianizar un paquete, modificar un paquete, recompilar un paquete) como fuera del Proyecto (distribuir entoos de Wine con aplicaciones Windows, hacer cambios locales en paquetes fuentes y reconstruir)Finalmente, en el taller trabajamos en la modificación de paquetes binarios y fuentes (el primer caso tiene mucha utilidad en entoos organizacionales con implementaciones localizadas de Debian, Ubuntu, et. al.) y la interacción e integración del trabajo con el Proyecto Debian, desde adoptar un paquete haciendo uso de WNPP hasta manejar reportes de errores a través del BTS, incluyendo algunos mecanismos de control de calidad como Lintian, pbuilder y piuparts para garantizar la integridad del software que se distribuye.Agradezco el interés de todos los participantes en este tema, en particular de CENDITEL como organizador, y espero que esto los motive a liberar el software que desarrollan utilizando sistemas de paquetes ampliamente difundidos y con muchas facilidades para distribuir su aplicación de forma efectiva, incluso en Debian🙂

Standard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s