Difference between revisions of "Haiku specific Release Engineering/es"

From Lazarus wiki
(‎)
 
m (Added page template)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Haiku specific Release Engineering}}
 +
 +
HAIKU es un sistema operativo muy interesante que aún se encuentra en fase de desarrollo:
 +
 +
En concreto a fecha 17 de Agosto 2017:
 +
Versión: R1/Alpha 4.1
 +
Fecha de salida: 14 de noviembre de, 2012
 +
Plataforma de computación: x86-32
 +
 +
    Haiku 32-bit híbrido (Compatible, Estable)
 +
 +
        Architecture: x86
 +
        Compatibilidad binaria con BeOS: Si
 +
        Compilador: gcc 2.95.3 + gcc 5.4.0
 +
 +
    Haiku 64-bit (Moderno, Rápido)
 +
 +
        Arquitectura: x86_64
 +
        Compatibilidad binaria BeOS: No
 +
        Compiler: gcc 5.4.0
 +
 +
A fecha 28 de Septiembre de 2018:
 +
Versión: R1/beta1
 +
Plataforma de computación: x86,32 & 64 bits.
 +
 +
Builds nocturnas:
 +
 +
Haiku para 32 bits Hibrído:
 +
 +
  Arquitectura: x86
 +
  Compatibilidad con BeOS: si
 +
  Compilador: gcc 2.95.3 + gcc 7.3.0
 +
 +
Haiku para 64 bits:
 +
 +
  Architectura: x86_64
 +
  Compatibilidad con BeOS: No
 +
  Compilador: gcc 7.3.0.
 +
 +
 +
Estas builds nocturnas incorporan mejoras que pueden ser o no más estables que la R1/'''Beta'' 1. Desde luego no aconsejadas para producción y bajo el riesgo de quién se las instale sin ningún tipo de garantía.
 +
 +
A fecha de hoy:
 +
 +
https://www.haiku-os.org/get-haiku/
 +
 +
 +
Es evidente que necesitan desarrolladores para dar un impulso a este interesante sistema operativo y que FreePascal  & Lazarus esté disponible bajo este sistema indudablemente beneficiaría notablemente a ambas comunidades.
 +
 +
Es un sistema operativo que cada vez tiene más drivers (incluso portados de otros sistemas) y aplicaciones disponibles en su repositorio (Haiku Depot) y sería muy interesante tener disponibles tanto FreePascal como Lazarus en la versión empaquetada que ellos utilizan que es .HPKG ya que incluso la actual versión oficial de FreePascal que tiene formato .hpkg cuando se desempaqueta lo hace en un directorio non packaged.
 +
 +
Otra cuestión es que esta versión de FreePascal (solo 32 bits) contiene una compilación del IDE fp que requiere ncurses 5 para arrancar no siendo posible ya que en el Depot de Haiku se tiene actualmente ya la 6.
 +
 +
En mi caso he probado el formato Live en CD tanto R1/Alpha 4.1 como la R1/ Beta 1 que arranca más rápido en bastante hardware real y sobre todo en entornos virtualizados.
 +
 +
Progreso realizado con fpcupdeluxe:
 +
 +
Hay cierto trabajo implementado en fpcupdeluxe ([[https://wiki.freepascal.org/fpcupdeluxe/es]] pero más avanzado para la versión de 32.
 +
 +
Por ejemplo, a fecha de escribir esto (octubre 2019) hace dos años que se modificaron:
 +
 +
    ftplist.pas  -> Para añadir Haiku.
 +
 +
Algunas modificaciones del GUI y sobre Haiku:
 +
 +
    m_any_to_haiku386.pas
 +
    m_any_to_haikux64.pas
 +
 +
En extrasettings.pas contempa como sistema operativo Target haiku y como CPU tanto x86_64 como i386.
 +
 +
En fpcuputil.pas se indica que synaser no compila bajo Haiku.
 +
 +
No he logrado generar un fichero ejecutable para Haiku ni en 32 ni en 64.
 +
 +
Dado que este programa realiza la descarga de software incluyendo las binutils no se si logra descargar todo lo que enecesita y en las versiones actuales.
 +
 +
 +
 +
Desconozco si Oco tendrá tiempo de afianzar la parte de desarrollo para Haiku y así hacer realidad el poder instalar Lazarus en este interesante sistema operativo de escritorio.
 +
 +
Bajo Debian para compilarlo parece que necesita: make binutils build-essential gdb subversion zip unzip libx11-dev libgtk2.0-dev libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev
 +
 
==== Obteniendo fpcbuild desde el repositorio ====
 
==== Obteniendo fpcbuild desde el repositorio ====
  
Line 4: Line 86:
  
 
   svn export http://svn.freepascal.org/svn/fpcbuild/tags/release_2_4_0 fpcbuild
 
   svn export http://svn.freepascal.org/svn/fpcbuild/tags/release_2_4_0 fpcbuild
 
  
 
Actualmente puede resultar algo difícil obtener el árbol completo en un shot bajo Haiku. La causa de base es que no se conoce aún (Haiku ? Subversion ? the network ?).
 
Actualmente puede resultar algo difícil obtener el árbol completo en un shot bajo Haiku. La causa de base es que no se conoce aún (Haiku ? Subversion ? the network ?).
Line 10: Line 91:
 
Una alternativa es chequear el repositorio fpcbuild. Esto consume mucho más espacio en disco, pero a cambio se puede actualizar el árbol en caso de descarga parcial.
 
Una alternativa es chequear el repositorio fpcbuild. Esto consume mucho más espacio en disco, pero a cambio se puede actualizar el árbol en caso de descarga parcial.
  
==== Getting binaries for debugging support in the IDE ====
+
==== Obteniendo los binarios para el soporte de depurado en el IDE ====
  
At the time of writing, a package containing the needed files is available here : http://olivier.coursiere.free.fr/download/libgdb-6.3-i386-haiku.zip
+
A fecha de escribir esto está disponible un paquete que contiene todos los ficheros disponibles en http://olivier.coursiere.free.fr/download/libgdb-6.3-i386-haiku.zip
  
Extract this file in fpcbuild/fpcsrc/.
+
Extrae este fichero en fpcbuild/fpcsrc/.
  
On recent versions of Haiku (aka with package management), it might be necessary to install some development package in order to link with above GDB libraries :
+
En versiones recientes de Haiku (aka con gestión de paquetes), puede que sea necesario instalar algún paquete de desarrollo para enlazar con las librerías GDB:
  
 
* libncurses_devel
 
* libncurses_devel
  
===== Instructions used to compile above gdb libraries for Freepascal (probably deprecated) =====
+
===== Instrucciones utilizadas para compilar las librerias GDB para Freepascal (probablemente deprecated) =====
  
 
Keep for reference of required libraries under Haiku with package management.
 
Keep for reference of required libraries under Haiku with package management.
  
While you can compile gdb on your own, the easiest way (by far) under Haiku is to build Haiku yourself. Instructions are available at http://www.haiku-os.org/development.
+
A pesar de que puedas compilar GDB por ti mismo, el modo más sencillo (de lejos) bajo Haiku es construir Haiku por ti mismo. Las instrucciones están disponibles en
 +
While you can compile gdb on your own, the easiest way (by far) under Haiku is to build Haiku yourself. Instructions http://www.haiku-os.org/development.
  
Then, you can collect all the needed files in the build tree :
+
Entonces ya puedes colectar todos los ficheros necesarios en el árbol de construcción:
  
* '''libgdb.a''' in <tt>generated/objects/haiku/x86/release/bin/gdb/gdb</tt>
+
* '''libgdb.a''' en <tt>generated/objects/haiku/x86/release/bin/gdb/gdb</tt>
* '''libbfd.a''' in <tt>generated/objects/haiku/x86/release/bin/gdb/bfd</tt>
+
* '''libbfd.a''' en <tt>generated/objects/haiku/x86/release/bin/gdb/bfd</tt>
* '''libiberty.a''' in <tt>generated/objects/haiku/x86/release/bin/gdb/libiberty</tt>
+
* '''libiberty.a''' en <tt>generated/objects/haiku/x86/release/bin/gdb/libiberty</tt>
* '''libopcodes.a''' in <tt>generated/objects/haiku/x86/release/bin/gdb/opcodes</tt>
+
* '''libopcodes.a''' en <tt>generated/objects/haiku/x86/release/bin/gdb/opcodes</tt>
* '''libreadline.a''' in <tt>generated/objects/haiku/x86/release/bin/gdb/readline</tt>
+
* '''libreadline.a''' en <tt>generated/objects/haiku/x86/release/bin/gdb/readline</tt>
  
 
* '''libintl.a''' in <tt>generated/objects/haiku/x86/release/bin/gawk/intl/</tt>
 
* '''libintl.a''' in <tt>generated/objects/haiku/x86/release/bin/gawk/intl/</tt>
Line 38: Line 120:
 
* '''libgcc.a''' in <tt>/boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-081024/lib/gcc-lib/i586-pc-haiku/2.95.3-haiku-081024</tt> (you may have to adapt the path to the installed gcc version  on your machine).
 
* '''libgcc.a''' in <tt>/boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-081024/lib/gcc-lib/i586-pc-haiku/2.95.3-haiku-081024</tt> (you may have to adapt the path to the installed gcc version  on your machine).
  
Put those files in a libgdb subfolder in fpcsrc (in the corresponding <system>/<architecture> folders) :
+
Sitúa estos ficheros en una subcarpeta libgdb dentro de fpcsrc (en las carpetas correspondientes >/<architecture>) :
  
 
  fpcbuild/fpcsrc/libgdb/haiku/i386
 
  fpcbuild/fpcsrc/libgdb/haiku/i386
  
==== Getting documentation ====
+
==== Obteniendo documentación ====
  
Get the most recent docs package from the ftp site, it's called doc-pdf.tar.gz and copy it into the <tt>fpcbuild/</tt> directory. You should put this file in the root directory of the source repository, aka in fpcbuild.
+
Puedes obtener el paquete más reciente de documentación desde el sitio ftp, se llama doc-pdf.tar.gz , lo puedes copiar dentro del directorio <tt>fpcbuild/</tt>. Deberías situar este fichero en la raíz del directorio del directorio fuente, aka en fpcbuild.
  
In case of an official release candidate or final version, you should ask the file to the release coordinator.
+
En caso de una release candidate oficial o de una versión final deberías preguntar el fichero al coordinador de la release.
  
==== Building packages ====
+
==== Construyendo paquetes ====
  
Change into <tt>fpcbuild/</tt>, then execute
+
Cambia al directorio <tt>fpcbuild/</tt>, a continuación ejecuta:
  
 
   install/makepack
 
   install/makepack
  
===== Build under older version of Haiku (before hrev46213)  =====  
+
===== Construir con versiones antiguas de Haiku (antes de hrev46213)  =====  
  
'''pre-2.4.0 specific''' : if haiku is not in the UNIXs variable at the begining of Makefile, you will have to regenerate them with fpcmake (at least from r14324). If not, the install script adapted for Haiku will not fully work. Here is the command line to do so :
+
'''pre-2.4.0 specific''' : si haiku no se encuentra en la variable UNIXs al principio de Makefile, entonces tendrás  que generarla con  fpcmake (al menos desde r14324). Si no, el script de instalación adaptado para Haiku no funcionará plenamente. Aquí está la línea de mandato para hacer esto:
  
 
   fpcmake -Tall -r
 
   fpcmake -Tall -r
  
Haiku is unix like enough to use the Freepascal's unix scripts to generate a binary distribution. Unfortunately, there is no <tt>/usr/bin</tt> path under Haiku. So, the usual shebang will not work. A workaround is to execute the script with <tt>sh</tt> directly.
+
Haiku es bastante similar a unix como para utilizar Freepascal's unix scripts y generar una distribución binaria. Desafortunadamente, no existe un trayecto <tt>/usr/bin</tt> bajo Haiku. Por tanto, todo esto no funcionará. Una tarea a realizar por tanto sería ejecutar un script con <tt>sh</tt> directamente.
  
Change into <tt>fpcbuild/</tt>, then execute
+
Cambiar dentro de <tt>fpcbuild/</tt>, después ejecutar.
  
 
   sh install/makepack
 
   sh install/makepack
  
 
+
Este shell script crea el paquete.
[[Category:Operating Systems and Platforms]]
 

Latest revision as of 09:35, 6 August 2020

English (en) español (es)

HAIKU es un sistema operativo muy interesante que aún se encuentra en fase de desarrollo:

En concreto a fecha 17 de Agosto 2017: Versión: R1/Alpha 4.1 Fecha de salida: 14 de noviembre de, 2012 Plataforma de computación: x86-32

   Haiku 32-bit híbrido (Compatible, Estable)
       Architecture: x86
       Compatibilidad binaria con BeOS: Si
       Compilador: gcc 2.95.3 + gcc 5.4.0
   Haiku 64-bit (Moderno, Rápido)
       Arquitectura: x86_64
       Compatibilidad binaria BeOS: No
       Compiler: gcc 5.4.0

A fecha 28 de Septiembre de 2018: Versión: R1/beta1 Plataforma de computación: x86,32 & 64 bits.

Builds nocturnas:

Haiku para 32 bits Hibrído:

 Arquitectura: x86
 Compatibilidad con BeOS: si 
 Compilador: gcc 2.95.3 + gcc 7.3.0

Haiku para 64 bits:

 Architectura: x86_64
 Compatibilidad con BeOS: No
 Compilador: gcc 7.3.0.


Estas builds nocturnas incorporan mejoras que pueden ser o no más estables que la R1/'Beta 1. Desde luego no aconsejadas para producción y bajo el riesgo de quién se las instale sin ningún tipo de garantía.

A fecha de hoy:

https://www.haiku-os.org/get-haiku/


Es evidente que necesitan desarrolladores para dar un impulso a este interesante sistema operativo y que FreePascal & Lazarus esté disponible bajo este sistema indudablemente beneficiaría notablemente a ambas comunidades.

Es un sistema operativo que cada vez tiene más drivers (incluso portados de otros sistemas) y aplicaciones disponibles en su repositorio (Haiku Depot) y sería muy interesante tener disponibles tanto FreePascal como Lazarus en la versión empaquetada que ellos utilizan que es .HPKG ya que incluso la actual versión oficial de FreePascal que tiene formato .hpkg cuando se desempaqueta lo hace en un directorio non packaged.

Otra cuestión es que esta versión de FreePascal (solo 32 bits) contiene una compilación del IDE fp que requiere ncurses 5 para arrancar no siendo posible ya que en el Depot de Haiku se tiene actualmente ya la 6.

En mi caso he probado el formato Live en CD tanto R1/Alpha 4.1 como la R1/ Beta 1 que arranca más rápido en bastante hardware real y sobre todo en entornos virtualizados.

Progreso realizado con fpcupdeluxe:

Hay cierto trabajo implementado en fpcupdeluxe ([[1]] pero más avanzado para la versión de 32.

Por ejemplo, a fecha de escribir esto (octubre 2019) hace dos años que se modificaron:

   ftplist.pas  -> Para añadir Haiku.

Algunas modificaciones del GUI y sobre Haiku:

   m_any_to_haiku386.pas 	
   m_any_to_haikux64.pas

En extrasettings.pas contempa como sistema operativo Target haiku y como CPU tanto x86_64 como i386.

En fpcuputil.pas se indica que synaser no compila bajo Haiku.

No he logrado generar un fichero ejecutable para Haiku ni en 32 ni en 64.

Dado que este programa realiza la descarga de software incluyendo las binutils no se si logra descargar todo lo que enecesita y en las versiones actuales.


Desconozco si Oco tendrá tiempo de afianzar la parte de desarrollo para Haiku y así hacer realidad el poder instalar Lazarus en este interesante sistema operativo de escritorio.

Bajo Debian para compilarlo parece que necesita: make binutils build-essential gdb subversion zip unzip libx11-dev libgtk2.0-dev libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev

Obteniendo fpcbuild desde el repositorio

Obtener las fuentes, descargar fpcbuild desde el ftp y extraer el contenido o bien desde la línea de mandato:

 svn export http://svn.freepascal.org/svn/fpcbuild/tags/release_2_4_0 fpcbuild

Actualmente puede resultar algo difícil obtener el árbol completo en un shot bajo Haiku. La causa de base es que no se conoce aún (Haiku ? Subversion ? the network ?).

Una alternativa es chequear el repositorio fpcbuild. Esto consume mucho más espacio en disco, pero a cambio se puede actualizar el árbol en caso de descarga parcial.

Obteniendo los binarios para el soporte de depurado en el IDE

A fecha de escribir esto está disponible un paquete que contiene todos los ficheros disponibles en http://olivier.coursiere.free.fr/download/libgdb-6.3-i386-haiku.zip

Extrae este fichero en fpcbuild/fpcsrc/.

En versiones recientes de Haiku (aka con gestión de paquetes), puede que sea necesario instalar algún paquete de desarrollo para enlazar con las librerías GDB:

  • libncurses_devel
Instrucciones utilizadas para compilar las librerias GDB para Freepascal (probablemente deprecated)

Keep for reference of required libraries under Haiku with package management.

A pesar de que puedas compilar GDB por ti mismo, el modo más sencillo (de lejos) bajo Haiku es construir Haiku por ti mismo. Las instrucciones están disponibles en While you can compile gdb on your own, the easiest way (by far) under Haiku is to build Haiku yourself. Instructions http://www.haiku-os.org/development.

Entonces ya puedes colectar todos los ficheros necesarios en el árbol de construcción:

  • libgdb.a en generated/objects/haiku/x86/release/bin/gdb/gdb
  • libbfd.a en generated/objects/haiku/x86/release/bin/gdb/bfd
  • libiberty.a en generated/objects/haiku/x86/release/bin/gdb/libiberty
  • libopcodes.a en generated/objects/haiku/x86/release/bin/gdb/opcodes
  • libreadline.a en generated/objects/haiku/x86/release/bin/gdb/readline
  • libintl.a in generated/objects/haiku/x86/release/bin/gawk/intl/
  • libgcc.a in /boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-081024/lib/gcc-lib/i586-pc-haiku/2.95.3-haiku-081024 (you may have to adapt the path to the installed gcc version on your machine).

Sitúa estos ficheros en una subcarpeta libgdb dentro de fpcsrc (en las carpetas correspondientes >/<architecture>) :

fpcbuild/fpcsrc/libgdb/haiku/i386

Obteniendo documentación

Puedes obtener el paquete más reciente de documentación desde el sitio ftp, se llama doc-pdf.tar.gz , lo puedes copiar dentro del directorio fpcbuild/. Deberías situar este fichero en la raíz del directorio del directorio fuente, aka en fpcbuild.

En caso de una release candidate oficial o de una versión final deberías preguntar el fichero al coordinador de la release.

Construyendo paquetes

Cambia al directorio fpcbuild/, a continuación ejecuta:

 install/makepack
Construir con versiones antiguas de Haiku (antes de hrev46213)

pre-2.4.0 specific : si haiku no se encuentra en la variable UNIXs al principio de Makefile, entonces tendrás que generarla con fpcmake (al menos desde r14324). Si no, el script de instalación adaptado para Haiku no funcionará plenamente. Aquí está la línea de mandato para hacer esto:

 fpcmake -Tall -r

Haiku es bastante similar a unix como para utilizar Freepascal's unix scripts y generar una distribución binaria. Desafortunadamente, no existe un trayecto /usr/bin bajo Haiku. Por tanto, todo esto no funcionará. Una tarea a realizar por tanto sería ejecutar un script con sh directamente.

Cambiar dentro de fpcbuild/, después ejecutar.

 sh install/makepack

Este shell script crea el paquete.