Un número de opciones que controlan el proceso de construcción son comunes a
guix build
y otras órdenes que pueden lanzar construcciones, como
guix package
o guix archive
. Son las siguientes:
--load-path=directorio
-L directorio
Añade directorio al frente de la ruta de búsqueda de módulos de paquetes (see Módulos de paquetes).
Esto permite a las usuarias definir sus propios paquetes y hacerlos visibles a las herramientas de línea de órdenes.
--keep-failed
-K
Mantiene los árboles de construcción de las construcciones fallidas. Por tanto, si una construcción falla, su árbol de construcción se mantiene bajo /tmp, en un directorio cuyo nombre se muestra al final del log de construcción. Esto es útil cuando se depuran problemas en la construcción. See Depuración de fallos de construcción, para trucos y consejos sobre cómo depurar problemas en la construcción.
Esta opción implica --no-offload, y no tiene efecto cuando se
conecta a un daemon remoto con una URI guix://
(see la
variable GUIX_DAEMON_SOCKET
).
--keep-going
-k
Seguir adelante cuando alguna de las derivaciones de un fallo durante la construcción; devuelve una única vez todas las construcciones que se han completado o bien han fallado.
El comportamiento predeterminado es parar tan pronto una de las derivaciones especificadas falle.
--dry-run
-n
No construye las derivaciones.
--fallback
Cuando la sustitución de un binario preconstruido falle, intenta la construcción local de paquetes (see Fallos en las sustituciones).
--substitute-urls=urls
Considera urls la lista separada por espacios de URLs de fuentes de
sustituciones, anulando la lista predeterminada de URLs de
guix-daemon
(see guix-daemon
URLs
).
Significa que las sustituciones puede ser descargadas de urls, mientras que estén firmadas por una clave autorizada por la administradora del sistema (see Sustituciones).
Cuando urls es la cadena vacía, las sustituciones están efectivamente desactivadas.
--no-substitutes
No usa sustituciones para la construcción de productos. Esto es, siempre realiza las construcciones localmente en vez de permitir la descarga de binarios pre-construidos (see Sustituciones).
--no-grafts
No “injerta” paquetes. En la práctica esto significa que las actualizaciones de paquetes disponibles como injertos no se aplican. See Actualizaciones de seguridad, para más información sobre los injertos.
--rounds=n
Construye cada derivación n veces seguidas, y lanza un error si los resultados de las construcciones consecutivas no son idénticos bit-a-bit.
Esto es útil para la detección de procesos de construcción
no-deterministas. Los procesos de construcción no-deterministas son un
problema puesto que prácticamente imposibilitan a las usuarias la
verificación de la autenticidad de binarios proporcionados por
terceras partes. See Invocación de guix challenge
, para más sobre esto.
Cuando se usa conjuntamente con --keep-failed, la salida que difiere se mantiene en el almacén, bajo /gnu/store/…-check. Esto hace fácil buscar diferencias entre los dos resultados.
--no-offload
No usa la delegación de construcciones en otras máquinas (see Uso de la facilidad de delegación de trabajo). Es decir, siempre realiza las construcciones de manera local en vez de delegar construcciones a máquinas remotas.
--max-silent-time=segundos
Cuando la construcción o sustitución permanece en silencio más de segundos, la finaliza e informa de un fallo de construcción.
Por defecto, se respeta la configuración del daemon (see --max-silent-time).
--timeout=segundos
Del mismo modo, cuando el proceso de construcción o sustitución dura más de segundos, lo termina e informa un fallo de construcción.
Por defecto, se respeta la configuración del daemon (see --timeout).
-v nivel
--verbosity=nivel
Use the given verbosity level, an integer. Choosing 0 means that no output is produced, 1 is for quiet output; 2 is similar to 1 but it additionally displays download URLs; 3 shows all the build log output on standard error.
--cores=n
-c n
Permite usar n núcleos de la CPU para la construcción. El valor
especial 0
significa usar tantos como núcleos haya en la CPU.
--max-jobs=n
-M n
Permite como máximo n trabajos de construcción en
paralelo. See --max-jobs, para detalles
acerca de esta opción y la opción equivalente de guix-daemon
.
--debug=nivel
Usa el nivel de detalle proporcionado en los mensajes procedentes del daemon de construcción. nivel debe ser un entero entre 0 y 5; valores mayores indican una salida más detallada. Establecer un nivel de 4 o superior puede ser útil en la depuración de problemas de configuración con el daemon de construcción.
Tras las cortinas, guix build
es esencialmente una interfaz al
procedimiento package-derivation
del módulo (guix packages)
, y
al procedimiento build-derivations
del módulo (guix
derivations)
.
Además de las opciones proporcionadas explícitamente en la línea de órdenes,
guix build
y otras órdenes guix
que permiten la
construcción respetan el contenido de la variable de entorno
GUIX_BUILD_OPTIONS
.
Las usuarias pueden definir esta variable para que contenga una lista de
opciones de línea de órdenes que se usarán automáticamente por guix
build
y otras órdenes guix
que puedan realizar construcciones,
como en el ejemplo siguiente:
$ export GUIX_BUILD_OPTIONS="--no-substitutes -c 2 -L /foo/bar"
Estas opciones se analizan independientemente, y el resultado se añade a continuación de las opciones de línea de órdenes.