Compilar "Bind" en PkgSrc para SmartOS con la opción de "dnstap" (II)

En Compilar "Bind" en PkgSrc para SmartOS con la opción de "dnstap" describo cómo compilar Bind en SmartOS con soporte dnstap, utilizando PkgSrc. Por favor, lee dicho artículo para entender qué estoy haciendo y por qué.

El principal problema en ese artículo es que estoy utilizando la versión trunk de PkgSrc para beneficiarme de una versión más moderna de Bind, pero eso implica que la versión compilada utiliza bibliotecas no disponibles en la paquetería estándar de SmartOS y tenemos que compilarlas, distribuirlas e instalarlas a mano.

Si en vez de utilizar la versión trunk de PkgSrc utilizamos la versión que se corresponda a la Zona SmartOS en la que vamos a instalar Bind, no necesitaremos hacer nada especial.

Los cambios respecto a Compilar "Bind" en PkgSrc para SmartOS con la opción de "dnstap", serán:

  1. Usamos una zona nativa SmartOS con la versión del software PkgSrc que se corresponda a las zonas nativas SmartOS donde vamos a instalar el Bind que compilamos, en vez de la versión trunk de PkgSrc:

    [root@xXx ~]# imgadm avail|grep -i pkgbuild-lts
    188ee9ce-540a-11eb-9cc1-2748cd10e5e2  pkgbuild-lts                    20.4.0        smartos  zone-dataset  2021-01-11
    bd5afd7a-7ec1-11ec-80ab-7b01241031f6  pkgbuild-lts                    21.4.0        smartos  zone-dataset  2022-01-26
    
  2. Entramos en la zona pkgsrc por SSH y le pedimos que cree un entorno virtual de compilación:

    [root@PkgSrc ~]# run-sandbox 2021Q4-x86_64
    
    It looks like this is the first sandbox creation for this pkgbuild.  It
    will take longer than normal, as support packages need to be downloaded
    first.  Subsequent runs will be much faster after they have been cached.
    
    [...]
    
    Unpacking bootstrap-2021Q4-x86_64 into /data/chroot/dev-2021Q4-x86_64...done.
    Setting up environment...done.
    Installing additional tools packages...done.
    Logging in.  WARNING: On logout the sandbox will be destroyed.
    
       __        .                   .
     _|  |_      | .-. .  . .-. :--. |-
    |_    _|     ;|   ||  |(.-' |  | |
      |__|   `--'  `-' `;-| `-' '  ' `-'
                       /  ; Instance (pkgbuild-lts 21.4.0)
                       `-'  https://docs.joyent.com/images/smartos/pkgbuild
    
    --<root@PkgSrc>-(/data/chroot/dev-2021Q4-x86_64)-<~>--
    ->
    
  1. Compilamos Bind tal y como se describe en Compilar "Bind" en PkgSrc para SmartOS con la opción de "dnstap".
  2. Ahora podemos instalar nuestro paquete Bind con pkg_add [1].
[1] Si acaso necesitamos bibliotecas adicionales, podemos instalar el paquete Bind original del sistema con pkgin install bind916. Esto instala el paquete original, junto las bibliotecas que necesita. Luego podemos instalar nuestro Bind encima con pkg_add -U.