Creación de paquetes con haikuporter


Original: https://www.haiku-os.org/blog/humdinger/2017-02-22_building_packages_with_haikuporter/


1. Conseguir HaikuPorter y las Recetas


Consigue la herramienta HaikuPorter y el árbol de haikuports con todas las

 recetas:git clone https://github.com/haikuports/haikuporter.git --depth=50 git clone https://github.com/haikuports/haikuports.git --depth=50


Eso creará dos directorios: "haikuporter" con la herramienta python y "haikuports" con todas las recetas categorizadas en subcarpetas. --depth=50limita la clonación a las últimas 50 confirmaciones para ahorrar tiempo de descarga y espacio en disco.


2. Configuración de HaikuPorter


Coloque HaikuPorter en la "Ruta" del sistema, para que pueda invocarse como cualquier otro comando:

cd haikuporter 

ln -s haikuporter ~/config/non-packaged/bin/


Copie y edite el archivo de configuración de haikuports:

cp haikuports-sample.conf ~/config/settings/haikuports.conf 


lpe ~/config/settings/haikuports.conf



En el archivo haikuports.conf, debe editar/eliminar el comentario de las líneas:


TREE_PATH - donde clonó el árbol de haikuports, por ejemplo, "/boot/home/haikuports"

PACKAGER: su nombre y dirección de correo electrónico, por ejemplo, " Humdinger <humdinger@mymail.com>"

TARGET_ARCHITECTURE="x86_gcc2"

SECONDARY_TARGET_ARCHITECTURE="x86"

Esto es para ejecutar Haiku de 32 bits (gcc2hybrid), donde el compilador gcc2 anterior es el predeterminado para mantener la compatibilidad con BeOS y "x86" es un compilador moderno (actualmente gcc11.2) para aplicaciones que no se compilarán con el antiguo gcc2.

Si está ejecutando Haiku de 64 bits, no hay un compilador gcc2 antiguo para la compatibilidad con BeOS. Aquí puede mantener comentados tanto TARGET_ARCHITECTURE como SECONDARY_TARGET_ARCHITECTURE, es decir, con el '#' al principio.



3. Uso de HaikuPorter


Ahora puede comenzar a usar HaikuPorter. Obtienes todas sus opciones con " haikuporter --help".

En el árbol de haikuports, busca la receta del software que le gustaría construir. También puede utilizar, por ejemplo, " haikuporter -o artpaint" para que haikuporter busque una receta específica, aquí para “ArtPaint”.

Para construir ArtPaint, escribe:

haikuporter -S -j4 --get-dependencies --no-source-packages artpaint


-S: aplicar una "política estricta" para crear HPKG compatibles con los estándares.

-j4: use 4 núcleos al construir para ahorrar tiempo.

--get-dependencies: descarga automáticamente todos los paquetes necesarios para la construcción que aún no están instalados.

--no-source-packages: no cree un paquete con el código fuente.

artpaint: construye la última receta para "ArtPaint".

Encontrará paquetes creados con éxito en la carpeta " haikuports/packages".

4. Mantenerse actualizado


El árbol de haikuports recibe cambios casi a diario con recetas nuevas, actualizadas y arregladas. Para mantenerse al tanto de esos cambios, debe actualizar periódicamente. Esto es muy fácil con " haikuporter --get".

Asimismo, el propio haikuporter se actualiza de vez en cuando. A más tardar, si las recetas comienzan a fallar en la construcción, debe actualizar. Esto también es bastante fácil; ingresa al directorio "haikuporter" que ha clonado en el primer paso y lo usa gitpara extraer todos los cambios:cd haikuporter git pull

5. Consejos y trucos



Para ahorrarse mucho escribir, puede agregar esta línea al archivo ~/config/settings/profile (un archivo de texto que debe crear si aún no existe):

alias hp='haikuporter -S -j4 --get-dependencies --no-source-packages'


Ahora puede construir con un simple " hp artpaint" y hacer que esos parámetros estándar se agreguen automáticamente.


Algunos programas no se pueden compilar con gcc2 y necesitan el compilador moderno. Puedes ver eso en las recetas que declaran:


ARCHITECTURES="!x86_gcc2 x86 x86_64" 

SECONDARY_ARCHITECTURES="x86"


El "!" dice que el paquete no se puede construir para esa arquitectura. A "?" muestra que no ha sido probado para ello.

En tal caso, haikuporter se quejará de que "está roto en la arquitectura de destino". Instruye a haikuporter para que construya con la arquitectura secundaria agregando un " _x86" al nombre de la receta, por ejemplo, " bepdf_x86".


A veces encuentra recetas para diferentes versiones de un software. HaikuPorter construye lo último por defecto. Si desea una versión específica, puede agregar el número de versión que se encuentra en el nombre de archivo de la receta, por ejemplo, " bepdf_x86-2.0.0" para compilar la versión 2.0.0 de BePDF para la arquitectura secundaria (gcc5.4 actualmente).


Si algo sale mal y desea comenzar de nuevo, abra la carpeta de la receta que intenta generar y elimine todas las carpetas que comienzan con " work-". También elimine la downloadcarpeta " " si sospecha que el archivo fuente está dañado.
Haga un " haikuporter artpaint -c" para ArtPaint como ejemplo. En algunos casos extraños, es posible que también deba eliminar las carpetas " haikuports/packages" y " haikuports/repositories", que se volverán a crear con mucho tiempo en la siguiente compilación.
Hora de Libertad

Post a Comment

Previous Post Next Post