Next: , Previous: , Up: Utilidades   [Contents][Index]


9.15 Invocación de guix weather

Occasionally you’re grumpy because substitutes are lacking and you end up building packages by yourself (see Sustituciones). The guix weather command reports on substitute availability on the specified servers so you can have an idea of whether you’ll be grumpy today. It can sometimes be useful info as a user, but it is primarily useful to people running guix publish (see Invocación de guix publish). Sometimes substitutes are available but they are not authorized on your system; guix weather reports it so you can authorize them if you want (see Obtención de sustiticiones desde otros servidores).

Esta es una ejecución de ejemplo:

$ guix weather --substitute-urls=https://guix.example.org
computing 5,872 package derivations for x86_64-linux...
looking for 6,128 store items on https://guix.example.org..
updating substitutes from 'https://guix.example.org'... 100.0%
https://guix.example.org
  43.4% substitutes available (2,658 out of 6,128)
  7,032.5 MiB of nars (compressed)
  19,824.2 MiB on disk (uncompressed)
  0.030 seconds per request (182.9 seconds in total)
  33.5 requests per second

  9.8% (342 out of 3,470) of the missing items are queued
  867 queued builds
      x86_64-linux: 518 (59.7%)
      i686-linux: 221 (25.5%)
      aarch64-linux: 128 (14.8%)
  build rate: 23.41 builds per hour
      x86_64-linux: 11.16 builds per hour
      i686-linux: 6.03 builds per hour
      aarch64-linux: 6.41 builds per hour

Como puede ver, informa de la fracción de todos los paquetes para los cuales hay sustituciones en el servidor—independientemente de que las sustituciones estén activadas, e independientemente de si la clave de firma del servidor está autorizada. También informa del tamaño de los archivos comprimidos (“nar”) proporcionados por el servidor, el tamaño que los elementos correspondientes del almacén ocupan en el almacén (asumiendo que la deduplicación está apagada) y el caudal de proceso del servidor. La segunda parte proporciona estadísticas de integración continua (CI), si el servidor lo permite. Además, mediante el uso de la opción --coverage, guix weather puede enumerar sustituciones de paquetes “importantes” que no se encuentren en el servidor (véase más adelante).

Para conseguirlo, guix weather consulta los metadatos HTTP(S) (narinfos) de todos los elementos relevantes del almacén. Como guix challenge, ignora las firmas en esas sustituciones, lo cual es inocuo puesto que la orden únicamente obtiene estadísticas y no puede instalar esas sustituciones.

La sintaxis general es:

guix weather opciones… [paquetes…]

Cuando se omite paquetes, guix weather comprueba la disponibilidad de sustituciones para todos los paquetes, o para aquellos especificados con la opción --manifest; en otro caso considera únicamente los paquetes especificados. También es posible consultar tipos de sistema específicos con --system. guix weather termina con un código de salida distinto a cero cuando la fracción de sustituciones disponibles se encuentra por debajo del 100%.

Las opciones disponibles se enumeran a continuación.

--substitute-urls=urls

urls is the space-separated list of substitute server URLs to query. When this option is omitted, the URLs specified with the --substitute-urls option of guix-daemon are used or, as a last resort, the default set of substitute URLs.

--system=sistema
-s sistema

Consulta sustituciones para sistema—por ejemplo, aarch64-linux. Esta opción se puede repetir, en cuyo caso guix weather consultará las sustituciones para varios tipos de sistema.

--manifest=archivo

En vez de consultar las sustituciones de todos los paquetes, consulta únicamente los especificados en archivo. archivo debe contener un manifiesto, como el usado en la opción -m de guix package (see Invocación de guix package).

Esta opción puede repetirse varias veces, en cuyo caso los manifiestos se concatenan.

--expression=expr
-e expr

Considera el paquete al que evalúa expr

A typical use case for this option is specifying a package that is hidden and thus cannot be referred to in the usual way, as in this example:

guix weather -e '(@@ (gnu packages rust) rust-bootstrap)'

This option can be repeated.

--coverage[=numero]
-c [numero]

Informa de la cobertura de sustituciones para paquetes: enumera paquetes con al menos número dependientes (cero por omisión) para los cuales no haya sustituciones disponibles. Los paquetes dependientes en sí no se enumeran: si b depende de a y a no tiene sustituciones disponibles, únicamente se muestra a, aunque b normalmente no tenga sustituciones tampoco. El resultado es más o menos así:

$ guix weather --substitute-urls=https://bordeaux.guix.gnu.org https://ci.guix.gnu.org -c 10
computing 8,983 package derivations for x86_64-linux...
looking for 9,343 store items on https://bordeaux.guix.gnu.org https://ci.guix.gnu.org...
updating substitutes from 'https://bordeaux.guix.gnu.org https://ci.guix.gnu.org'... 100.0%
https://bordeaux.guix.gnu.org https://ci.guix.gnu.org
  64.7% substitutes available (6,047 out of 9,343)
…
2502 packages are missing from 'https://bordeaux.guix.gnu.org https://ci.guix.gnu.org' for 'x86_64-linux', among which:
    58  kcoreaddons@5.49.0      /gnu/store/…-kcoreaddons-5.49.0
    46  qgpgme@1.11.1           /gnu/store/…-qgpgme-1.11.1
    37  perl-http-cookiejar@0.008  /gnu/store/…-perl-http-cookiejar-0.008
    …

What this example shows is that kcoreaddons and presumably the 58 packages that depend on it have no substitutes at bordeaux.guix.gnu.org; likewise for qgpgme and the 46 packages that depend on it.

Si es una desarrolladora Guix, o si se encuentra a cargo de esta granja de construcción, probablemente quiera inspeccionar estos paquetes con más detalle: simplemente puede que su construcción falle.

--display-missing

Muestra los elementos del almacén para los que faltan las sustituciones.


Next: Invocación de guix processes, Previous: Invocación de guix container, Up: Utilidades   [Contents][Index]