Convertir a Haiku en rolling release

Las distros como Arch Linux han hecho famoso el concepto de rolling release. ¿No sabes lo qué es? Consiste en el software que está en constante actualización y elimina el concepto de versión, al menos como se pensaba de él. Por ejemplo en Ubuntu que no es rolling release el sistema se actualiza pero llegará un momento que para dar un cambio mayor deberemos cambiar a otra versión (de 12.04 a 14.04 por ejemplo). Arch Linux es rolling release y no tiene versiones, siempre que actualizas estás en la última versión.

Rolling release en Haiku ¿era algo esperado?

Seguramente la gente que conoce Haiku no piense que sea un sistema que aspirase a ser rolling release. Yo tampoco y de hecho no es rolling release oficialmente, sigue teniendo versiones y nightlies pero ahora y gracias al nuevo sistema de paquetería ha sido posible convertir Haiku en rolling release.

Los pasos

Los pasos a seguir son sencillos pero deben hacerse por línea de comandos. Así que abre la aplicación Terminal y escribe:

Esto mostrará los repositorios que haya en el sistema. Tendrás que tener 1 por lo menos llamado HaikuPorts. Lo vamos a eliminar, pues está fijado a una versión y entraría en conflicto con los repositorios de rolling release.

Y ahora añadimos el repositorio HaikuPorts de rolling release

Ahora ya tendremos las últimas aplicaciones, sin embargo el sistema más básico (el kernel y el navegador) no se actualizarán. Debemos de añadir otro repositorio

Y ya está. Ahora podemos actualizar el sistema entero (requiere reinicio para usar el nuevo kernel).

Updating

Otros repositorios

Todavía no ha salido la Beta 1 y ya hay repositorios externos para pkgman. Se añaden de igual manera que los anteriores.

  • Guest One’s bin ports: http://haiku.uwolke.ru/repo/binaries-x86_gcc2
  • Guest One’s Java ports: http://haiku.uwolke.ru/repo/java-ports
  • Clasqm: http://clasquin-johnson.co.za/michel/repo
  • BeSly: http://software.besly.de/repo
  • FatElk: http://coquillemartialarts.com/fatelk/repo

ListRepos

La experiencia GCI 2014 con Haiku

El día 1 de diciembre comenzaba el Google Code-In 2014 y hasta el 19 de enero pude trabajar en la organización que había elegido, en este caso Haiku, como el año anterior.

HaikuToDo

HaikuToDo-1

La tarea consistía en reusar cierto código de una aplicación de tareas para crear un frontend en Haiku usando la BeAPI. Sin embargo ese código no funcionaba. No tenía sistema de compilación y más tarde descubrí que carecía de punto de entrada y ciertas headers no coincidían con la implementación. Así que lo hice de 0. En primera instancia usé SQlite para almacenar las tareas. Sin embargo me pidieron que mejorara mucho más la interfaz. Eso hice y en el camino tuvo que inventarme el sistema de categorías. La siguiente tarea consistía en reemplazar SQlite por algo específico de Haiku y BeOS. Hablo de BeFS y su sistema de Queries. Gracias a C++ solo tuve que crear un objeto que implementase las operaciones de escritura con BeFS y pude mantener el de SQlite (hay que activarlo en tiempo de compilación). La siguiente tarea consistía en añadirle el soporte online. Valía cualquiera pero elegí Google Tasks porque ya tenía cuenta. Toda la gestión de HTTP se debía realizar por las APIs nativas de Haiku. Estas son APIs que BeOS no llegó a incorporar nunca. Además el procesado de JSON corría a cargo de las APIs de Haiku que al igual que las de HTTP están indocumentadas. Obtener la información de Google puede parecer lioso pero una vez lo entiendes es bastante sencillo. Para la autenticación, HaikuToDo abre WebPositive para que te registres con Google y recibes un código. Ese código lo pones en la aplicación y se descargarán tus tareas de Google. El soporte actual es de solo lectura. La aplicación tiene licencia MIT y se puede descargar.

HaikuToDo-2

SuperFreeCell

SuperFreeCell-1

¿Quién no ha jugado al solitario de Windows? ¿Y al Carta Blanca también conocido como FreeCell? Seguro que alguno más pero también muchos. La tarea consistía en hacer el clon de FreeCell para Haiku. Por supuesto usando la BeAPI, en concreto la gran flexibilidad de BView para estas tareas. Para ello tomé como referencia BeSpider, el clon del solitario spider en Haiku. Luego comprendí que no entendía mucho el código y lo empecé a hacer a mi manera. Se me ocurrió hacer las cartas un objeto que se tenía que dibujar. Error. La interación con el resto del mundo se hecha en falta. Luego pensé en que heredasen BView. Error. El número de glitches gráficos era digno de mencionar. Finalmente las cartas pasaron a ser estructuras simplemente e hice toda la lógica en la BView del tablero. El resultado era mucho mejor. Cambié el algoritmo de ordenación de cartas (barajar, si alguien no se enterá) para ganar en velocidad. Antes usé uno con bucles muy simple pero lentísimo. Otros detalles fue que use DragMessage para mover las cartas y que las cartas son PNGs de BeSpider integrados dentro del ejecutable (una cosa que siempre he hechado en falta a Linux). Obviamente al hacer un clon tuve que jugar mucho a otras implementaciones de FreeCell. Jugué a la de Windows 7, Ubuntu 14.04 y Android. Todo sea por SuperFreeCell. La aplicación tiene licencia MIT y se puede descargar

SuperFreeCell-2

Haiku EGL

EGL es una API del Khronos Group para definir superficies sobre las que operar con otras APIs de Khronos Group, entre ellas OpenGL y OpenVG. EGL se ha usado sobre todo en móviles pero el salto a escritorio es inminente (Wayland y Mir dependen de EGL para funcionar). La API es teóricamente multiplataforma aunque en la práctica hay que modificar el código si usamos las X11 o Wayland o en este caso Haiku. La tarea consiste en portar EGL de manera que funcione en Haiku como wrapper de BGLView. La tarea requería modificar código de Mesa 10. Tuve muchos problemas en esta tarea: documentación nula, características exclusivas de C99 (y que no están en C++), desconocimiento de parte del sistema gráfico tanto en Linux como en Haiku, desconocimiento de SCons, etc. Esto me llevó a implementar EGL en un principio como un driver DRM2. Pero luego descubrí que DRM2 solo funciona en Linux. Así que tuve que escribir un driver desde 0. Este crea una configuración placebo y realiza operaciones básicas como crear una ventana y hacer el intercambio de búferes.

Haikuports

El resto de tareas consistían en portar software normal y corriente a Haiku. He portado con más o menos dificultad:

Quería haber portado Node.js pero dependía de libuv que no estaba portado. Después comprobé que nuestra versión del motor V8 estaba desactualizada para Node.js así que no tuve tiempo para terminarla.

Post Mortem de Torre Utopía

Torre Utopía fue un juego diseñado con el objetivo de ser creado en menos de un mes usando solo mis ratos libres. Para facilitar el trabajo había diseñado un conjunto de librerías y scripts en lo que denomino esqueleto. Este esqueleto es open-source y lo podeis encontrar en GitHub.

Desarrollo

elevator-action

Torre Utopía esta fuertemente inspirado en Elevator Action. Inicialmente iba a ser un clon del juego pero según avanzó el desarrollo del juego vi partes que no eran fáciles de implementar y que requerirían un rediseño. Estoy hablando sobre todo del scrolling. Torre Utopía inicialmente fue pensado para ser programado en TypeScript que es como el esqueleto lo admite por defecto. Sin embargo terminé usando muy poco las características de TypeScript. Creo que porque no tengo soltura suficiente todavía en TypeScript como para usarlo correctamente. Aun así la inclusión fue positiva en cierto punto porque el compilador era capaz de avisarme de variables no definidas, un error que en JavaScript corriente es tedioso de solucionar pues debes mirar la consola del navegador.

Un acierto, creo yo, fue usar gráficos pre-generados para ir probando las mecánicas. Esto facilita mucho desde el principio saber como va a quedar cada cosa. Sin embargo, este arte pregenerado no fue sustituido al final enteramente dando una mala imagen al espectador. Realmente se cambiarón muchos gráficos pero la falta de tiempo hizo que tuviesen poco nivel de detalle. Una cosa que no me gustó fue que el personaje se moviera mirándote a ti. Y me cabrea más cuando pienso que hacerlo bien es muy sencillo de implementar.

La música era repetitiva y sin copyright pero quizá debería haber un botón para acabar con el dolor de oídos que genera escuchar una y otra vez lo mismo durante varias horas. Aunque el tema del audio lo implementé casi al final. Sin embargo no fue difícil alterar el resto del código para que al subir el ascensor sonase (aunque es posible que con algo de retardo).

La fuente usada quería que fuese estilo pixel para que encajase mejor; fue más difícil de lo que esperaba. Al final encontré una que encajaba con el estilo que quería dar y era gratuita.

TorreUtopia

Distribución

Una vez di por terminado el juego empezó la distribución. Estaba un poco impaciente porque era la primera vez que iba a publicar en tantos sitios a la vez. Sin embargo el tema de crearse cuentas en tantos sitios hizo que me decantase solo por 5 distribuidoras. Estas han sido:

Kongregate

Kongregate

Simple y directo. Me publicaron el juego en poco tiempo y recibí comentarios de usuarios en el juego. Cuando miré por primera vez había generado 4 céntimos de euro. Lo más molesto de Kongregate es el tema fiscal. Ellos insisten en que lo cumplimentes todo aunque no es necesario. Esto es porque se pueden ahorrar impuestos (y tú ganar más) si lo cumplimentas. Para los que no lo conozcan en Kongregate ganas dinero por la publicidad que se ve en Kongregate cuando gente juega a tu juego. Es un portal de juegos pero con mucho tráfico.

FGL

Originalmente diseñado para juegos Flash se ha adaptado y ofrece ahora también para HTML5 y Unity. FGL tiene muchas opciones de distribución y para un principiante puede ser confuso. Por suerte, FGL tiene ayudas en los márgenes muy útiles. En FGL ganamos dinero si nos compran el juego para publicarlo en portales de juegos. Todavía no he recibido ninguna oferta (tampoco espero, es mi primera vez) y se encargan de hacerte una valoración con nota en diferentes aspectos. En mi corta experiencia con FGL puedo decir que los administradores ayudan mucho (me enviaron correos varias veces para comunicarme fallos y como podría mejorar ciertas cosas)

MarketjS

MarketJS es como FGL pero centrado exclusivamente en HTML5. Mal. Creí que por estar centrados en HTML5 (y obviamente más nuevos en el mundillo) tendrían algo más de simpatía. No sé si será la plataforma (mucho más verde en todos los aspectos) pero no recibí respuesta al publicar el juego. Semanas más tarde les envié un correo personalmente. Su respuesta fue que cambiase la imagen de la descripción. La cambié. Volví a publicar. Y ya está. Ninguna respuesta.

Clay.io

Ya les conocía y el proceso es el habitual, algo mejor que de costumbre y todo. En Clay.io ganamos dinero por anuncios como Kongregate, pero también nos pueden comprar el juego como FGL y tiene un tercer modo que es dejar a los portales de juegos el juego tal cual y por los anuncios de Clay.io recibiremos dinero como si fuera en el propio sitio. Puse un anuncio de vídeo al principio y nada más. Y todavía no he ganado nada pero es más sospechoso si pensamos que Clay.io ha añadido mi juego a más portales con el tercer sistema como html5games.club

Firefox Marketplace

firefox-os

Una tienda al estilo Google Play o App Store pero para Firefox OS. Fue aprobado y está disponible pero en esta versión no he añadido anuncios. Comentar que en Firefox Marketplace obtienes los certificados PEGI, ESRB y parecidos de manera gratuita, aunque solo valen para Firefox OS. Las certificaciones en principio te las dan según rellenas unas preguntas sobre el juego. Además hacen pruebas aleatorias cada institución y por ello pueden cambiarte la calificación. En mi caso ESRB me daba T y PEGI me daba +7. Pero en diferentes análisis (llegaron en diferentes meses) me dijeron que al estar los gráficos muy pixelados la violencia que contiene el juego es mínima, por ello actualmente tengo en ESRB la E y en PEGI +3.

Recepción

Vamos a ver las críticas del juego a día de hoy:

  • Firefox Marketplace: Es como wrecking cree pero más chafa 4/5
  • FGL: Definitely not my type of game, but could be fun. You need to think about touch controls (how will one play it on a mobile browser) and also improve graphics, like game over screen for example.
  • FGL: I like the concept for the game! Although the graphics needs some serious improvment but I think that the game could be fun with new graphics and some polish!
  • FGL, la review oficial:
    • Intuitiveness:    5    Needs Improvement
    • Fun:    6    Average
    • Graphics:    5    Needs Improvement
    • Sound:    6    Average
    • Quality:    6    Average
    • Overall:    6    Average
    • Comments: Instructions should be included in game. No-one will understand what’s going on without them.Graphics are poor. They’re programmer’s art, not professional finished product. They’re basic and very static(lack of animations). Need to be changed. Music is little low-quality. Also, there should be mute button on every screen. It’s very frustrating for players if they can’t mute music, especially if it’s annoying. There should be always a way back to main menu(Home button or something like that). Policemans are staying in the same place as player and they can’t shoot him if you don’t move. There should be some text on main menu saying “Press anything to play”.
  • Firefox Marketplace, un comentario oficial: The game doesn’t cover large screens.
  • Kongregate: Nice game, i recomend adding a menu, and make AI on the enemies.

Conclusión

Hay que mejorar el esqueleto npm, el audio, los sprites (aunque seguiré usando gráficos pre-diseñados al principio). También creo que debe haber un menú, un sistema de anuncios integrados fácilmente desactivables via parámetros GET, integración con Google Analytics, ajustes para quitar el sonido, etc. Espero mejorar todos estos (y más aspectos que seguro que me olvido) para futuros juegos.

Prosperidad

Finaliza el 2014. Ha sido un buen año. Con altos y bajos como todos. En esta entrada voy a intentar comentar el año en general para ver que conclusiones podemos sacar, unos valores que se suman a la experiencia acumulada y con los que poco a poco nos vamos construyendo una mejor realidad.

Hechos

Empecemos por los hechos que hemos acumulado

¡Empieza la monetización!

En 2013 ya había recibido algún dinero por PayPal pero 2014 ha sido el año de la monetización. El auge de BitCoin también contribuyó a ello y en consecuencia ahora veis bonitos anuncios de AdSense. No ha sido fácil llegar a AdSense por unos problemas que tenía con Google Sites y su API propia de AdSense. También he probado CoinURL.com, Adpv.com y Anonymous Ads. Las donaciones via PayPal también han crecido y tuve la oportunidad de probar un servicio llamado Tran.sl en el que te pagan por traducir textos.

¡Vamos a Turquía!

En 2014 nuestro equipo de Orientación ganó el Campeonato de España de Orientación de Centros Escolares. Esto quiere decir que en 2015 competiremos en Turquía en el Campeonato del Mundo de Centros Escolares.

Competiciones

Este año participé en varios concursos/competiciones a parte del Campeonato de España de Orientación. A destacar la Olimpiada Matemática (donde pasé a la fase provincial), el Google Code-In 2013 (y 2014 que esta siendo ahora mismo) y el programa Ubuntu Pioneers (el cual fue una gran sorpresa).

Aprendizaje continuo

Este 2014 he aprendido nuevas tecnologías que creo que podrán tener alguna utilidad. Compré un Arduino UNO, use OpenShift y Heroku con Node.js, también eche un vistazo a TypeScript e hice alguna cosita en Rust. Mejoré mi destreza en Blender y pude hacer un pequeño juego completo en Ogre3D (Lumtumo). También fue el año de GameJS para hacer Norzarea.

Norzarea

MEME Manía

La MEMEManía alcanzó un gran esplendor. Tanto tiempo perdido haciendo memes… Pero alguno hay bastante graciosete que aun hoy me hacen reír.

Dogma42

Cultura

Blogs

En 2013 cerró Google Reader y me pasé a Feedly. La verdad es poco a poco acumulaba algún que otro sitio interesante pero este año el crecimiento ha sido exponencial. Voy a recomendaros algunos:

Libros

Ahora toca recomendar libros. Creo que podemos empezar por un buen clásico: De Ratones y Hombres de John Steinbeck. Una lectura fácil y aparentemente inocente pero con mucho trasfondo.

Si avanzamos más podemos mencionar El Quark y el Jaguar de Murray Gell-Man, un gran libro sobre física cuántica, pero que no os asuste el tema, el libro en general es bastante ameno.

ElQuarkYElJaguar

Si quieres hacer pasar un mal rato a vuestros enemigos recomendadle Paz en la Guerra de Miguel de Unamuno. Lo siento, pero es pesadísimo de leer. Sé que Unamuno está considerado un gran autor de la generación del 98 pero con esta obra no sé que pensar de él.

MiguelDeUnamuno

Un buen libro que seguro os dará algo que pensar es El Conde Lucanor de Juan Manual

¿Un libro de motivación? Quizá The Game Jam Survival Guide de Christer Kaitila, es cortito pero te pone las pilas en cuanto a empezar a hacer juegos.

Videojuegos

  • Grim Fandango
  • Trópico 3
  • Half-Life 2
  • Portal

GrimFandango

Y como siempre, los clásicos de siempre:

Objetivos

Vamos a repasar los objetivos principales. Mi agenda se desbordó hace tiempo de cosas por hacer y ahora mismo tengo claro una cosa. Es mejor hacer pocos proyectos, hacerlos bien, que el público pueda disfrutar de ello que muchos proyectos en estado dudoso y sin utilidad práctica real.

Así pues he intentado reducir los proyectos al mínimo y aunque parezcan vagos aquí, en mi cabeza son algo más tangibles:

  • Publicar más en el blog (típica mentira que se cuenta al estilo de voy a ir al gimnasio o este es el año de Linux en el escritorio)
  • Desarrollar más juegos para el 2015. El desafío #OneGameAMonth promete 12 en un año, pero ya os digo yo que con ciertos meses no espereis nada.
  • Colaborar más con Haiku y FreeRCT.
  • Ir finalizando proyectos antiguos abiertos. Esto sin duda va a ser lo más difícil de cumplir, lo dejamos como algo “a intentar”.
  • Actualizar los complementos de Firefox y crear alguno nuevo. Ya han venido múltiples personas contactando conmigo con ideas, algunas de ellas interesantes.
  • Avanzar paso a paso hacia la excelencia. Para esto es importante el Círculo de Deeming y el feedback que recibo del público.

Conclusión

Creo que podemos sacar unos valores que debemos almacenar en nuestros cerebros. Unas frases célebres de esas que tanto gustan a la gente nos hablará

  • Si todos piensan igual, entonces nadie está pensando
    • George S. Patton o Winston Churchill, lo cierto es que no he encontrado el autor exacto pero tengo medianamente claro que fue alguien de la primera mitad del siglo XX. Esta frase se ha convertido en mi máxima y creo que no está de más recordarla
  • La vida es como montar en bicicleta. Para mantener el equilibro hay que seguir pedaleando
    • Atribuida a Albert Einstein, es una frase que refleja que no debemos quedarnos parados, siempre tenemos que tener metas, objetivos que alcanzar
  • Nunca discutas con un idiota, te rebajará a su nivel y te ganará por su experiencia
    • Dicha por Mark Twain. Conviene recordarla muy a menudo en estos tiempos.
  • Una mentira repetida adecuadamente mil veces se convierte en una verdad
    • De Joseph Goebbels. Tiene usos positivos y negativos, aunque…
  • No hay buenos o malos, solo hay puntos de vista
    • No sé si lo dijo alguien, pero esto también es importante
  • Piensa globalmente, actúa localmente
    • El mundo no es tu ciudad y tu país. El mundo es mucho más grande, si no pensamos en esa gente nos estamos perdiendo el gran pastel. Y luego decimos que el pastel es una mentira.
  • Publicar es una característica
  • Ponte objetivos cortos, nunca parés y alcanzarás grandes metas

Finalizando

Os deseo a todos vosotros un feliz año 2015 que sea todavía mejor que 2014

 

¿Qué nos espera en Haiku Beta?

No sé si conoceis Haiku. Se trata de un sistema operativo libre (bajo licencia MIT) que intenta ser un clon libre de BeOS siguiendo su filosofía. Podríamos compararlo a Linux respecto a UNIX o ReactOS respecto a Windows NT. El caso es que no comparte nada con otros sistemas operativos disponibles en el mercado y eso lo hace muy interesante. La historia de Haiku y BeOS es muy interesante y podeis encontrar mucha información al respecto que no voy a replicar. Sin embargo el desarrollo de Haiku siempre ha sido muy lento y ahora mismo estamos en los albores de la Beta 1 de Haiku. Después de 4 alphas bastante estables se van a atrever a lanzar la primera beta. ¿Por qué ahora? Vamos a ver las novedades que traerá Haiku para saber porque se ha decidido este importante paso.

haiku-basic

Compilador actualizado

Haiku ya dispone de una vía rápida para obtener un compilador con las últimas características que se esperan de él. La versión que está instalada en mi máquina virtual tiene GCC 4.8.3 (publicado el 22 de mayo de 2014). Sin embargo no será el compilador por defecto. Durante mucho tiempo en Haiku solo se podía usar GCC 2.95 y va a seguir siendo el compilador por defecto. Las razones es que el código generado por este compilador son compatibles con el último BeOS. Actualmente en Haiku se ofrecen 4 descargas para x86: una usando solo GCC 2, otra usando solo GCC 2, una híbrida usando por defecto GCC 2 y otra híbrida usando por defecto GCC 4. Recomiendo la híbrida usando por defecto GCC 2.

haiku-gcc

Nuevas arquitecturas

Relacionado con lo anterior Haiku ha podido ser portado a arquitecturas diferentes como PPC, ARM, m68k y x86_64. Decir que la versión ARM es todavía muy prematura aunque se han hecho grandes avances en ello.

Navegador web actualizado

Haiku antes disponía de Firefox. Un día Firefox decidió usar Cairo como librería de renderizado. Esto supone un aumento de velocidad para Firefox en aquel momento pero rompe el port existente con BeOS/Haiku/ZETA. Cairo al igual que GTK nunca han estado soportados de manera oficial en BeOS y con GTK2 el port que había dejó de funcionar. Desde entonces Haiku ha sufrido la carencia de navegadores decentes. Algo más grave si tenemos en cuenta la importancia de HTML5. Así pues ahora mismo en 2014 tenemos los siguientes navegadores gráficos actualizados funcionando sobre Haiku:

Pero también tendríamos versiones antiguas de:

  • Firefox (BeZilla)
  • Opera
  • NetPositive

Qupzilla usa WebKit y Qt, además es bastante inestable. Y su interfaz no es la típica de Haiku. Por eso no es muy usado por la comunidad. NetSurf es bastante estable ya que es una de las plataformas a las que está enfocado, pero NetSurf es un navegador muy pequeño comparado con otros. Usa su propio motor y es muy ligero pero muy poco compatible. De hecho no soporta JavaScript. Nos queda WebPositive, el navegador oficial de Haiku. Usa WebKit pero usando una interfaz nativa de Haiku y con llamadas propias al sistema. Está implementado con la API BWebView para que otras aplicaciones lo puedan usar. Es el navegador más avanzado con un soporte decente para HTML5 y JavaScript. Le sigue faltando WebGL y alguna que otra API pero el soporte de SVG, Canvas 2D, Audio y muchas otras características es bastante decente. Mencionar también que Haiku soporta OpenJDK 7 como un port que funciona decentemente.

haiku-webpositive

Sistema de paquetería

Quizá la característica más importante para Haiku ha sido el sistema de paquetería. Un gran sistema que se podría calificar como de lo mejores en mucho tiempo. Esto no quiere decir que Haiku no tuviese sistema de paquetería antes, realmente tenía uno muy simple pero que servía, eran los OptionalPackages. Sin embargo el concepto de sistema de paquetería ha sido rediseñado para Haiku y el resultado es bastante bueno. Lo primero que vemos son dos programas dedicados a gestionar la paquetería para los usuarios, el primero es pkgman, el de línea de comandos y el segundo es HaikuDepot, para realizar todas las operaciones desde la línea de comandos. Esta es una cosa que me gusta de Haiku, cuidan tanto la línea de comandos como la interfaz gráfica y quieren que tengas las mismas características en cualquier entorno. Respecto a los paquetes, usan una extensión .HPKG y para instalarlos los tendremos que copiar en nuestra carpeta de usuario (actualmente es /boot/home/config/packages) y ya está.

¿Sólo hay que copiar los paquetes? ¿ya está?

Sí, solo hay que copiar. La magia reside en el PackageFS, un sistema de archivos que surge de la lectura del HPKG y montando los ficheros en sus respectivos lugares en modo lectura. Para ello hay un demonio vigilando la carpeta y si recibe cambios los descomprime y los monta en el sistema de ficheros. Esto influye a que ahora solo la carpeta /boot/home pueda ser escrita simple y llanamente porque el resto de carpetas (/boot/system es la única que veo) están montadas en modo solo lectura de los paquetes del sistema. Estos estan localizados en /boot/system/packages. En esta carpeta también podremos escrbir y borrar pero teniendo en cuenta que el HPKG con el kernel también está ahí conviene tener cuidado con la carpeta. Y la cosa se hace más graciosa cuando comprobamos que cada paquete tiene cargada su instancia del sistema operativo y sus librerías (/boot/system/package-links). La verdad es que las instalaciones son muy rápidas y funciona por lo general. En un próximo post enseñaré a crear paquetes para Haiku   (usando HPKG) de dos métodos distintos y que ocurre con la gestión de dependencias. También crearemos un repositorio y veremos como hacer Haiku un sistema operativo 100% rolling release usando los HPKG.

haiku-depot

Conclusión

Me habré dejado cosas seguro y además la compatibilidad con aplicaciones de terceros ha aumentado. Haiku se acerca a su primera beta y las cosas se ponen muy pero que muy interesantes.