X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/02c3c51e0c46ea70de8e973993586c943acc1714..0cfe02cf55baf8ef1395bc8f108672159355f606:/etc/news.scm diff --git a/etc/news.scm b/etc/news.scm index 5ff88ae7e0..65d83061df 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -1,15 +1,19 @@ ;; GNU Guix news, for use by 'guix pull'. ;; -;; Copyright © 2019, 2020 Ludovic Courtès -;; Copyright © 2019, 2020 Tobias Geerinckx-Rice +;; Copyright © 2019, 2020, 2021 Ludovic Courtès +;; Copyright © 2019–2021 Tobias Geerinckx-Rice ;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas ;; Copyright © 2019, 2020 Konrad Hinsen -;; Copyright © 2019, 2020 Julien Lepiller -;; Copyright © 2019, 2020 Florian Pelz +;; Copyright © 2019, 2020, 2021 Julien Lepiller +;; Copyright © 2019, 2020, 2021 Florian Pelz ;; Copyright © 2020 Marius Bakke -;; Copyright © 2020 Mathieu Othacehe +;; Copyright © 2020, 2021 Mathieu Othacehe ;; Copyright © 2020 Jan (janneke) Nieuwenhuizen -;; Copyright © 2020 Maxim Cournoyer +;; Copyright © 2020, 2021 Maxim Cournoyer +;; Copyright © 2021 Leo Famulari +;; Copyright © 2021 Zhu Zihao +;; Copyright © 2021 Chris Marusich +;; Copyright © 2021 Maxime Devos ;; ;; Copying and distribution of this file, with or without modification, are ;; permitted in any medium without royalty provided the copyright notice and @@ -18,6 +22,743 @@ (channel-news (version 0) + (entry (commit "2161820ebbbab62a5ce76c9101ebaec54dc61586") + (title + (en "Risk of local privilege escalation during user account creation") + (de "Risiko lokaler Rechteausweitung während der Erstellung von Benutzerkonten")) + (body + (en "A security vulnerability that can lead to local privilege +escalation has been found in the code that creates user accounts on Guix +System---Guix on other distros is unaffected. The system is only vulnerable +during the activation of user accounts that do not already exist. + +This bug is fixed and Guix System users are advised to upgrade their system, +with a command along the lines of: + +@example +guix system reconfigure /run/current-system/configuration.scm +@end example + +The attack can happen when @command{guix system reconfigure} is running. +Running @command{guix system reconfigure} can trigger the creation of new user +accounts if the configuration specifies new accounts. If a user whose account +is being created manages to log in after the account has been created but +before ``skeleton files'' copied to its home directory have the right +ownership, they may, by creating an appropriately-named symbolic link in the +home directory pointing to a sensitive file, such as @file{/etc/shadow}, get +root privileges. + +See @uref{https://issues.guix.gnu.org/47584} for more information on this +bug.") + (de "Eine Sicherheitslücke, die eine lokale Rechteausweitung zur +Folge haben kann, wurde in dem Code gefunden, mit dem Benutzerkonten auf Guix +System angelegt werden — Guix auf anderen Distributionen ist nicht betroffen. +Das System kann nur während der Aktivierung noch nicht existierender +Benutzerkonten angegriffen werden. + +Der Fehler wurde behoben und wir empfehlen Nutzern von Guix System, ihre +Systeme zu aktualisieren, mit einem Befehl wie: + +@example +guix system reconfigure /run/current-system/configuration.scm +@end example + +Der Angriff kann erfolgen, während @command{guix system reconfigure} läuft. +Wenn @command{guix system reconfigure} ausgeführt wird, kann das die Erzeugung +neuer Benutzerkonten auslösen, wenn in der Konfiguration neue Konten angegeben +wurden. Wenn ein Benutzer, dessen Konto gerade angelegt wird, es +fertigbringt, sich anzumelden, bevor „Skeleton-Dateien“ in seinem Persönlichen +Verzeichnis den richtigen Besitzer haben, kann er durch Anlegen einer gezielt +benannten symbolischen Verknüpfung in seinem Persönlichen Verzeichnis auf eine +sensible Datei wie @file{/etc/shadow} Administratorrechte erlangen. + +Siehe @uref{https://issues.guix.gnu.org/47584} für mehr Informationen zu +diesem Fehler."))) + + (entry (commit "e52ec6c64a17a99ae4bb6ff02309067499915b06") + (title + (en "New supported platform: powerpc64le-linux") + (de "Neue Plattform wird unterstützt: powerpc64le-linux") + (fr "Nouvelle plate-forme prise en charge : powerpc64le-linux")) + (body + (en "A new platform, powerpc64le-linux, has been added for +little-endian 64-bit Power ISA processors using the Linux-Libre kernel. This +includes POWER9 systems such as the +@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, +RYF Talos II mainboard}. This platform is available as a \"technology +preview\": although it is supported, substitutes are not yet available from +the build farm, and some packages may fail to build. In addition, Guix System +is not yet available on this platform. That said, the Guix community is +actively working on improving this support, and now is a great time to try it +and get involved!") + (de "Eine neue Plattform, powerpc64le-linux, wurde hinzugefügt. Mit +ihr können Prozessoren mit 64-Bit-Power-Befehlssatz, little-endian, mit dem +Linux-Libre-Kernel betrieben werden. Dazu gehören POWER9-Systeme wie die +@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, +RYF-zertifizierte Talos-II-Hauptplatine}. Bei der Plattform handelt es sich +um eine „Technologievorschau“; obwohl sie unterstützt wird, gibt es noch keine +Substitute von der Erstellungsfarm und bei manchen Paketen könnte die +Erstellung fehlschlagen. Des Weiteren ist Guix System auf dieser Plattform +noch nicht verfügbar. Dennoch arbeitet die Guix-Gemeinde aktiv daran, diese +Unterstützung auszubauen, und jetzt ist eine gute Gelegenheit, sie +auszuprobieren und mitzumachen!") + (fr "Une nouvelle plate-forme, powerpc64le-linux, a été ajoutée pour +les processeurs POWER 64-bits utilisant le noyau Linux-libre. Ça inclut les +systèmes POWER9 tels que les +@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, +cartes Talos II RYF}. Il s'agit pour le moment d'un « avant-goût » de la +technologie : bien que la plate-forme soit prise en charge, la ferme de +compilation ne fournit pas encore de substituts et certains paquets risquent +de ne pas compiler. En outre, Guix System n'est pas encore disponible sur +cette plate-forme. Ceci dit, la communauté Guix travaille activement pour +améliorer cette prise en charge et c'est maintenant un bon moment pour +l'essayer et pour s'impliquer !"))) + + (entry (commit "9ade2b720af91acecf76278b4d9b99ace406781e") + (title + (en "Update on previous @command{guix-daemon} local privilege escalation") + (de "Nachtrag zur lokalen Rechteausweitung bei @command{guix-daemon}") + (nl "Aanvulling bij escalatie van bevoegdheden via @command{guix-daemon}")) + (body + (en "The previous news item described a potential local privilege +escalation in @command{guix-daemon}, and claimed that systems with the Linux +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +``protected hardlink''} feature enabled were unaffected by the vulnerability. + +This is not entirely correct. Exploiting the bug on such systems is harder, +but not impossible. To avoid unpleasant surprises, all users are advised to +upgrade @command{guix-daemon}. Run @command{info \"(guix) Upgrading Guix\"} +for info on how to do that. See +@uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} +for more information on this bug.") + (de "In der letzten Neuigkeit wurde eine mögliche lokale +Rechteausweitung im @command{guix-daemon} beschrieben und behauptet, dass +Systeme, auf denen Linux’ +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +„Geschützte-Hardlinks“-Funktionalität} aktiviert ist, von der Sicherheitslücke +nicht betroffen seien. + +Das stimmt nicht ganz. Die Lücke auf solchen Systemen auszunutzen, ist +schwerer, aber nicht unmöglich. Um unangenehme Überraschungen zu vermeiden, +empfehlen wir allen Nutzern, @command{guix-daemon} zu aktualisieren. Führen +Sie @command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren, +wie Sie ihn aktualisieren können. Siehe +@uref{https://guix.gnu.org/de/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} +für mehr Informationen zu diesem Fehler.") + (nl "Het vorige nieuwsbericht beschreef een beveiligingsprobleem in +@command{guix-daemon} dat kan leiden tot de escalatie van lokale bevoegdheden. +Het bericht stelde dat machines waarop de +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +``protected hardlink''}-optie van Linux is inschakeld niet kwetsbaar zijn. + +Dit is niet volledig juist. De optie maakt het uitbuiten van de fout +moeilijker maar niet onmogelijk. Om onaangename verrassingen te voorkomen +is het voor iedereen aangeraden om @command{guix-daemon} op te waarderen. +Voer @command{info \"(guix) Upgrading Guix\"} uit voor meer informatie +daarover. Lees +@uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} +voor meer informatie over het probleem."))) + + (entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf") + (title + (en "Risk of local privilege escalation @i{via} @command{guix-daemon}") + (de "Risiko lokaler Rechteausweitung über @command{guix-daemon}") + (fr "Risque d'élévation locale de privilèges @i{via} @command{guix-daemon}") + (nl "Risico op escalatie van bevoegdheden via @command{guix-daemon}")) + (body + (en "A security vulnerability that can lead to local privilege +escalation has been found in @command{guix-daemon}. It affects multi-user +setups in which @command{guix-daemon} runs locally. + +It does @emph{not} affect multi-user setups where @command{guix-daemon} runs +on a separate machine and is accessed over the network, @i{via} +@env{GUIX_DAEMON_SOCKET}, as is customary on cluster setups. Machines where +the Linux @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +``protected hardlink''} feature is enabled, which is common, are also +unaffected---this is the case when the contents of +@file{/proc/sys/fs/protected_hardlinks} are @code{1}. + +The attack consists in having an unprivileged user spawn a build process, for +instance with @command{guix build}, that makes its build directory +world-writable. The user then creates a hardlink within the build directory +to a root-owned file from outside of the build directory, such as +@file{/etc/shadow}. If the user passed the @option{--keep-failed} option and +the build eventually fails, the daemon changes ownership of the whole build +tree, including the hardlink, to the user. At that point, the user has write +access to the target file. + +You are advised to upgrade @command{guix-daemon}. Run @command{info \"(guix) +Upgrading Guix\"}, for info on how to do that. See +@uref{https://issues.guix.gnu.org/47229} for more information on this bug.") + (de "Eine Sicherheitslücke, die zu einer lokalen Rechteausweitung +führen kann, wurde in @command{guix-daemon} gefunden. Sie betrifft +Mehrbenutzersysteme, auf denen @command{guix-daemon} lokal läuft. + +@emph{Nicht} betroffen sind Mehrbenutzersysteme, auf denen +@command{guix-daemon} auf einer separaten Maschine läuft und darauf über das +Netzwerk mittels @env{GUIX_DAEMON_SOCKET} zugegriffen wird, was auf +Rechen-Clustern üblich ist. Auch Maschinen, auf denen Linux’ +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +„Geschützte-Hardlinks“-Funktionalität} aktiviert ist@tie{}– was häufig der +Fall ist@tie{}–, sind nicht betroffen; sie ist aktiviert, wenn +@file{/proc/sys/fs/protected_hardlinks} den Inhalt @code{1} hat. + +Der Angriff besteht darin, dass ein unprivilegierter Benutzer einen +Erstellungsprozess startet, etwa mit @command{guix build}, der allen +Schreibberechtigung auf sein Erstellungsverzeichnis erteilt. In diesem +Erstellungsverzeichnis erzeugt der Benutzer nun eine harte Verknüpfung auf +eine Datei außerhalb des Erstellungsverzeichnisses, die dem +Administratornutzer root gehört, etwa @file{/etc/shadow}. Wenn der Nutzer die +Befehlszeilenoption @option{--keep-failed} angegeben hat und die Erstellung +irgendwann fehlschlägt, trägt der Daemon als Besitzer des gesamten +Erstellungsverzeichnisses den Benutzer ein, Hardlink eingeschlossen. Jetzt +hat der Benutzer Schreibzugriff auf die Zieldatei bekommen. + +Wir empfehlen, dass Sie @command{guix-daemon} aktualisieren. Führen Sie +@command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren, wie +Sie ihn aktualisieren können. Siehe @uref{https://issues.guix.gnu.org/47229} +für mehr Informationen zu diesem Fehler.") + (fr "Une faille de sécurité pouvant mener à une élévation locale de +privilèges a été trouvée dans @command{guix-daemon}. Elle touche les +installations multi-utilisateur·ices dans lesquelles @command{guix-daemon} +tourne en local. + +Elle @emph{n'affecte pas} les installations où @command{guix-daemon} tourne +sur une machine séparée et qu'on y accède à travers le réseau, @i{via} +@env{GUIX_DAEMON_SOCKET}, comme c'est typiquement le cas sur les grappes de +calcul (@i{clusters}). Les machines où les +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, ``liens +protégés''} de Linux sont activés, ce qui est courant, ne sont pas non plus +touchées ; cette fonctionnalité est activée si le contenu de +@file{/proc/sys/fs/protected_hardlinks} est @code{1}. + +Pour mener cette attaque, un·e utilisateur·rice démarre un processus de +compilation, par exemple avec @command{guix build}, qui rend le répertoire de +compilation inscriptible pour tout le monde. La personne créée ensuite un +lien dur (@i{hard link}) dans ce répertoire vers un fichier appartenant à +@code{root}, tel que @file{/etc/shadow}. Si on a passé l'option +@option{--keep-failed} et que la compilation finit par échouer, le démon met +l'utilisateur·rice appelant·e comme propriétaire de l'ensemble du répertoire +de compilation, y compris le lien. À ce stade, cette personne a accès en +écriture sur le fichier cible. + +Nous conseillons de mettre à jour @command{guix-daemon}. Lancer @command{info +\"(guix.fr) Mettre à niveau Guix\"} pour voir comment faire. Voir +@uref{https://issues.guix.gnu.org/47229} pour plus d'informations sur cette +faille.") + (nl "In @command{guix-daemon} werd een beveiligingsprobleem +gevonden dat kan leiden tot de escalatie van lokale bevoegdheden. Het +probleem doet zich voor bij installaties met meerdere gebruikers waarop een +lokale @command{guix-daemon} draait. + +Het heeft @emph{geen} invloed op systemen met meerdere gebruikers waarbij de +@command{guix-daemon} op een afzonderlijke machine draait en via +@env{GUIX_DAEMON_SOCKET} over het netwerk wordt aangesproken, zoals +gebruikelijk bij computerclusters. Ook machines waarop de +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +``protected hardlink''}-optie van Linux is inschakeld, wat vaak het geval is, +zijn niet kwetsbaar. + +De aanval bestaat erin dat een gebruiker zonder privileges een bouwproces +opstart, bijvoorbeeld met @command{guix build}, dat zijn werkmap beschrijfbaar +maakt voor alle gebruikers. Vervolgens maakt de gebruiker vanuit deze map een +harde link naar een bestand erbuiten met @code{root} als eigenaar, zoals +@file{/etc/shadow}. Als de gebruiker de @option{--keep-failed}-optie opgaf +en de bouw faalt, maakt @command{guix-daemon} de gebruiker eigenaar van de +volledige inhoud van de werkmap, met inbegrip van de harde link. Op dat +moment bezit de gebruiker schrijfrechten over het doelbestand. + +Het is aangeraden om @command{guix-daemon} op te waarderen. Voer +@command{info \"(guix) Upgrading Guix\"} uit voor meer informatie daarover. +Lees @uref{https://issues.guix.gnu.org/47229} voor meer informatie over het +probleem."))) + + (entry (commit "77c2f4e2068ebec3f384c826c5a99785125ff72c") + (title + (en "@code{qemu-binfmt-service-type} is usable for any container") + (de "@code{qemu-binfmt-service-type} funktioniert mit jedem Container") + (fr "@code{qemu-binfmt-service-type} fonctionne avec tous les conteneurs")) + (body + (en "The service now makes use of the statically built QEMU binaries +along with the fix binary (F) @code{binfmt_misc} flag, which allows the kernel +to fully pre-load it in memory. QEMU can thus now be used with any container +without extra configuration. The @code{guix-support?} field of the +@code{qemu-binfmt-configuration} record is removed, as it is no longer +necessary.") + (de "Der Dienst benutzt jetzt statisch gebundene QEMU-Binärdateien +zusammen mit der Fix-Binary-Flag (F) von @code{binfmt_misc}. Dadurch kann der +Kernel die QEMU-Binärdatei als Ganzes vorab in den Speicher laden. Dann kann +sie auch ohne weitere Konfiguration in jeder Art von isolierter Umgebung +benutzt werden. Darum wurde das Feld @code{guix-support?} des +@code{qemu-binfmt-configuration}-Verbundsobjekts entfernt; es wird nicht mehr +gebraucht.") + (fr "Le service utilise maintenant les binaire QEMU statiques avec +le drapeau « fixed » (F) de @code{binfmt_misc}, ce qui permet au noyau +de le charger entièrement en mémoire. On peut donc maintenant utiliser QEMU +avec n'importe quel conteneur sans configuration supplémentaire. Le champ +@code{guix-support?} de l'enregistrement @code{qemu-binfmt-configuration} a +été supprimé car il n'est pas nécessaire."))) + + (entry (commit "02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb") + (title + (en "New @command{guix import go} command") + (de "Neuer Befehl @command{guix import go}") + (fr "Nouvelle commande @command{guix import go}") + (nl "Nieuwe @command{guix import go}-opdracht")) + (body + (en "The new @command{guix import go} command allows packagers to +generate a package definition or a template thereof given the name of a Go +package available through @url{https://proxy.golang.org}, like so: + +@example +guix import go golang.org/x/sys +@end example + +Run @command{info \"(guix) Invoking guix import\"} for more info.") + (de "Mit dem neuen Befehl @command{guix import go} können +Paketautoren eine Paketdefinition oder eine Vorlage dafür anhand des Namens +eines auf @url{https://proxy.golang.org} verfügbaren Go-Pakets erzeugen, etwa +so: + +@example +guix import go golang.org/x/sys +@end example + +Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr +Informationen zu bekommen.") + (fr "La nouvelle commande @command{guix import go} permet aux +empaqueteur·ice·s de générer une définition de paquet ou un modèle de +définition à partir du nom d'un paquet Go disponible via +@url{https://proxy.golang.org}, comme ceci : + +@example +guix import go golang.org/x/sys +@end example + +Lancez @command{info \"(guix.fr) Invoquer guix import\"} pour en savoir plus.") + (nl "Met de nieuwe @command{guix import go}-opdracht kunnen +pakketschrijvers een pakketdefinitie of -sjabloon aanmaken, op basis van de +naam van een Go-pakket te vinden op @url{https://proxy.golang.org}: + +@example +guix import go golang.org/x/sys +@end example + +Voer @command{info \"(guix) Invoking guix import\"} uit voor meer +informatie."))) + + (entry (commit "1b5b882120daf7d111aa351a919a90e818324347") + (title + (en "The @code{linux-libre} kernel is updated to 5.11.2") + (de "Der Kernel @code{linux-libre} wird auf 5.11.2 aktualisiert") + (fr "Le noyau @code{linux-libre} est mis à jour vers la 5.11.2") + (nl "De @code{linux-libre}-kernel werd bijgewertk naar 5.11.2")) + (body + (en "The default @code{linux-libre} kernel is now based on the 5.11 +stable kernel series, beginning with version 5.11.2. Promiment features include +improved Wine performance, unprivileged Overlayfs mounts, support for Intel SGX, +support for new graphics hardware, and improved performance of the Btrfs +file system.") + (de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert +jetzt auf der 5.11-„stable“-Versionsreihe, angefangen mit Version 5.11.2. Zu +den markanten Neuerungen gehören bessere Wine-Unterstützung, Einbinden per +Overlayfs für Nutzer ohne erweiterte Rechte, Unterstützung für Intel SGX, für +neue Grafikhardware und bessere Leistung beim Btrfs-Dateisystem.") + (fr "Le noyau @code{linux-libre} par défaut est maintenant basé sur la +lignée stable 5.11 du noyau, à commencer par la version 5.11.2. Parmi les +fonctionnalités notables on trouve des performances améliorées pour Wine, le +montage Overlayfs non privilégié, la prise en charge d'Intel SGX, celle des +nouveaux périphériques graphiques et de meilleures performances du système de +fichiers Btrfs.") + (nl "De standaard @code{linux-libre}-kernel is nu geëent op de +stabiele 5.11-reeks, te beginnen met versie 5.11.2. Deze update biedt onder +andere verbeterde prestaties voor Wine en het Btfrs-bestandssysteem, laat +gewone gebruikers toe om met Overlayfs bestandssystemen te combineren, en +ondersteunt Intel SGX en nieuwe grafische apparatuur."))) + + (entry (commit "6e8cdf1d26092cb9654e179b04730fff7c15c94f") + (title + (en "The @command{guix system image} command can now operate on image records") + (de "Der Befehl @command{guix system image} kann jetzt auch mit @code{image}-Verbundsobjekten umgehen") + (fr "La commande @command{guix system image} peut désormais fonctionner sur des images")) + (body + (en "The @command{guix system image} command can now operate on +@code{image} records. This means that the file parameter or the expression +passed to this command can return @code{image} or @code{operating-system} +records. + +The @file{gnu/system/images} directory contains default images that can be +built by running @command{guix system image gnu/system/images/pine64.scm} for +instance.") + (de "Sie können den Befehl @command{guix system image} jetzt auch auf +Verbundsobjekte vom Typ @code{image} anwenden. Das heißt, wenn Sie eine Datei +oder einen Ausdruck als Parameter übergeben, darf dieser ein Verbundsobjekt +vom Typ @code{image} oder @code{operating-system} zurückliefern. + +Im Verzeichnis @file{gnu/system/images} finden Sie vorkonfigurierte Abbilder +als @code{image}-Verbundsobjekte. Sie können zum Beispiel @command{guix system +image gnu/system/images/pine64.scm} ausführen, um das Abbild zu erstellen.") + (fr "La commande @command{guix system image} peut désormais +fonctionner sur des images. Cela signifie que le fichier ou l'expression +passé en paramètre de cette commande peuvent retourner une structure de type +@code{image} ou @code{operating-system}. + +Le dossier @file{gnu/system/images} contient des images par défaut qui peuvent +être construites en lançant la commande @command{guix system image +gnu/system/images/pine64.scm} par exemple."))) + + (entry (commit "aa8de806252e3835d57fab351b02d13db762deac") + (title + (en "Risk of local privilege escalation @i{via} setuid programs") + (de "Risiko lokaler Rechteausweitung bei setuid-Programmen") + (fr "Risque de gain local de privilèges @i{via} les programmes setuid") + (zh "存在通过 setuid 程序进行本地提权的风险")) + (body + (en "On Guix System, setuid programs were, until now, installed as +setuid-root @emph{and} setgid-root (in the @file{/run/setuid-programs} +directory). However, most of these programs are meant to run as setuid-root, +but not setgid-root. Thus, this setting posed a risk of local privilege +escalation. + +This bug has been fixed and users are advised to upgrade their system, with a +command along the lines of: + +@example +guix system reconfigure /run/current-system/configuration.scm +@end example + +Users of Guix on a ``foreign distro'' are unaffected. See +@url{https://issues.guix.gnu.org/46395} for more information.") + (de "Auf Guix System wurden setuid-Programme bisher mit setuid-root +@emph{und} setgid-root ausgestattet (im Verzeichnis +@file{/run/setuid-programs}). Die meisten solchen Programme sind jedoch nur +dafür gedacht, mit setuid-root zu laufen, ohne setgid-root. Durch diese +Einstellung war daher vielleicht eine lokale Rechteausweitung („local +privilege escalation“) möglich. + +Dieser Fehler wurde behoben und Benutzern wird geraten, ihr System zu +aktualisieren, etwa mit diesem Befehl: + +@example +guix system reconfigure /run/current-system/configuration.scm +@end example + +Benutzer von Guix auf einer „Fremddistribution“ sind @emph{nicht} betroffen. +Siehe @url{https://issues.guix.gnu.org/46395} für weitere Informationen.") + (fr "Sur Guix System, les programmes setuid étaient jusqu'à présent +installés setuid-root @emph{et} setgid-root (dans le répertoire +@file{/run/setuid-programs}). Ces programmes sont généralement conçus pour +être setuid-root, mais pas setgid-root, et cette situation posait donc un +risque de gain local de privilèges. + +Ce problème est corrigé et vous êtes encouragé·e à mettre à jour votre +système, avec une commande de ce genre : + +@example +guix system reconfigure /run/current-system/configuration.scm +@end example + +Les usagers de Guix sur une distrib externe ne sont pas touché·es. Plus +d'informations sont disponibles à @url{https://issues.guix.gnu.org/46395} (en +anglais).") + (zh "到目前为止,Guix 系统上的 setuid 程序(位于 @file{/run/setuid-programs}) +同时具有 setuid-root @emph{和} setgid-root 权限。然而,此类程序大多被设计为在拥有 +setuid 权限而非 setgid 权限时运行。因此,这样的设置可能会使系统受到本地提权攻击。 + +此漏洞已经被修复,同时建议用户使用下列命令升级他们的系统: + +@example +guix system reconfigure /run/current-system/configuration.scm +@end example + +在 ``第三方宿主系统'' 上使用 Guix 的用户不受此漏洞影响,详情请参阅 +@url{https://issues.guix.gnu.org/46395}。"))) + + (entry (commit "aedbc5ff32a62f45aeed74c6833399a6cf2c22dc") + (title + (en "Create a manifest with @command{guix package --export-manifest}") + (de "Manifest erzeugen mit @command{guix package --export-manifest}") + (fr "Créer un manifeste avec @command{guix package --export-manifest}")) + (body + (en "The @command{guix package --export-manifest} command outputs a +@dfn{manifest} from your profile. This manifest is a code snippet that can +then be passed to @command{guix package --manifest} (or any other command that +accepts the @option{--manifest} option) to deploy these packages. + +The goal of this new @option{--export-manifest} option is to make it easier to +migrate from an ``imperative'' style where you repeatedly invoke @command{guix +install} and similar commands, to the declarative style where you write in a +manifest file the list of packages you want to have. + +Similarly, the new @option{--export-channels} option outputs a @dfn{channel +specification} suitable for @command{guix pull --channels} from your profile. +This allows you to ``pin'' Guix to the revision that was used to build the +profile. + +Run @command{info \"(guix) Invoking guix package\"} for more info.") + (de "Mit dem Befehl @command{guix package --export-manifest} wird ein +@dfn{Manifest} aus Ihrem Profil erzeugt. Bei einem Manifest handelt es sich um +ein Stück Code, das Sie an @command{guix package --manifest} zum Einspielen +der Pakete aus dem Manifest übergeben können (oder an jeden anderen Befehl, +der die Befehlszeilenoption @option{--manifest} versteht). + +Die Absicht hinter dieser neuen Befehlszeilenoption @option{--export-manifest} +ist, dass man leichter von einem „imperativen“ Stil, bei dem man wiederholt +@command{guix install} und ähnliche Befehle aufruft, zum deklarativen Stil +wechseln kann. Im deklarativen Stil tragen Sie die Liste der Pakete, die Sie +haben möchten, in eine Manifest-Datei ein. + +Analog können Sie mit der neuen Befehlszeilenoption @option{--export-channels} +zu Ihrem Profil eine @dfn{Kanalspezifikation} erzeugen, die für @command{guix +pull --channels} geeignet ist. Damit können Sie für Guix immer die Version +benutzen, mit der das Profil erstellt wurde. + +Führen Sie für mehr Informationen @command{info \"(guix.de) Aufruf von guix +package\"} aus.") + (fr "La commande @command{guix package --export-manifest} affiche un +@dfn{manifeste} pour le profil choisi. Ce manifeste est un bout de code qu'on +peut passer à @command{guix package --manifest} (ou n'importe qu'elle commande +qui accepte l'option @option{--manifest}) pour déployer ces paquets. + +L'objectif de cette nouvelle option @option{--export-manifest} est de +faciliter la migration du modèle ``impératif'', où on utilise @command{guix +install} et les commandes de ce genre, au modèle déclaratif où on écrit dans +un fichier la liste des paquets que l'on veut avoir. + +De même, la nouvelle option @option{--export-channels} produit une +@dfn{spécification de canaux} pour @command{guix pull --channels} à partir du +profil. Cela permet de ``figer'' Guix à la révision qui a été utilisée pour +produire le profil. + +Voir @command{info \"(guix.fr) Invoquer guix package\"} pour plus +d'informations."))) + + (entry (commit "9ab817b2a4601b4a6755983590ed7d93ebdc8d09") + (title (en "New @option{--with-latest} package transformation option") + (de "Neue Paketumwandlungsoption @option{--with-latest}") + (fr "Nouvelle option de transformation @option{--with-latest}")) + (body + (en "The new @option{--with-latest} package transformation option +gets the latest release of a package, as would be identified by @command{guix +refresh}, and uses it instead of the currently-packaged version. For example, +to install the latest release of GNOME Weather linked against the latest +version of libgweather, run: + +@example +guix install gnome-weather \\ + --with-latest=gnome-weather --with-latest=libgweather +@end example + +Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (de "Mit der neuen Paketumwandlungsoption @option{--with-latest} wird +die neueste Veröffentlichung für ein Paket verwendet. Diese wird wie bei +@command{guix refresh} bestimmt und anstelle der zurzeit im Paket festgelegten +Version verwendet. Um zum Beispiel die neuste Veröffentlichung von GNOME +Weather gebunden an die neuste Version von libgweather zu installieren, führen +Sie dies aus: + +@example +guix install gnome-weather \\ + --with-latest=gnome-weather --with-latest=libgweather +@end example + +Führen Sie für mehr Informationen @command{info \"(guix.de) +Paketumwandlungsoptionen\"} aus.") + (fr "La nouvelle option de transformation de paquets +@option{--with-latest} récupère la dernière version d'un logiciel telle +qu'elle serait trouvée par @command{guix refresh} et l'utilise à la place la +version actuellement fournie par le paquet. Par exemple, pour installer la +dernière version de GNOME Weather, elle-même compilée avec la dernière version +de libgweather, on lancera : + +@example +guix install gnome-weather \\ + --with-latest=gnome-weather --with-latest=libgweather +@end example + +Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour +plus de détails."))) + + (entry (commit "a879e35116043d5daf3d9d175b697d10b9177fd5") + (title (en "Substitutes can now be compressed with zstd") + (de "Substitute können nun mit zstd komprimiert werden") + (fr "Les substituts peuvent maintenant être compressés avec zstd")) + (body + (en "The @command{guix publish} command now supports substitute +compression with zstd and @command{guix-daemon} can now fetch and decompress +them. + +The advantage of zstd over the other options is its high compression and +decompression throughput, with good compression ratios (not as good as lzip, +but slightly better than gzip). Its high decompression throughput makes it a +good choice in situations where substitute downloads would otherwise be +CPU-bound, typically when having a high-speed connection to the substitute +server. Run @command{info \"(guix) Invoking guix publish\"} for more info. + +To be able to fetch zstd-compressed substitutes (if the substitute servers you +chose provide them), you need to upgrade your daemon. Run @command{info +\"(guix) Upgrading Guix\"} to learn how to do it.") + (de "Mit dem Befehl @command{guix publish} können Sie jetzt auch +Substitute mit zstd komprimieren und @command{guix-daemon} kann sie laden und +dekomprimieren. + +zstd bietet gegenüber den anderen Optionen einen hohen Durchsatz bei +Kompression und Dekompression mit guten Kompressionsverhältnissen (nicht so +gut wie lzip, aber etwas besser als gzip). Wegen des hohen Durchsatzes bei +der Dekompression ist zstd eine gute Wahl, wenn beim Herunterladen von +Substituten ansonsten der Engpass bei der Prozessorleistung läge, etwa weil +eine schnelle Netzwerkverbindung zum Substitutserver besteht. Führen Sie für +mehr Informationen @command{info \"(guix.de) Aufruf von guix publish\"} aus. + +Um zstd-komprimierte Substitute benutzen zu können (wenn der Substitutserver +sie anbietet), müssen Sie Ihren Daemon aktualisieren. Führen Sie +@command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren, wie +Sie ihn aktualisieren.") + (fr "La commande @command{guix publish} peut maintenant compresser +les substituts avec zstd et @command{guix-daemon} est capable de les récupérer +et de les décompresser. + +L'avantage de zstd par rapport aux autres méthodes est son haut débit en +compression et décompression, avec un taux de compression correct (pas aussi +bon que lzip, mais légèrement meilleur que gzip). Sa vitesse de décompression +en fait un bon choix dans les situations où le temps de téléchargement des +substituts se retrouve sinon limité par le temps de calcul comme c'est le cas +lorsqu'on bénéficie d'une connexion rapide au serveur de substitut. Lancer +@command{info \"(guix.fr) Invoquer guix publish\"} pour plus d'informations. + +Pour pouvoir télécharger des substituts compressés avec zstd (si les serveurs +de substituts choisis les fournissent), il faudra d'abord mettre à jour le +démon. Lancer @command{info \"(guix.fr) Mettre à niveau Guix\"} pour voir +comment faire."))) + + (entry (commit "e38d90d497e19e00263fa28961c688a433154386") + (title (en "New @option{--with-patch} package transformation option") + (de "Neue Paketumwandlungsoption @option{--with-patch}") + (fr "Nouvelle option de transformation @option{--with-patch}")) + (body + (en "The new @option{--with-patch} package transformation option +applies patches to the specified packages before building them. The example +below builds the GNU Core Utilities against a patched C library (glibc): + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (de "Die neue Paketumwandlungsoption @option{--with-patch} wendet +Patches auf die angegebenen Pakete an, bevor sie erstellt werden. Das folgende +Beispiel lässt die GNU Core Utilities mit einer gepatchten +C-Bibliothek (glibc) erstellen: + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +Führen Sie für mehr Informationen @command{info \"(guix.de) +Paketumwandlungsoptionen\"} aus.") + (fr "La nouvelle option de transformation de paquets +@option{--with-patch} applique des modifications (@i{patches}) aux paquets +spécifiés avant de les compiler. L'exemple suivant compile les utilitaires de +base GNU avec une bibliothèque C (glibc) modifiée : + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour +plus de détails."))) + + (entry (commit "79f9dee3c4c0e6d21066f142116a537207ae7ba4") + (title (en "Local substitute servers discovery is now supported") + (de "Substitutserver können jetzt im lokalen Netz erkannt werden") + (es "Los servidores de sustituciones se pueden descubrir localmente") + (fr "La découverte des serveurs de substituts locaux est désormais supportée")) + (body + (en "The @command{guix-daemon} can now discover local substitute +servers when the @option{--discover} option is passed. Only the substitute +servers started with the @option{--advertise} option will be discovered. The +network discovery is based on mDNS and DNS-SD protocols, using Guile-Avahi +library for now.") + (de "Mit dem @command{guix-daemon} können jetzt lokal laufende +Substitutserver erkannt werden, wenn die Befehlszeilenoption +@option{--discover} übergeben wurde. Nur solche Substitutserver werden +gefunden, die mit der Befehlszeilenoption @option{--advertise} gestartet +wurden. Die Ermittlung im Netzwerk verfügbarer Substitutserver baut auf den +Protokollen mDNS und DNS-SD auf. Derzeit wird dazu die Bibliothek Guile-Avahi +benutzt.") + (es "El daemon @command{guix-daemon} ahora puede descubrir servidores +de sustituciones locales cuando se le proporciona la opción +@option{--discover}. Únicamente se descubrirán los servidores de +sustituciones que se hayan arrancado con la opción @option{--advertise}. La +búsqueda en la red se basa en los protocolos mDNS y DNS-SD, actualmente +mediante el uso de la biblioteca Guile-Avahi.") + (fr "Le @command{guix-daemon} peut désormais découvrir les serveurs +de substituts locaux lorsque l'option @option{--discover} est passée. Seuls +les serveurs de substituts démarrés avec l'option @option{--advertise} seront +découverts. La découverte réseau utilise les protocoles mDNS et DNS-SD, pour +l'instant grâce à la librairie Guile-Avahi."))) + + (entry (commit "a9a2fdaabcc78e7a54d9a6bcfa4ee3de308e9a90") + (title (en "Logical Volume Manager (LVM) now supported on Guix System") + (de "Logical Volume Manager (LVM) wird jetzt auf Guix System unterstützt") + (es "El sistema Guix ahora implementa también volúmenes lógicos LVM") + (fr "Le gestionnaire de volumes logiques (LVM) est maintenant pris en charge par le système Guix")) + (body + (en "On Guix System, the new @code{lvm-device-mapping} variable +allows you to declare ``mapped devices'' for LVM, the Linux Logical Volume +Manager. For example, LVM logical volumes ``alpha'' and ``beta'' from volume +group ``vg0'' can be declared as follows: + +@lisp +(mapped-device + (source \"vg0\") + (target (list \"vg0-alpha\" \"vg0-beta\")) + (type lvm-device-mapping)) +@end lisp + +See @command{info \"(guix) Mapped Devices\"} for more information.") + (de "Auf Guix System erlaubt Ihnen die neue Variable +@code{lvm-device-mapping}, „zugeordnete Geräte“ (Mapped Devices) für LVM, den +Linux Logical Volume Manager, zu deklarieren. Zum Beispiel können logische +Datenträger von LVM namens „alpha“ und „beta“ aus der +Datenträgergruppe (Volume Group) „vg0“ wie folgt deklariert werden: + +@lisp +(mapped-device + (source \"vg0\") + (target (list \"vg0-alpha\" \"vg0-beta\")) + (type lvm-device-mapping)) +@end lisp + +Siehe @command{info \"(guix.de) Zugeordnete Geräte\"} für nähere Informationen.") + (es "En el sistema Guix, la nueva variable @code{lvm-device-mapping} +le permite declarar «dispositivos traducidos» para LVM, el gestor de volúmenes +lógicos de Linux. A continuación se muestra un ejemplo con la declaración de +los volúmenes lógicos «alfa» y «beta» del grupo de volúmenes «vg0»: + +@lisp +(mapped-device + (source \"vg0\") + (target (list \"vg0-alfa\" \"vg0-beta\")) + (type lvm-device-mapping)) +@end lisp + +Véase @command{info \"(guix.es) Dispositivos traducidos\"} para obtener más +información.") + (fr "Sur le système Guix, la nouvelle variable @code{lvm-device-mapping} +vous permet de déclarer des « périphériques mappés » pour LVM, le gestionnaire +de volumes logiques. Par exemple, vous pouvez déclarer les volumes logiques +« alpha » et « beta » du groupe « vg0 » comme ceci : + +@lisp +(mapped-device + (source \"vg0\") + (target (list \"vg0-alpha\" \"vg0-beta\")) + (type lvm-device-mapping)) +@end lisp + +Voir @command{info \"(guix.fr) Périphériques mappés\"} pour en savoir plus."))) + (entry (commit "3b6e4e5fd05e72b8a32ff1a2d5e21464260e21e6") (title (en "List of substitute keys is now declarative on Guix System") (de "Liste der Substitutschlüssel auf Guix System ist jetzt deklarativ") @@ -667,7 +1408,8 @@ engine") (es "@command{guix pack -RR} introduce un nuevo motor de ejecución") (de "@command{guix pack -RR} führt neuen Ausführungstreiber -ein")) +ein") + (fr "@command{guix pack -RR} introduit un nouveau moteur d'exécution")) (body (en "The @command{guix pack -RR} command allows you to create a tarball containing @dfn{relocatable binaries}. Until now, those would rely @@ -726,12 +1468,30 @@ export GUIX_EXECUTION_ENGINE @end example Führen Sie @command{info \"(guix.de) Aufruf von guix pack\"} aus, wenn Sie -mehr wissen wollen."))) +mehr wissen wollen.") + (fr "La commande @command{guix pack -RR} vous permet de créer une +archive tar contenant des @dfn{binaires repositionnables}. Jusqu'ici, ils +s'appuyaient sur les « espaces de noms non privilégiés » de Linux ou sur +PRoot, quand les espaces de noms non privilégiés n'étaient pas disponibles. +Cependant, PRoot ralenti significativement certains profils d'exécution. + +Pour éviter cela, @command{guix pack -RR} introduit une troisième possibilité +basée sur une extension de l'éditeur des liens à l'exécution de GNU (ld.so) et +sur Fakechroot, qui ralenti très peu l'exécution. Vous pouvez choisir l'option +la plus rapide à l'exécution d'un binaire relocalisable de cette manière : + +@example +GUIX_EXECUTION_ENGINE=performance +export GUIX_EXECUTION_ENGINE +@end example + +Lancez @command{info \"(guix.fr) Invoquer guix pack\"} pour en savoir plus."))) (entry (commit "88a96c568c47c97d05d883ada5afbc4e1200b10f") (title (en "New @option{--path} option for @command{guix graph}") (es "Nueva opción @option{--path} para @command{guix graph}") - (de "Neue Option @option{--path} für @command{guix graph}")) + (de "Neue Option @option{--path} für @command{guix graph}") + (fr "Nouvelle option @option{--path} pour @command{guix graph}")) (body (en "The @command{guix graph} command has a new @option{--path} option that instructs it to display the shortest path between two packages, @@ -766,7 +1526,18 @@ guix graph --path libreoffice libunistring @end example Führen Sie @code{info \"(guix.de) Aufruf von guix graph\"} aus, um mehr zu -erfahren."))) +erfahren.") + (fr "La commande @command{guix graph} a une nouvelle option +@option{--path} qui lui dit d'afficer le plus court chemin entre deux +paquets, dérivations ou éléments du dépôt. Par exemple, la commande ci-dessous +affiche le plus court chemin entre le paquet @code{libreoffice} et +@code{libunistring} : + +@example +guix graph --path libreoffice libunistring +@end example + +Lancez @code{info \"(guix.fr) Invoquer guix graph\"} pour en savoir plus."))) (entry (commit "a33eac038a811603c8b9ed106ae405a5f80a0e9d") (title (en "GNU C Library upgraded") @@ -872,7 +1643,8 @@ Rezepte mit uns zu teilen!"))) (entry (commit "2ca7af43fe17d9acf082dce85d137a27a8ac4887") (title (en "Further reduced binary seed bootstrap") - (de "Bootstrapping jetzt mit noch kleinerem Seed")) + (de "Bootstrapping jetzt mit noch kleinerem Seed") + (fr "Le bootstrap binaire est encore plus réduit")) (body (en "The package graph on x86_64 and i686 is now rooted in a further @dfn{reduced set of binary seeds}. The initial set of binaries from which @@ -884,11 +1656,18 @@ the talk at @uref{https://fosdem.org/2020/schedule/event/gnumes/}.") Menge an Binärdateien, aus denen heraus Pakete erstellt werden, machen nun ungefähr 60 MiB aus, ein Viertel der früheren Größe. Führen Sie @code{info \"(guix.de) Bootstrapping\"} aus, um mehr zu erfahren, oder schauen Sie sich -den Vortrag auf @uref{https://fosdem.org/2020/schedule/event/gnumes/} an."))) +den Vortrag auf @uref{https://fosdem.org/2020/schedule/event/gnumes/} an.") + (fr "Le graphe des paquets sur x86_64 et i686 prend maintenant racine +dans un @dfn{ensemble de graines binaires} plus réduit. L'ensemble initial +des binaires à partir desquels les paquets sont désormais construit pèse +environ 60 Mo, un quart de ce qu'il était. Lancez +@code{info \"(guix.fr) Bootstrapping\"} pour en savoir plus, ou regardez +la présentation sur @uref{https://fosdem.org/2020/schedule/event/gnumes/}."))) (entry (commit "0468455e7d279c89ea3ad1b51935efb2b785ec47") (title (en "Rottlog service added to @code{%base-services}") - (de "Rottlog-Dienst ist nun Teil der @code{%base-services}")) + (de "Rottlog-Dienst ist nun Teil der @code{%base-services}") + (fr "Le service rottlog a été ajouté à @code{%base-services}")) (body (en "An instance of @code{rottlog-service-type}, the system service responsible for log rotation, has been added to @code{%base-services}. If your operating system configuration for Guix System is explicitly adding @@ -898,11 +1677,18 @@ the ``Log Rotation'' section of the manual for more information.") Log-Rotation wurde zu den @code{%base-services} hinzugefügt. Wenn der Systemdienst bereits in Ihrer Konfiguration für Guix System ausdrücklich genannt wurde, sollten Sie ihn jetzt daraus entfernen. Siehe den Abschnitt -„Log-Rotation“ im Handbuch für weitere Informationen."))) +„Log-Rotation“ im Handbuch für weitere Informationen.") + (fr "Une instance de @code{rottlog-service-type}, le service +système responsable de la rotation des journaux, a été ajoutée à +@code{%base-services}. Si votre configuration de système d'exploitation Guix +System ajoute @code{rottlog-service-type} explicitement, vous devriez maintenant +le supprimer. Voir la section « Rotation des journaux » dans le manuel +pour en savoir plus."))) (entry (commit "b6bee63bed4f013064c0d902e7c8b83ed7514ade") (title (en "@code{guile} package now refers to version 3.0") - (de "Das @code{guile}-Paket bezeichnet jetzt Version 3.0")) + (de "Das @code{guile}-Paket bezeichnet jetzt Version 3.0") + (fr "Le paquet @code{guile} se réfère maintenant à la version 3.0")) (body (en "The @code{guile} package has been upgraded to version 3.0 (instead of 2.2). The @code{guile3.0-} packages have been renamed to their original name, and @code{guile2.2-} variants of these packages have been @@ -913,7 +1699,12 @@ system services also run on 3.0.") beginnen, wurden umbenannt, so dass sie nun den unveränderten Namen tragen, während ihre Varianten mit @code{guile2.2-} hinzugefügt wurden. Des Weiteren werden jetzt alle Ableitungen mit Guile 3.0 erstellt und die Systemdienste -laufen auch auf 3.0."))) +laufen auch auf 3.0.") + (fr "Le paquet @code{guile} a été mis à jour vers la version 3.0 +(au lieu de la 2.2). Les paquets @code{guile3.0-} ont été renommés en leur +nom d'origine et les variantes @code{guile2.2-} de ces paquets ont été définis. +En plus, les dérivation sont maintenant construites avec Guile 3.0, et les +services systèmes utilisent aussi la 3.0."))) (entry (commit "e3e1a7ba08af2d58c47264c543617e499c239444") (title (en "@command{guix pull} now supports SSH authenticated @@ -1019,7 +1810,9 @@ historique."))) (entry (commit "3e962e59d849e4300e447d94487684102d9d412e") (title (en "@command{guix graph} now supports package transformations") - (de "@command{guix graph} unterstützt nun Paketumwandlungen")) + (de "@command{guix graph} unterstützt nun Paketumwandlungen") + (fr "@command{guix graph} prend maintenant en charge les +transformations de paquets")) (body (en "The @command{guix graph} command now supports the common package transformation options (see @command{info \"(guix) Package Transformation @@ -1034,7 +1827,11 @@ Abhängigkeitsgraphen zu sehen.") comunes de transformación de paquetes (véase @command{info \"(guix.es) Opciones de transformación de paquetes\"}). Esto es particularmente útil para comprobar el efecto de la opción de reescritura del grafo -de dependencias @option{--with-input}."))) +de dependencias @option{--with-input}.") + (fr "La commande @command{guix graph} prend maintenant en charge les +transformations de paquets communes (voir @command{info \"(guix.fr) Options de +transformation de paquets\"}). C'est particulièrement utile pour voir l'effet +de l'option @option{--with-input} qui réécrit de graphe de dépendance."))) (entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a") (title (en "@command{guix pull} now honors