Suivant: , Précédent: , Monter: Utilitaires   [Table des matières][Index]


9.15 Invoquer guix weather

Occasionally you’re grumpy because substitutes are lacking and you end up building packages by yourself (voir Substituts). 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 (voir Invoquer 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 (voir Récupérer des substituts d’autres serveurs).

Voici un exemple :

$ guix weather --substitute-urls=https://guix.example.org
calcul de 5,872 dérivations de paquets pour x86_64-linux…
recherche de 6,128 éléments du dépôt sur https://guix.example.org…
mise à jour des substituts depuis 'https://guix.example.org'... 100.0%
https://guix.example.org
  43.4% substituts disponibles (2,658 sur 6,128)
  7,032.5 Mo de fichiers nar (compressés)
  19,824.2 Mo sur le disque (décompressés)
  0.030 secondes par requêtes (182.9 secondes au total)
  33.5 requêtes par seconde

  9.8% (342 sur 3,470) des éléments manquants sont dans la queue
  867 constructions dans la queue
      x86_64-linux : 518 (59.7%)
      i686-linux : 221 (25.5%)
      aarch64-linux : 128 (14.8%)
  vitesse de construction : 23.41 constructions par heure
      x86_64-linux : 11.16 constructions par heure
      i686-linux : 6.03 constructions par heure
      aarch64-linux : 6.41 constructions par heure

Comme vous pouvez le voir, elle rapporte le pourcentage des paquets pour lesquels des substituts sont disponibles sur le serveur — indépendamment du fait que les substituts soient activés, et indépendamment du fait que la clef de signature du serveur soit autorisée. Elle rapporte aussi la taille des archives compressées (« nars ») fournies par le serveur, la taille des éléments du dépôt correspondant dans le dépôt (en supposant que la déduplication soit désactivée) et la vitesse du serveur. La deuxième partie donne des statistiques sur l’intégration continue (CI), si le serveur le supporte. En plus, avec l’option --coverage, guix weather peut lister les substituts de paquets « importants » qui font défaut sur le serveur (voir plus bas).

Pour cela, guix weather récupère par HTTP(S) les métadonnées (narinfos de tous les éléments du dépôts pertinents. Comme guix challenge, il ignore les signatures de ces substituts, ce qui n’est pas dangereux puisque la commande ne fait que récupérer des statistiques et n’installe pas ces substituts.

La syntaxe générale est :

guix weather options… [paquets…]

Lorsque packages est omis, guix weather vérifie la disponibilité de substituts pour all les paquets, ou pour ceux spécifiés avec --manifest ; sinon, il ne prend en compte que les paquets spécifiés. Il est également possible d’interroger des types de systèmes spécifiques avec --system. guix weather sort avec un code non nul lorsque la fraction des substituts disponibles est inférieure à 100%.

Les options disponibles sont listées ci-dessous.

--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=système
-s système

Effectue des requêtes pour les substituts système — p. ex. aarch64-linux. Cette option peut être répétée, auquel cas guix weather demandera les substituts de plusieurs types de systèmes.

--manifest=fichier

Plutôt que de demander des substituts pour tous les paquets, demande uniquement les paquets spécifiés dans fichier. fichier doit contenir un manifeste comme avec l’option -m de guix package (voir Invoquer guix package).

Cette option peut être répétée plusieurs fois, auquel cas les manifestes sont concaténés.

--expression=expr
-e expr

Considérer le paquet évalué par 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[=count]
-c [count]

Rapporte la couverture des substituts pour les paquets : liste les paquets avec au moins count autres paquets qui en dépendent (zéro par défaut) pour lesquels il n’y a pas de substitut. Les paquets qui en dépendent ne sont pas listés : si b dépend de a et que a n’a pas de substitut, seul a est listé, même si b n’a habituellement pas de substitut non plus. Le résultat ressemble à cela :

$ guix weather --substitute-urls=https://bordeaux.guix.gnu.org https://ci.guix.gnu.org -c 10
calcul de 8 983 dérivations de paquets pour x86_64-linux…
recherche de 9 343 éléments du dépôt sur https://bordeaux.guix.gnu.org https://ci.guix.gnu.org…
mise à jour des substituts depuis « https://bordeaux.guix.gnu.org https://ci.guix.gnu.org »… 100,0 %
https://bordeaux.guix.gnu.org https://ci.guix.gnu.org
  64.7 % des substituts sont disponibles (6,047 sur 9,343)
…
2502 paquets ne sont pas sur « https://bordeaux.guix.gnu.org https://ci.guix.gnu.org » pour « x86_64-linux », parmi lesquels :
    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
    …

Ce que montre cet exemple est que kcoreaddons et probablement les 58 paquets qui en dépendent n’ont pas de substituts sur bordeaux.guix.gnu.org ; de même pour qgpgme et les 46 paquets qui en dépendent.

Si vous êtes un développeur de Guix, ou si vous prenez soin de cette ferme de construction, vous voudrez sans doute inspecter plus finement ces paquets : ils peuvent simplement avoir échoué à la construction.

--display-missing

Afficher la liste des articles du magasin pour lesquels il manque des substituts.


Suivant: Invoquer guix processes, Précédent: Invoquer guix container, Monter: Utilitaires   [Table des matières][Index]