Nhopkg 0.5 cada vez mejor y más cerca
Por fin vuelvo a escribir en el blog, y en definitiva, vuelvo a pasarme la red, y es que durante esta última semana y media no he parado entre exámenes y demás como para poder escribir o incluso para comentar o leer otros blogs. Sigo por aquí, aunque durante lo que me queda de semana no creo que esté muy activo.
Después de esta breve aclaración sobre mi estado de vida ajetreado por los exámenes y los estudios, toca dar a conocer muchos nuevos aspecto de nhopkg y, lo más importante, hacer entrever un poco la fecha de su salida.
Los últimos días que toqué nhopkg me quedé realmente satisfecho de los adelantos y de mi trabajo. Son casi innumerables las nuevas mejoras, pero la que sin duda más dará que hablar serán los repositorios universales. Si, al final se le ha añadido soporte para repositorios a esta versión (al final espero que merezca la pena el retraso en la entrega). El soporte para repositorios está integrado, pero hay todavía mucho trabajo respecto a ésto. Mantener unos repositorios lleva mucho trabajo, no solo por mantener el software, sino el sitio donde alojarlo, porque nunca se sabe cual será la aceptación que tendrá nhopkg 0.5 y si me hará falta más espacio y más ancho de banda en mi hosting (que será donde en un principio estará alojado el repositorio) del que tengo actualmente. Quizás este momento sea el preciso para cambiarme de hosting y así poder albergar tal proyecto, pero siempre existe un problema, y para variar es el económico.
Además el repositorio de software no es solo un buen hosting que aguante todo lo que se le eche encima, sino que hace falta gente dispuesta a mantener paquetes. Gente que se encargue de actualizar ciertos paquetes y compilarlos de la mejor manera para que sean lo más estables y potentes posibles. Desde ahora os animo a que me vayáis mandando vuestras iniciativas para mantener software. Y desde ya gracias desde aquí a todos los que ya se han ofrecido a colaborar de esta manera.
Cambiando de tema, pasamos a ver la, también esperada, gestión de dependencias. Es muy difícil asegurar aun hoy si realmente hará frente a los grandes gestores de paquetes, ya que como soy el único que hasta ahora o ha probado, su buen funcionamiento puede deberse a que solo se ha utilizado en este ordenador. De todas formas pinta muy bien la gestión de dependencias universal, ya que no se basa en los nombres de los paquetes, sino en los archivos que contiene dicho paquete, no existiendo así ciertos problemas que existen por ejemplo en los sistemas Debian con los distintos nombres que se les da a los paquetes entre versiones o derivados. Además, si nhopkg no encuentra la dependencia solicitada en el sistema, él solo se encarga de buscarla en los repositorios mencionados anteriormente e instalarla, cosa que los dos grandes de siempre, rpm y dpkg, no lo hacen salvo a través de un front end como pueda ser yum o apt respectivamente.
Además he implementado algo que también gustará a muchos. Yo lo he llamado (que no sé si se deberá llamar así) gestión de dependencias inversa. Se trata de que nhopkg busca que paquetes dependen de uno que vayamos a eliminar del sistema y los elimina, claro está, si el usuario quiere.
De forma rápida comentar que nhopkg chequea a la hora de instalar un paquete, ya sea fuente o binario, la arquitectura del mismo y la suma md5, para así conseguir una mejor compatibilidad entre sistemas y comprobar la integridad de los paquetes.
Otro tema importantes, o no tanto, depende de gustos, es la introducción de una barra de progreso a la hora de instalar un paquete binario, ya sea desde un archivo local o desde un repositorio. Anteriormente no se tenía ninguna referencia de que porcentaje llevaba instalado un paquete, ahora sin embargo, podemos conocer el porcentaje instalado, además del tamaño usado en disco y el tiempo restante aproximado. Y sigo usando Bash… esto empieza a subir como la espuma.
Y lo de siempre, más y mejor información acerca de los paquetes instalados. Obtendremos por ejemplo información del tiempo que tardó en compilarse, el espacio que ocupa en disco, las horas de compilación e instalación, las dependencias, …
Ahora, centrándonos en los posibles desarrolladores tanto de distros o software o los mismo mantenedores de paquetes, se le han añadido varias opciones importantes a la hora de crear paquetes fuente. Se trata de comandos de post instalación, usados para configurar el programa una vez instalado sin que ésto altere al paquete binario, y los comandos de post desinstalación, lo mismo que lo anterior, pero esta vez para limpiar posibles restos que deje el paquete en el sistema. Son comandos opcionales, pero valiosos si se quiere crear un buen paquete.
Quería anunciar que muy posiblemente podáis disfrutar para esta versión 0.5 de una GUI. Si, por fin podréis usar nhopkg desde una interfaz gráfica. Aun no desvelo mucho más, pero decir que el encargado de tal hazaña será mrcomputer.
Y por si fuera poco todo ésto, nhopkg, gracias a pragmart, ha tenido un momento de gloria en la revista Linux+, como podréis comprobar aquí. Así que correr a vuestros quioscos a comprala sin más tardanza.
Seguro que me dejo cosas por decir, pero de momento está bien. Ya os digo, os animo que colaboréis con el proyecto, y a los que ya lo hacéis o lo pensáis hacer, muchas gracias, que de verdad, no me cansaré de decirlo, todo ésto sería mucho más difícil sin ayuda. Si queréis hacer a nhopkg más visible pasaros por aquí.
Por último, adelantar que la salida de nhopkg 0.5 no tardará. No es una fecha exacta, pero no quiero mojarme aun. Ya se anunciará con tiempo.
Participación en el podcast de mrcomputer
Como podéis leer en el título, hoy se ha publicado el Podcast de mrcomputer #16, en el que tengo una participación, más concretamente analizo Trisquel GNU/Linux.
Si queréis oir mi voz, y así, digamos que conocerme un poco más, podéis pasaros por ahí y escucharlo
Convertir discos duros a formato grub [Script]
Acabo de programar un pequeño y básico script para poder cambiar de forma automatica el nombre de los discos duros en Linux por el formato que usa grub. Algo así como hda5 –> hd0,4.
Lo he desarrollado para usarse en el instalador de la distribución GNU/Linux VegnuX (si, esa que lleva Nhopkg ), pero puede usarse en cualquier otra distro, ya que como no podía ser de otra manera, es libre y distribuido bajo la licencia GPLv3. Carlos Sánchez y yo llevábamos tiempo pensando como hacerlo, y por fin se me ocurrio.
Os dejo aquí una adelanto, y más abajo podréis descargarlo.
Actualizado Disk2Grub a la revisión 15-01-09 añadido soporte para discos duros SATA (como pidió Carlos Sánchez ) y alguna cosilla más.
Descargar Disk2Grub 15-01-09: http://pub.jotahacker.es/disk2grub/disk2grub-15-01-09.tar.gz
Descargar Disk2Grub 14-01-09: http://pub.jotahacker.es/disk2grub/disk2grub-14-01-09-2.tar.gz
El paqute incluye el script y la licencia, nada más. Lo podéis descomprimir donde querais y darle permisos de ejecución, luego ya solo queda probarlo. Si alguien encuentra algún problema, por favor, ya sabe donde estoy
Un saludo!
Nhopkg 0.5: pequeños grandes cambios
Estas fiestas las he aprovechado para dedicarme a Nhopkg. Llevaba ya un tiempo con las cosas bastante claras en cuanto a qué y cómo se le añadirían nuevas opciones a Nhopkg, pero me faltaba el tiempo necesario para ponerme a ello en serio. Lo que no quería era ponerme una tarde libre a programar, para luego al día siguiente no tocarlo ni por asomo. Por lo menos no al principio, ya que de nuevo, esta versión se ha reescrito casi completamente. Entonces, qué mejores fechas que estas fiestas navideñas, en las que no tenía gran cosa que hacer, para ponerme a darle caña a Nhopkg 0.5.
El cambio más importante, y creo yo, más necesario para el avance y difusión de Nhopkg, es la gestión de las dependencias. Ese tema tan delicado para la gente que viene de Windows y que normalmente no comprenden y les desborda. Es un tema importante, y todo gestor de paquetes que se precie debería gestionar lo mejor posible las dependencias. Yo tenía varias cosas claras. La primera era que no tenía nada que perder, es decir, podía intentar desarrollar un buen gestor de dependencias y conseguirlo, o no hacerlo. De preferir, preferiría conseguirlo, pero digamos que no contaba con la presión de tener que hacerlo por narices. Ese punto me ayudo (eso creo) para poder trabajar despejado y seguro. La segunda cosa clara y también importante era que debería ser un gestor de dependencias universal, al igual que pretendo que Nhopkg en su conjunto lo sea. ¿Universal por qué? Sencillo, ya existen otros que no lo son, y además unas de las pautas de Nhopkg es el ser universal. No podía ni quería cambiar eso.
Resumiendo, no me jugaba nada y tenía que hacer un buen gestor de dependencias (universal). Vosotros, los usuarios finales, seréis los que daréis vuestro veredicto final, y el que realmente valga, pero yo por el momento con el trabajo que he realizado estoy muy orgulloso. A mi parecer he desarrollado un gestor de dependencias que no tiene por que envidiar a los de otros gestores de paquetes. Eso creo. Y además me parece uno de los pasos más importantes en el desarrollo de Nhopkg. Es cierto que tendrá mil y un fallos (o más) y que versión tras versión, actualización tras actualización intentaré mejorarlo y resolver problemas, pero tal y como está el estado de desarrollo de Nhopkg y la juventud del proyecto, yo opino que está realmente bien.
Pero no solo el gestor de paquetes es una de las mejoras. Hay otras muchas, que aunque quizás menores, yo considero importantes.
Por ejemplo, aunque todavía no está decidido si entrará en esta última versión (0.5), estoy trabajando en una opción (en realidad serán varias) para que desde el mismo Nhopkg se puedan transformar paquetes .deb, .rpm y .tgz (usados por otros gestores de paquetes) a los paquetes .nho sin necesidad de tener instalado ni dpkg, ni rpm, ni, en definitiva, sus correspondientes gestores de paquetes. Ésto ya lo hace alien pero para ello necesita de rpm y dpkg. Por lo cual, esta nueva cualidad de Nhopkg será importante.
Entre las pequeñas mejoras incorporadas, también podría destacar la mayor información que se facilita al usuario final sobre los paquetes, como la descripción del paquete, la licencia usada, la arquitectura y más.
Se ha reducido considerablemente el tiempo que tardaba Nhopkg en crear un paquete binario, que para los paquetes más pesados, a veces se hacía demasiado larga la espera. En la versión 0.5 se ha acortado de forma significante.
Otra de las novedades es que la futura publicación de Nhopkg 0.5 será bajo la licencia GNU GPL v3 en detrimento de la versión anterior de esta licencia.
Y ahora que recuerde, pocas novedades importantes más, además de los fallos y bugs que se suelen corregir de una versión a otra.
En un principio la liberación de Nhopkg 0.5 será para el primer día de Febrero (01-02-09). Es la primera vez que estipulo una fecha de salida para Nhopkg desde que existe, e intentaré cumplirla. De no llegar a la fecha, por la razón que sea, no se liberará hasta que yo considere que está listo. La fecha es tan solo una meta que me he fijado, para así trabajar con alguna referencia. Lo que no quiero es liberar la versión 0.5 y que empiecen a aparecer fallos por todos lados. Aparecerán fallos de todas formas, pero prefiero asegurarme de que no me los haya encontrado yo antes de liberarla
Por último, quería agradecer a Pillate un Linux y especialmente a pragmart por todo el apoyo que me ofrecen con respecto a Nhopkg y mis proyectos. Aunque parezca mentira, pero este tipo de cosas le hacen a uno seguir a delante.
Edito: Para esta versión pretendo que haya un soporte mayor para distintos idiomas. Si crees que puedes aportar algo, ponten en contacto conmigo. Actualmente solo hay soporte para inglés y español. Puedes contribuir con idiomas diferentes a éstos, ayudar con los existentes o con variantes, Ej.: es_VE, es_MX, etc.