Categoría > Software Libre

Haciendo repositorios de paquetes binarios con reprepro

 
Hunting Bears

Normalmente, dentro de los procesos involucrados en la creación de sabores o distribuciones derivadas de Canaima (o Debian) necesitamos utilizar paquetes que no se encuentran en repositorios públicos de Debian, Ubuntu u otra distribución porque generalmente son paquetes de autoría propia, diseñados a nuestras necesidades.

En ese sentido, es buena idea hacer un repositorio local para guardar esos paquetes y así agilizar un poco más los procesos de desarrollo y pruebas de software. Además, si tienes la oportunidad de hacerlo público a través de un servidor web, podrías distribuir tus paquetes a otras personas o incluso hacer un sabor Canaima.

Continuar Leyendo »

Haciendo mirrors de Debian con ftpsync y de Canaima con debmirror

 
Hunting Bears

Muchas veces se hace útil tener una copia idéntica (mirror) del repositorio de paquetes Debian y Canaima en tu computadora: Acelera la instalación de paquetes, la creación de imágenes con canaima-semilla y permite tener un ambiente pruebas en caso de que manejes un repositorio en ambientes de producción.

Hacerlo no es tan difícil y requiere muy poca atención luego de realizado el procedimiento. Eso sí, el tiempo que utilizaremos inicialmente dependerá de tu velocidad de conexión. Podrás elegir cuales arquitecturas replicar y decidir si incluir las fuentes de los paquetes o no.

Continuar Leyendo »

10 formas para evitar generar una novela en las listas de Canaima [HUMOR]

 
Hunting Bears

Si bien las listas de Desarrolladores y Discusión de Canaima son para tratar de construir cosas para el Proyecto Canaima, usualmente se ve pululada de discusiones inertes y desagradables a las que comúnmente llamamos “Novelas”. Hoy te presento 10 tips que puedes poner en práctica ¡ya mismo! para evitar generar novelas en las listas Canaima.

  1. No le quites los permisos en un servidor a Héctor Colina: Éste tipo es un llorón, ni se les ocurra quitarle algún permiso, verán el infierno.
  2. No le sugieras a Octavio Rossell que instale un driver privativo: Le da corrientazo y te trolea diciéndote que eres un troll.
  3. No cuestiones la forma en que llevan la plataforma: Ni se te ocurra, es una insolencia de tu parte cuestionar a la democracia perfecta.
  4. No te metas con el CNTI: Métete con esos tipos y te quitan las claves de todo, te quitan el internet y te hackean la PC para hacer montajes porno con tus fotos.
  5. No le preguntes a Jesus Lara como va la migración en la institución X: Si no te quieres calar 5 o 6 correos con detalles tan específicos como de la secretaria que se pintó las uñas cuando vino el asesor de Oracle a visitar al Director de Informática, abstente de preguntar.
  6. Abstente de escribir la palabra “RadioGNU”: ¡Corre!
  7. No cuestiones las ideas de alguien popular: Está en desacuerdo con el líder de un grupo y verás como te caen encima 30 personas que nunca habías leído en tu vida.
  8. No propongas una iniciativa para hacer algo mejor que algo que ya existe: Típico, el síndrome de “el mío es mejor que el tuyo”.
  9. No acuses a Luis Martínez de documentar sólo en su blog: Este tipo le encanta la plata, todo lo hace en su blog para que le llueva el dinero por la publicidad.
  10. No acuses a Luigino Bracci de ultra-chavista: ¡NO LO HAGAS! Sólo lograrás hacerlo más chavista, te destruirá en su blog, la radio y la televisión.

 

RIP Steve Jobs

 
Hunting Bears

Pocas personas a lo largo de nuestras vidas nos cambian para bien.

No soy dueño de ningún producto Apple, mucho menos un Apple fanboy; sin embargo, existe una cosa que siempre tendré en los Marcadores Favoritos de mi navegador, y es el video del discurso de Steve Jobs en una graduación de la Universidad de Stanford, – que pueden ver más abajo -. Sin duda, puede motivarte cuando parece que la vida no tiene sentido.

UF8uR6Z6KLc

Los backports y sus riesgos

 
Hunting Bears

Un backport es un paquete (o un conjunto de paquetes) que pertenecen a un estado superior de desarrollo. La idea general con los backports es incluir software más nuevo en una distribución estable, que por sus características tiende a quedarse con software viejo.

Es de esperarse entonces, que un software diseñado para un ambiente de interacciones con otros programas, no funcione de igual forma en un ambiente diferente (a menos que su interacción con los demás no dependa en gran medida del ambiente).

Esta premisa varía mucho dependiendo de la naturaleza del paquete y sus dependencias. Determinar cuan riesgoso es backportear un paquete se convierte entonces en una tarea de análisis minucioso.

Por otra parte, backportear un paquete que necesite funciones que no están presentes en el sistema, puede traer consecuencias tan sutiles como un “flickering” en un borde de ventana, o tan catastróficas como un “kernel panic”, sino se toman las previsiones necesarias, ni se hacen las pruebas correspondientes.

Existen algunas consideraciones que deben hacerse.

  • Si el paquete del estado superior tiene dependencias con librerías trascendentales que se encuentren en versiones superiores, – como por ejemplo python, perl, c++, entre otros -, entonces ese paquete debe ser modificado (y empaquetado) para que funcione con las librerías que se encuentran en versiones inferiores en el estado donde se quiere incluir el software.

ó

  • Incluir también las dependencias junto con el paquete del estado superior.

Un caso de backporting en debian es, por ejemplo, incluir el navegador web Iceweasel 7.0 (actualmente en Inestable) e incluirlo en un sistema estable. Para este ejemplo en particular, estamos manejando un software modular (al igual que muchas otras aplicaciones), es decir, no depende de librerías que cambien mucho entre estados, y las dependencias que necesita vienen con él, es decir, se puede “enchufar y desenchufar” sin muchos detalles de los cuales estar pendiente.

Por otro lado, actualmente gnome necesita GTK2 para la distribución Estable, y GTK3 en la distribución Inestable. En este caso, backportearlo a estable implica incluir GTK3 (con todas las posibles consecuencias) o modificar gnome para que funcione con GTK2 (implica deshabilitar alguna de sus funcionalidades nuevas, además de ser un trabajo titánico). Lo mismo ocurre con muchos otros paquetes que están ligados a librerías trascendentales, como por ejemplo: el kernel, apt, aplicaciones basadas en python o perl, entre otros.

A manera de referencia, en Canaima 3.0 se incluyeron programas de estados superiores que tenían un comportamiento modular y por tanto, mínimo riesgo de conflictos, específicamente:

  • Libreoffice
  • Cunaguaro
  • Guácharo
  • BURG

Backportear un kernel

Backportear un kernel implica muchos otros aspectos a los ya mencionados:

  • El kernel depende de muchas librerías fundamentales como perl, c++, y las reglas udev que deben estar presentes para que funcione. Perl, por ejemplo es una librería que usualmente varía entre los estados de desarrollo.
  • El kernel, aunque no es una librería de por si, muchos programas están diseñados para trabajar con versiones específicas de el. Por ejemplo, los módulos de kernel, los drivers de video, algunos drivers de sonido, están empaquetados para versiones específicas de kernel. Cambiar el kernel significa que esos drivers dejarán de funcionar, a menos que también se incluyan los paquetes de esos drivers específicos para el nuevo kernel.
  • El kernel es una de las partes más sensibles de una distribución. Utilizar un kernel que no haya pasado por todos los estados de desarrollo puede significar que no esté lo suficientemente probado. Un pequeño error desapercibido en el kernel puede generar errores catastróficos en la experiencia de usuario (p. ej. kernel panic).
  • No siempre es cierto que para soportar nuevos dispositivos es necesario incluir un nuevo kernel. Existen módulos de kernel genéricos que están ajustados a un patrón de diseño de dispositivos y no a un modelo en particular, permitiendo que el mismo sirva para una serie de dispositivos existentes (y por existir).

La recomendación final es, si piensas utilizar backports en tu distribución estable, ten mucho cuidado con lo que haces, podrías generar una inestabilidad incluso mayor a la existente en la distribución inestable.