• [ITT] wml://ports/hurd/hurd-devel-debian.wml

    From Rafa@21:1/5 to All on Mon Feb 6 17:40:01 2023
    Un saludo,

    Rafa.


    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEmWG93VeeZdp4txl4ZtqJNWf7L+EFAmPhKukACgkQZtqJNWf7 L+FppBAAlof4MprYKHbmVl7y/0xwPG3OSZGmYZc8gBJYtjmwiBrtf78r/CXKlmwn IEj/fpjwIxN3gySbNzmME7YtCbGw+4ct8zs3ornGgiZD3/z2Gy8Pvonr6tA2RO0w H+I2oPU9HMHdGFYaMynPmcYlVmoBpABhVPMOdq6oQoZwC3e70nvcriJ4KCJW6sh1 geNPXhg1KP5LCz/1esQp+JE2h52CfyiTpCrIeFdzoBSIDsx8R+voFFeOlgpycKx+ 3G4EJ0XPTAybwPruMhcHH92twM9xirxp/RKdNqEVxBEqJQfs6gdIw0aST+sxZ8qb GI0Me6HEH+xPY5/pgONzuWYrgAjYGVHaoaeDxKOsV/XxIckP9rTE7IZJMjY6Wyjc 97MDgTdDKWgIRall9DwoLmk3jW/V+L0kGRJPKnBiLAOVDduCq7U7sEPCwQTpksA3 fbtcS1mxkQqTlkb8KOWJ2/fQooJgBFmOUQKSVutw4gEkb8OcBnm9yQEI7Mi7ymBA N/BLqW+Vsy0jNG8pQwLMM7MkrIyf33cHXyTDuAZ8l3q/6L776+PsewEl2JfYT0Kw P4jK2lAbKRTZ6VMckQIJEr99IMAHGHBA+8phAe56n8a7Be0jHXa5xNjBbi9SIYcq fWoQuxZdycK7hEWC8SpRb1JyLZ+NK187irIxYQb2OPe4YUHVIaw=
    =4F7f
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rafa@21:1/5 to All on Sat Feb 11 21:40:01 2023
    --Agf/5eRofwmLUMPW
    Content-Type: text/plain; charset=iso-8859-1
    Content-Disposition: inline
    Content-Transfer-Encoding: quoted-printable

    Hola:

    Adjunto la traducción actualizada y un fichero de diferencias con la
    versión anterior.

    También he subido la traducción actualizada al repositorio.

    Nota: solo he revisado el texto actualizado, no toda la página.

    Un saludo,

    Rafa.


    --Agf/5eRofwmLUMPW
    Content-Type: text/vnd.wap.wml; charset=utf-8
    Content-Disposition: attachment; filename="hurd-devel-debian.wml" Content-Transfer-Encoding: quoted-printable

    #use wml::debian::template title="Debian GNU/Hurd --- Desarrollo" NOHEADER="yes"
    #use wml::debian::translation-check translation="e42a3c19fa8c376678e6147f47b31ba3fc60e369"
    #include "$(ENGLISHDIR)/ports/hurd/menu.inc"


    Debian GNU/Hurd</h1>

    Desarrollo de la distribución</h2>


    Empaquetado de software Hurd</h3>

    Los paquetes específicos de Hurd se mantienen en <url "https://salsa.debian.org/hurd-team/">.



    Adaptar paquetes de Debian</h3>

    Si quiere ayudar con la arquitectura GNU/Hurd, debería familiarizarse
    con el sistema de empaquetado de Debian. Una vez que lo haya hecho,
    leyendo la documentación disponible y visitando el <a href="$(HOME)/devel/">Rincón de los Desarrolladores</a> debería saber
    cómo extraer los fuentes de los paquetes de Debian y compilar un
    paquete Debian. He aquí un curso acelerado para los muy perezosos:</p>


    Obtener el código fuente y construir paquetes</h3>

    Se puede obtener el código fuente simplemente ejecutando <code>apt source package</code>, que también extraerá los fuentes.



    Para extraer el contenido de un paquete de fuentes de Debian se necesita
    el fichero
    <code>package_version.dsc</code> y los ficheros listados en él. El
    directorio de compilación de Debian se construye con la orden
    <code>dpkg-source -x package_version.dsc</code></p>


    La construcción de un paquete se lleva a cabo en el nuevo directorio de construcción de Debian
    <code>package-version</code> con la orden
    <code>dpkg-buildpackage -B -rsudo "-mMiNombre &lt;MiCorreo&gt;"</code>.
    En lugar de <code>-B</code> se puede usar
    <code>-b</code> si también quiere construir las partes del paquete que
    son independientes de la arquitectura (aunque esto normalmente resulta inútil puesto que ya están
    disponibles en el archivo y construirlas puede requerir dependencias adicionales). Puede utilizar
    <code>-uc</code> para evitar firmar el paquete con su clave pgp.</p>


    La construcción puede necesitar que se instalen paquetes adicionales.
    La manera más sencilla es ejecutar <code>apt build-dep package</code>,
    que instalará todos los paquetes necesarios.



    Puede ser conveniente usar pbuilder. Se puede construir con
    <code>sudo pbuilder create --mirror http://deb.debian.org/debian-ports/ --debootstrapopts --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg --debootstrapopts --extra-suites=unreleased --extrapackages debian-ports-archive-keyring</code>
    y entonces se puede usar <code>pdebuild -- --binary-arch</code> que gestionará la descarga de las dependencias, etc. y colocará el resultado en <code>/var/cache/pbuilder/result</code>



    Escoja uno</h3>

    ¿En qué paquetes se necesita trabajar? Bien, cualquiera que aún no haya
    sido adaptado, y lo necesite. Esto cambia de forma constante, de manera
    que es preferible concentrarse primero en paquetes que tengan muchas dependencias inversas, lo que puede verse en el gráfico de dependencias
    de paquetes <url "https://people.debian.org/~sthibault/graph-radial.pdf">
    que se actualiza cada día, o en la lista de más solicitados
    <url "https://people.debian.org/~sthibault/graph-total-top.txt"> (ésta es
    la de más solicitados a largo plazo, la de más solicitados a corto plazo es <url "https://people.debian.org/~sthibault/graph-top.txt">).
    También suele ser buena idea escoger de la lista de desactualizados
    <url "https://people.debian.org/~sthibault/out_of_date2.txt"> y
    <url "https://people.debian.org/~sthibault/out_of_date.txt">, ya que esos solían funcionar, y ahora están rotos probablemente solo por un par de razones.
    Puede simplemente escoger uno de los paquetes que faltan de manera aleatoria, o mirar los registros de autoconstrucción en la lista de correo debian-hurd-build-logs,
    o usar la lista wanna-build de
    <url "https://people.debian.org/~sthibault/failed_packages.txt"> .
    Algunos problemas de construcción son más fáciles de corregir que otros. Típicamente, "undefined reference to foo", donde foo es algo como pthread_create, dlopen, cos, ... (que obviamente están disponibles en hurd-i386), que solamente muestra que el
    paso de configuración del paquete olvidó incluir -lpthread, -ldl, -lm, etc. en el Hurd también. Tenga en cuenta sin embargo que las funciones ALSA MIDI no está disponible.


    También, compruebe si ya se ha realizado trabajo en
    <url "https://alioth.debian.org/tracker/?atid=410472&amp;group_id=30628&amp;func=browse">,
    <url "https://alioth.debian.org/tracker/?atid=411594&amp;group_id=30628&amp;func=browse">,
    y el BTS (<url "https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=debian-hurd@lists.debian.org;tag=hurd">), y <url "https://wiki.debian.org/Debian_GNU/Hurd">,
    y el estado de los paquetes en vivo en buildd.debian.org, p.ej.
    <url "https://buildd.debian.org/util-linux">.



    Paquetes que no van a ser adaptados
    </h4>

    Algunos de estos paquetes, o partes de ellos, podrían ser adaptables
    más adelante, pero, al menos actualmente, se consideran inadaptables. Normalmente se marcan como NotForUs en la base de datos de buildd.




    <code>base/makedev</code>, porque el Hurd viene con su propia versión de
    este guión. El paquete de fuentes de Debian sólo contiene una versión específica para Linux.</li>

    <code>base/modconf</code> y <code>base/modutils</code>, porque el concepto
    de módulo es específico de Linux.</li>

    <code>base/netbase</code>, porque el resto de cosas que hay en él es
    muy específico del núcleo Linux. El Hurd, en su lugar, utiliza <code>inetutils</code>.</li>

    <code>base/pcmcia-cs</code>, porque este paquete es específico para Linux.</li>

    <code>base/setserial</code>, porque es específico para el núcleo de Linux. Sin embargo, con la adaptación de los gestores de dispositivos de
    caracteres al Mach de GNU, quizá podamos utilizarlo.</li>
    </ul>

    <h3><a name="porting_issues">
    Generalidades de la adaptación
    </a></h3>

    Se puede encontrar<a href=https://www.gnu.org/software/hurd/hurd/porting/guidelines.html>Una lista de asuntos comunes</a> en el sitio web del proyecto original.
    Los siguientes asuntos comunes son específicos de Debian.</p>
    <p>Antes de arreglar algo, compruebe si la adaptación kfreebsd* quizá ya tiene un arreglo,
    y simplemente se debe extender a hurd-i386.</p>




    <code>foo : Depende: foo-data (= 1.2.3-1) pero no va a instalarse</code>

    La respuesta breve es: ha fallado la compilación del paquete <code>foo</code> en hurd-i386,
    lo que debe corregirse. Vea cuál es el fallo de compilación es su página de estado
    en buildd.debian.org.


    Esto ocurre típicamente cuando la compilación del paquete <code>foo</code> falla en la actualidad,
    pero solía ir bien antes. Use <code>apt-cache policy foo foo-data</code>
    para ver que, por ejemplo, están disponibles la versión <code>1.2.3-1</code> de
    <code>foo</code> y una versión más reciente de <code>foo-data</code>: <code>2.0-1</code>. Esto se debe a que, en debian-ports, los paquetes independientes de la arquitectura
    (arch:all) se comparten entre todas las arquitecturas y, por lo tanto, cuando se sube una versión más
    reciente del paquete fuente <code>foo</code> (del cual se generan los paquetes binarios <code>foo</code> y <code>foo-data</code>), se instala el paquete
    más reciente arch:all <code>foo-data</code>, aunque el paquete binario hurd-i386
    <code>foo</code> más reciente no compile, dando lugar a versiones incompatibles. La corrección de esto pasa por hacer que el archivo de debian-ports utilize dak en lugar
    de mini-dak, lo cual es todavía un trabajo en curso.


    </li>

    <code>han desaparecido del fichero de símbolos algunos símbolos o patrones</code>

    Algunos paquetes mantienen una lista de los símbolos que se espera que aparezcan en
    bibliotecas. Sin embargo, esta lista se obtiene habitualmente en un sistema Linux y, por lo tanto,
    incluye símbolos que pueden no tener sentido en sistemas no Linux (por ejemplo, relacionados con una
    funcionalidad exclusiva de Linux). Ahora bien, se pueden incluir condicionales en el
    fichero <code>.symbols</code>, por ejemplo:


    <table><tr><td>&nbsp;</td><td class=example><pre>
    (arch=linux-any)linuxish_function@Base 1.23
    </pre></td></tr></table>

    </li>

    <code>Dependencia con libc6 rota</code>


    Algunos paquetes dependen erróneamente de <code>libc6-dev</code>. Esto
    es incorrecto porque <code>libc6</code> es específica a algunas arquitecturas de
    GNU/Linux. El correspondiente paquete para GNU es <code>libc0.3-dev</code>
    pero otros Sistemas Operativos tendrán otras diferentes. Puede localizar el problema
    en el fichero <code>debian/control</code> en el árbol de código fuente. Soluciones típicas
    son detectar el SO usando <code>dpkg-architecture</code> e insertando en el código el soname,
    o mejor, usar un OR lógico. P.ej.:
    <code>libc6-dev | libc6.1-dev | libc0.3-dev | libc0.1-dev | libc-dev</code>.
    El paquete <code>libc-dev</code> es un paquete virtual que funciona para cualquier soname
    pero tiene que ponerlo sólamente como última opción.</p></li>

    <code>referencia no definida a snd_*, SND_* no declarado</code>

    Algunos paquetes usan ALSA incluso en arquitecturas no-Linux. El paquete oss-libsalsa
    proporciona alguna emulación sobre OSS, pero está limitado a 1.0.5, y no se proporcionan
    algunas características, como las operaciones de secuenciador.


    Si el paquete lo permite, el soporte de alsa debería deshabilitarse en
    las arquitecturas <code>!linux-any</code> (p.ej. a través de una opción <code>configure</code>), y añadir un cualificador <code>[linux-any]</code>
    al <code>Build-Depends</code> de alsa, y el añadir el opuesto a <code>Build-Conflicts</code>, como <code>Build-Conflicts: libasound2-dev [!linux-any]</code>.

    </li>

    <code>dh_install: no se encuentra (nada que concuerde con) "foo" (se ha intentado en debian/tmp)</code>

    Esto ocurre típicamente cuando el proyecto original no instaló algo porque no reconoció el sistema operativo. A veces es algo tonto (p.ej. no sabe que construir una biblioteca compartida en GNU/Hurd es exactamente igual que en GNU/Linux)
    y eso necesita una corrección. A veces tiene sentido, de hecho (p.ej. no instalar los
    archivos de servicios de systemd). En ese caso, uno puede usar dh-exec: haciendo depender la construcción de <tt>dh-exec</tt>,
    hacer <tt>chmod +x</tt> en el archivo <tt>.install</tt>, y encabezar las líneas problemáticas
    con p.ej. <tt>[linux-any]</tt> o <tt>[!hurd-any]</tt>.

    </li>
    </ul>

    <h3> <a name="debian_installer">
    Modificación del instalador de Debian</a></h3>


    Para generar una imagen ISO, lo más sencillo es partir de una imagen preexistente de las incluidas en <a href=hurd-cd>la página de imágenes de CD de Hurd</a>. A continuación, puede montarla y copiarla:


    <table><tr><td>&nbsp;</td><td class=example><pre>
    mount debian-sid-hurd-i386-NETINST-1.iso /mnt
    cp -a /mnt /tmp/myimage
    umount /mnt
    chmod -R +w /tmp/myimage
    </pre></td></tr></table>


    Puede montar el disco RAM inicial, y, por ejemplo, reemplazar un traductor por una versión preparada por usted:


    <table><tr><td>&nbsp;</td><td class=example><pre>
    gunzip /tmp/myimage/initrd.gz
    mount /tmp/myimage/initrd /mnt
    cp ~/hurd/rumpdisk/rumpdisk /mnt/hurd/
    umount /mnt
    gzip /tmp/myimage/initrd
    </pre></td></tr></table>


    Ahora puede generar la nueva imagen ISO con grub-mkrescue:


    <table><tr><td>&nbsp;</td><td class=example><pre>
    rm -fr /tmp/myimage/boot/grub/i386-pc
    grub-mkrescue -o /tmp/myimage.iso /tmp/myimage
    </pre></td></tr></table>

    </li>
    </ul>

    --Agf/5eRofwmLUMPW
    Content-Type: text/x-diff; charset=utf-8
    Content-Disposition: attachment; filename="hurd-devel-debian.wml.diff" Content-Transfer-Encoding: quoted-printable

    --- hurd-devel-debian.wml-old 2022-11-19 11:03:05.201451098 +0100
    +++ hurd-devel-debian.wml 2023-02-06 17:21:16.798664035 +0100
    @@ -1,5 +1,5 @@
    #use wml::debian::template title="Debian GNU/Hurd --- Desarrollo" NOHEADER="yes"
    -#use wml::debian::translation-check translation="dd86de49807cb957ea73388b4bf2565163644a0c"
    +#use wml::debian::translation-check translation="e42a3c19fa8c376678e6147f47b31ba3fc60e369"
    #include "$(ENGLISHDIR)/ports/hurd/menu.inc"


    @@ -8,6 +8,12 @@
    Desarrollo de la distribución</h2>


    +Empaquetado de software Hurd</h3>

    +Los paquetes específicos de Hurd se mantienen en <url "https://salsa.debian.org/hurd-team/">.
    +</p>
    +
    +<h3>
    Adaptar paquetes de Debian</h3>

    Si quiere ayudar con la arquitectura GNU/Hurd, debería familiarizarse
    @@ -20,7 +26,7 @@

    Obtener el código fuente y construir paquetes</h3>

    -Se puede obtener el código fuente simplemente ejecutando <code>apt-get source +Se puede obtener el código fuente simplemente e
  • From Rafa@21:1/5 to All on Fri Feb 24 18:20:01 2023
    Un saludo,

    Rafa.


    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEmWG93VeeZdp4txl4ZtqJNWf7L+EFAmP48QsACgkQZtqJNWf7 L+GFXhAAl6n5m/86Xe4PRxNPl6LNYSIwfplLkSfdngvCM2A3OxCQpE2slx1GumAE H2GqCeMFDhO7WndOVS0BuX/WWdukOazCtpabFb1/tkM+RtlrygZ/EaTLq33T31cp Og/ayl5rKGvHdFA9/ADQb0pAXY2PbmXa5hb1pRyGmNq+tESOB/qpMS8YXBVveME0 W8H4Hpe9P5XDBzzYGDPEHndv6h0yKDhaEQhu82SaDniFLgbK7V/LzVtIxwJ5L5iK gLWeSvAmGbWYMhlk4+t3HeEibXk2IEfIRERx1ux+th8A9+UnnZzSJFt+2yo+29/R E3OtwR1YYDcpmWVoyO1ybEEXOLfVEgy42LGoy1vej5a3v56a3cT4G5C5U6ermorG tzpzH1rtuioP9XJWcagHkms6i8ieIj7smg8nAjWY7R/gdVB5GOXgFt+o3aQTIvqu kBbkjLlNuv3r2PPdQI2xS5GuAjd30g65Pf1ZghvKwzHm8GTqRlw/7c8iLj+EU7dE BFCssWGxL6CVralHthCrZe+LnWYcMlFWEq+guSmkkBYyBUYF/vX2lfW3prSxVxWn XhHOsvHB2rgs8QvHnyY7CVgX6Vcl4aAZqY5FzqQYOSbZ0WIGM3ioKiaEClQYLosY vg+W9VRVRJu69J7Mk7tzgHv7yH0+mFkxgBXW2XsrurL7FUWJjcY=
    =Fpvl
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)