X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/87c079d9b55afda249ddc1b11798a62547a2cbb6..a424ebdefc2d49258787b862afc0686b088065b4:/etc/news.scm diff --git a/etc/news.scm b/etc/news.scm index 885a00fb7d..3207c12152 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -1,10 +1,20 @@ ;; GNU Guix news, for use by 'guix pull'. ;; -;; Copyright © 2019, 2020 Ludovic Courtès -;; Copyright © 2019, 2020 Tobias Geerinckx-Rice -;; Copyright © 2020 Mathieu Othacehe +;; 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, 2021 Julien Lepiller +;; Copyright © 2019, 2020, 2021 Florian Pelz +;; Copyright © 2020 Marius Bakke +;; 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 +;; Copyright © 2021 Xinglu Chen ;; ;; Copying and distribution of this file, with or without modification, are ;; permitted in any medium without royalty provided the copyright notice and @@ -13,8 +23,999 @@ (channel-news (version 0) + (entry (commit "bdc298ecee15283451d3aa20a849dd7bb22c8538") + (title + (en "New @command{guix import egg} command") + (de "Neuer Befehl @command{guix import egg}") + (zh "新的 @command{guix import egg} 命令")) + (body + (en "The new @command{guix import egg} command allows packagers to +generate a package definition or a template thereof given the name of a +CHICKEN egg package, like so: + +@example +guix import egg sourcehut +@end example + +Run @command{info \"(guix) Invoking guix import\"} for more info.") + (de "Mit dem neuen Befehl @command{guix import egg} können +Paketautoren eine Paketdefinition oder eine Vorlage dafür anhand des Namens +eines „Egg“-Pakets für CHICKEN erzeugen, etwa so: + +@example +guix import egg sourcehut +@end example + +Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr +Informationen zu bekommen.") + (zh "新的 @command{guix import egg} 命令能让贡献者从一个CHICKEN egg生 +成一个包装或包装样板。 + +@example +guix import egg sourcehut +@end example + +想了解更多可以运行 @command{info \"(guix) Invoking guix import\"}。"))) + + (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") + (es "Claves para sustituciones del sistema Guix en formato declarativo") + (fr "Liste des clefs de substituts désormais déclarative sur Guix System")) + (body + (en "The list of authorized substitute keys, available in +@file{/etc/guix/acl}, is now built by default in a purely declarative fashion +on Guix System based on the @code{authorized-keys} field of the configuration +of @code{guix-service-type}. This means that manual changes to +@file{/etc/guix/acl} are now @emph{discarded} upon reconfiguration or +reboot (a backup is made as @file{/etc/guix/acl.bak} in that case). + +We recommend updating your operating system configuration to explicitly list +all the authorized substitute keys. See @command{info \"(guix) Base +Services\"}, for more info about @code{guix-configuration} and +@code{authorized-keys}. + +Alternatively, you can set the @code{authorize-key?} field of +@code{guix-configuration} to @code{#f} to restore previous behavior.") + (de "Die Liste von autorisierten Substitutschlüsseln, die in +@file{/etc/guix/acl} steht, wird auf Guix System nach Vorgabe jetzt auf rein +deklarative Weise erstellt, je nach Inhalt des @code{authorized-keys}-Feldes +der Konfiguration des @code{guix-service-type}. Das hat zur Folge, dass +manuelle Änderungen an @file{/etc/guix/acl} von jetzt an nach jedem +Rekonfigurieren oder Neustarten @emph{verworfen} werden (in diesem Fall wird +eine Sicherheitskopie namens @file{/etc/guix/acl.bak} angelegt). + +Wir empfehlen, dass Sie Ihre Betriebssystemkonfiguration aktualisieren, damit +dort alle autorisierten Substitutschlüssel ausdrücklich aufgeführt +werden. Siehe @command{info \"(guix.de) Basisdienste\"} für mehr Informationen +zur @code{guix-configuration} und @code{authorized-keys}. + +Alternativ können Sie das @code{authorize-key?}-Feld der +@code{guix-configuration} auf @code{#f} setzen, um zum alten Verhalten +zurückzugehen.") + (es "El listado de claves autorizadas para la obtención de +sustituciones, disponible en @file{/etc/guix/acl}, ahora se genera de manera +predeterminada en el sistema Guix de forma completamente declarativa en base +al campo @code{authorized-keys} del la configuración para el servicio +@code{guix-service-type}. Esto significa que los cambios que se hayan +realizado de manera manual en @file{/etc/guix/acl} @emph{se descartan} tras +una reconfiguración del sistema o tras un reinicio (se realiza una copia de +seguridad en la ruta @file{/etc/guix/acl.bak} en este caso). + +Le recomendamos que actualice su configuración del sistema operativo para que +enumere explícitamente todas las claves que desea autorizar para la obtención +de sustituciones. Véase @command{info \"(guix.es) Servicios base\"}, para +obtener más información sobre @code{guix-configuration} y +@code{authorized-keys}. + +También puede proporcionar el valor @code{#f} en el campo +@code{authorize-key?} de @code{guix-configuration} para volver al +comportamiento que se obtenía con versiones previas.") + (fr "La liste des clefs de substituts autorisées, stockée dans +@file{/guix/guix/acl}, est dorénavant construite par défaut de manière +déclarative sur Guix System, en se basant sur le champs @code{authorized-keys} +de la configuration de @code{guix-service-type}. Cela signifie que les +modifications apportées manuellement à @file{/etc/guix/acl} seront désormais +@emph{perdues} lors d'une reconfiguration ou d'un redémarrage (dans ce cas une +sauvegarde est faite dans @file{/etc/guix/acl.bak}). + +Nous recommandons de mettre à jour sa configuration de système d'exploitation +pour y lister explicitement les clefs autorisées. Lancez @command{info +\"(guix.fr) Services de base\"} pour plus d'informations sur +@code{guix-configuration} et @code{authorized-keys}. + +Il est également possible de mettre le champs @code{authorize-key?} de +@code{guix-configuration} à @code{#f} pour restaurer le comportement qui +prévalait jusqu'à maintenant."))) + + (entry (commit "6aeda81602555fbeac0c0a209e74f5262093b513") + (title (en "New @option{--with-debug-info} package transformation option") + (de "Neue Paketumwandlungsoption @option{--with-debug-info}") + (es "Nueva opción de transformación @option{--with-debug-info}") + (fr "Nouvelle option de transformation @option{--with-debug-info}")) + (body + (en "The new @option{--with-debug-info} option builds a variant of a +package that includes debug info and grafts it onto the application you want +to debug. Thus, only the package for which you want debug info needs to be +recompiled. This is useful for packages that do not already have a +@code{debug} output. + +For example, here is how you would obtain debug info for the @code{glib} +library so you can inspect it while debugging Inkscape: + +@example +guix build --with-debug-info=glib inkscape +@end example + +Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (de "Die neue Paketumwandlungsoption @option{--with-debug-info} lässt +eine Variante eines Pakets erstellen, die auch Informationen zur Fehlersuche +enthält. Damit wird die Anwendung veredelt, wo Sie Fehler nachvollziehen +möchten. Somit muss nur das Paket, für das Sie die Informationen brauchen, neu +kompiliert werden. Das ist hilfreich bei Paketen, die noch nicht über eine +@code{debug}-Ausgabe verfügen. + +Zum Beispiel würden Sie so Informationen zur Fehlersuche für die +@code{glib}-Bibliothek bekommen, um sie inspizieren zu können, wenn Sie Fehler +in Inkscape nachvollziehen möchten: + +@example +guix build --with-debug-info=glib inkscape +@end example + +Führen Sie für mehr Informationen @command{info \"(guix.de) +Paketumwandlungsoptionen\"} aus.") + (es "La nueva opción @option{--with-debug-info} construye una +variante del paquete que incluye la información de depuración y la injerta +en la aplicación que desee depurar. Por tanto, únicamente el paquete del +que desee información de depuración debe construirse de nuevo. Es útil +para paquetes que no tienen ya una salida @code{debug}. + +El siguiente ejemplo muestra como obtener información de depuración +para la biblioteca @code{glib} de modo que pueda inspeccionarla mientras +depura Inkscape: + +@example +guix build --with-debug-info=glib inkscape +@end example + +Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"} +para obtener más información.") + (fr "La nouvelle option de transformation de paquets +@option{--with-debug-info} compile une variante d'un paquet avec les +informations de déboguage et la greffe sur l'application que l'on veut +déboguer. Ainsi seul le paquet pour lequel on demande des informations de +déboguage a besoin d'être recompilé. C'est utile pour les paquets n'ayant pas +déjà un résultat @code{debug}. + +Voici par exemple comment obtenir des informations de déboguage pour la +bibliothèque @code{glib} de manière à pouvoir l'inspecter quand on débuggue +Inkscape : + +@example +guix build --with-debug-info=glib inkscape +@end example + +Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour +plus de détails."))) + + (entry (commit "abd7a474615353149a44f4504f0b4b248dcc0716") + (title (en "New @option{--with-c-toolchain} package transformation option") + (de "Neue Paketumwandlungsoption @option{--with-c-toolchain}") + (es "Nueva opción de transformación @option{--with-c-toolchain}") + (fr "Nouvelle option de transformation @option{--with-c-toolchain}")) + (body + (en "The new @option{--with-c-toolchain} package transformation +options provides an easy way for developers to rebuild their favorite packages +with the C/C++ tool chain of their choice instead of the default one. + +For example, the following command rebuilds the @code{fftw} and @code{fftwf} +packages as well as every package that depends on them, up to and including +@code{octave-cli}, using GCC version 10 (currently GCC 7.5 is used by +default): + +@example +guix build octave-cli \\ + --with-c-toolchain=fftw=gcc-toolchain@@10 \\ + --with-c-toolchain=fftwf=gcc-toolchain@@10 +@end example + +Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (de "Die neue Paketumwandlungsoption @option{--with-c-toolchain} +bietet Entwicklern die Möglichkeit, leicht ihre Lieblingspakete mit der +selbstgewählten Toolchain für C/C++ anstelle der vorgegebenen neu zu +erstellen. + +Zum Beispiel werden mit folgendem Befehl die Pakete @code{fftw} und +@code{fftwf} sowie alle davon abhängigen Pakete bis einschließlich +@code{octave-cli} mit Version 10 der GCC erstellt (vorgegeben wäre zurzeit, +GCC 7.5 zu benutzen): + +@example +guix build octave-cli \\ + --with-c-toolchain=fftw=gcc-toolchain@@10 \\ + --with-c-toolchain=fftwf=gcc-toolchain@@10 +@end example + +Führen Sie für mehr Informationen @command{info \"(guix.de) +Paketumwandlungsoptionen\"} aus.") + (es "La nueva opción de transformación de paquetes +@option{--with-c-toolchain} proporciona a las desarrolladoras una manera +fácil de reconstruir sus paquetes favoritos con la cadena de herramientas +de compilación de C/C++ que elijan en vez de la predeterminada. + +Por ejemplo, la siguiente orden reconstruye los paquetes @code{fftw} y +@code{fftwf} así como todos los paquetes que dependen de ellos hasta +@code{octave-cli}, usando la versión 10 de GCC (el compilador +predeterminado en estos momentos es GCC 7.5): + +@example +guix build octave-cli \\ + --with-c-toolchain=fftw=gcc-toolchain@@10 \\ + --with-c-toolchain=fftwf=gcc-toolchain@@10 +@end example + +Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"} +para obtener más información.") + (fr "La nouvelle option de transformation de paquets +@option{--with-c-toolchain} permet aux développeur·euses de recompiler leurs +paquets préférés avec la chaîne d'outils C/C++ de leur choix à la place de +celle par défaut. + +Par exemple, la commande ci-dessous recompile @code{fftw}, @code{fftwf} et +tous les paquets qui en dépendent, jusqu'à @code{octave-cli} inclus, avec GCC +10 (actuellement c'est GCC 7.5 qui est utilisé par défaut): + +@example +guix build octave-cli \\ + --with-c-toolchain=fftw=gcc-toolchain@@10 \\ + --with-c-toolchain=fftwf=gcc-toolchain@@10 +@end example + +Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour +plus de détails."))) + (entry (commit "8e1907a72430aa989125b053573ef0897c480697") (title (en "Package transformation options now recorded in profiles") + (es "Las opciones de transformación de paquetes ahora se +quedan registradas en el perfil") (de "Paketumwandlungsoptionen werden nun in Profilen gesichert") (fr "Options de transformation sauvegardées dans les profils")) (body @@ -24,6 +1025,14 @@ you eventually run @command{guix upgrade}, those transformations will be automatically applied to the upgraded packages. Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (es "Si durante la instalación de paquetes en un perfil se utilizaron +opciones de transformación de paquetes, como por ejemplo +@option{--with-input}, éstas se registran en el perfil. Cuando vuelva a +ejecutar @command{guix upgrade}, dichas transformaciones se aplicarán +automáticamente a los paquetes actualizados. + +Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"} +para obtener más información.") (de "Wenn Sie ein Paket in ein Profil installieren, werden nun Paketumwandlungsoptionen wie @option{--with-input} im Profil gespeichert. Sobald Sie später @command{guix upgrade} ausführen, werden dieselben @@ -41,6 +1050,7 @@ plus de détails."))) (entry (commit "313f492657f1d0863c641fa5ee7f5b7028e27c94") (title (en "New @option{--image-type} option for @command{guix system disk-image}.") + (es "Nueva opción @option{--image-type} para @command{guix system disk-image}.") (de "Neue Option @option{--image-type} für @command{guix system disk-image}.") (fr "Nouvelle option @option{--image-type} pour @command{guix system disk-image}.")) (body @@ -51,6 +1061,14 @@ By default, @code{raw} disk images are produced, but @code{hurd-qcow2}, are also available. The @option{--list-image-types} option lists all the available image types.") + (es "La opción @option{--file-system-type} de @command{guix system +disk-image} se ha sustituido por la nueva opción @option{--image-type}. De +manera predeterminada se producen imágenes en formato crudo (@code{raw}) pero +también están disponibles los tipos de imagen @code{hurd-qcow2}, +@code{hurd-raw}, @code{uncompressed-iso9660} y @code{iso9660}. + +La opción @option{--list-image-types} muestra una lista con todos los tipos +de imagen disponibles.") (de "Anstelle der Befehlszeilenoption @option{--file-system-type} für @command{guix system disk-image} gibt es nun die neue Option @option{--image-type}. In der Vorgabeeinstellung @code{raw} werden rohe @@ -72,6 +1090,8 @@ disponibles."))) (entry (commit "8819551c8d2a12cd4e84e09b51e434d05a012c9d") (title (en "Package transformations now apply to implicit inputs") + (es "Las transformaciones de paquetes ahora afectan también +a las dependencias implícitas") (de "Paketumwandlungen betreffen jetzt auch implizite Eingaben") (fr "Les transformations de paquets s'appliquent aux dépendances implicites")) @@ -96,6 +1116,26 @@ guix build --with-graft=glibc=glibc@@2.31 hello Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (es "Las opciones de transformación de paquetes como +@option{--with-branch}, @option{--with-input}, etcétera, ahora también +influyen en las entradas implícitas---antes únicamente las entradas explícitas +del paquete se veían afectadas. Esto permite, por ejemplo, sustituir la +dependencia en python de un paquete que use @code{python-build-system}: + +@example +guix install --with-input=python=python2 python-itsdangerous +@end example + +Otro ejemplo podría ser el injerto de una versión diferente de la biblioteca +de C de GNU (@code{glibc} es una entrada implícita de casi todos los paquetes +y ``muy abajo'' en el grafo de dependencias): + +@example +guix build --with-graft=glibc=glibc@@2.31 hello +@end example + +Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"} +para obtener más información.") (de "Paketumwandlungsoptionen wie @option{--with-branch}, @option{--with-input} und so weiter betreffen nun auch implizite Eingaben — zuvor haben sie sich nur auf die expliziten Eingaben eines Pakets @@ -140,6 +1180,7 @@ plus de détails."))) (entry (commit "f458cfbcc54ed87b1a87dd9e150ea276f17eab74") (title (en "New @option{--without-tests} transformation option") + (es "Nueva opción de transformación @option{--without-tests}") (de "Neue Paketumwandlungsoption @option{--without-tests}") (fr "Nouvelle option de transformation @option{--without-tests}")) (body @@ -156,6 +1197,21 @@ This is primarily useful as a way to speed up development cycles, or to work around flaky test suites---skipping tests can hide real issues, so use with care. Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (es "La nueva opción de transformación de paquetes +@option{--without-tests} indica a Guix que omita la batería de pruebas del +paquete proporcionado. En el siguiente ejemplo @code{guile-gcrypt} se +construye usando una variación de @code{automake}, la cual se ha construido +sin ejecutar su (larga) batería de pruebas: + +@example +guix build guile-gcrypt --without-tests=automake +@end example + +Esto es principalmente útil como una forma de acelerar ciclos de desarrollo o +de omitir temporalmente baterías de pruebas problemáticas---omitir las pruebas +puede ocultar problemas reales, por lo que debe usarse con precaución. +Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"} +para obtener más información.") (de "Mit der neuen Paketumwandlungsoption @option{--without-tests} wird Guix angewiesen, den Testkatalog des angegebenen Pakets zu überspringen. Im folgenden Beispiel wird @code{guile-gcrypt} mit einer @@ -189,6 +1245,7 @@ paquets\"} pour plus de détails."))) (entry (commit "a98712785e0b042a290420fd74e5a4a5da4fc68f") (title (en "New @command{guix git authenticate} command") + (es "Nueva orden @command{guix git authenticate}") (de "Neuer Befehl @command{guix git authenticate}") (fr "Nouvelle commande @command{guix git authenticate}")) (body @@ -204,6 +1261,20 @@ to allow people to authenticate code fetched from your repository. Run @command{info \"(guix) Invoking guix git authenticate\"} for more info, and see @uref{https://guix.gnu.org/blog/2020/securing-updates/} for details on these mechanisms.") + (es "La nueva orden @command{guix git authenticate} comprueba la +validez de un repositorio git verificando las firmas de las revisiones y +comprobando que todas las firmas están autorizadas, exactamente igual que +@command{guix pull}. + +Esta orden es principalmente útil para desarrolladoras de canales. Permite +asegurar, antes de subir nada al repositorio remoto, que el canal contiene +únicamente revisiones firmadas por claves autorizadas. No obstante esta orden +es útil siempre que use git y quiera que otras personas puedan verificar el +código obtenido de su repositorio. + +Ejecute @command{info \"(guix.es) Invocación de guix git authenticate\"} +para obtener más información y vea detalles sobre estos mecanismos en + @uref{https://guix.gnu.org/blog/2020/securing-updates/}.") (de "Mit dem neuen Befehl @command{guix git authenticate} können Sie ein Git-Repository authentifizieren. Dazu werden alle Commit-Signaturen verifiziert und geprüft, dass jede von einer autorisierten Quelle kommt, genau @@ -236,6 +1307,7 @@ pour en savoir plus sur ces mécanismes."))) (entry (commit "43badf261f4688c8a7a7a9004a4bff8acb205835") (title (en "@command{guix pull} authenticates channels") + (es "@command{guix pull} verifica los canales") (de "@command{guix pull} authentifiziert Kanäle") (fr "@command{guix pull} authentifie les canaux")) (body @@ -248,6 +1320,16 @@ repository and from attempts to ship malicious code to users. This feature is currently limited to the @code{guix} channel but will soon be available to third-party channel authors.") + (es "Las ordenes @command{guix pull} y @command{guix time-machine} +ahora verifican el código fuente que obtienen, a menos que se proporcione la +opción @option{--disable-authentication}. Lo que esto significa es que Guix se +asegura de que cada revisión que recibe está firmada criptográficamente por +una desarrolladora autorizada. Esto le protege de intentos de modificación del +repositorio de Guix y de entregas de código con malas intenciones sobre las +usuarias. + +Esta característica está limitada actualmente al canal @code{guix} pero pronto +estará disponible para autoras de canales independientes.") (de "Die Befehle @command{guix pull} und @command{guix time-machine} prüfen nun die Authentizität des heruntergeladenen Quellcodes, außer wenn die neue Befehlszeilenoption @option{--disable-authentication} angegeben @@ -271,6 +1353,7 @@ Cette fonctionnalité n'est actuellement disponible que pour le canal (entry (commit "c924e541390f9595d819edc33c19d979917c15ec") (title (en "@command{guix repl} adds support for running Guile scripts") + (es "@command{guix repl} puede ejecutar guiones de Guile") (de "@command{guix repl} kann Guile-Skripte ausführen") (fr "@command{guix repl} permet d'exécuter des scripts en langage Guile")) (body @@ -284,6 +1367,18 @@ guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2 @end example Run @command{info \"(guix) Invoking guix repl\"} for more information.") + (es "La orden @command{guix repl} ahora se puede usar para +ejecutar guiones de Guile. En comparación con únicamente la ejecución +de la orden @command{guile}, @command{guix repl} garantiza que todos +los módulos de Guix y sus dependencias están disponibles en la ruta + de búsqueda. Los guiones se ejecutan de este modo: + +@example +guix repl -- mi-guion.scm --opcion1 --opcion2=param-op2 param1 param2 +@end example + +Ejecute @command{info \"(guix.es) Invocación de guix repl\"} para obtener +más información.") (de "Der Befehl @command{guix repl} kann jetzt zur Ausführung von Guile-Skripten verwendet werden. Im Vergleich zum Befehl @command{guile} garantiert @command{guix repl}, dass alle Guix-Module und @@ -310,6 +1405,7 @@ Exécutez @command{info \"(guix.fr) Invoquer guix repl\"} pour plus d'informatio (entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b") (title (en "Add support to boot from a Btrfs subvolume") + (es "Implementado el arranque desde un subvolumen de Btrfs") (de "Unterstützung für Systemstart von einem Btrfs-Unterlaufwerk hinzugefügt") (fr "Ajout du support pour démarrer depuis un sous-volume Btrfs") @@ -320,6 +1416,11 @@ operating system declaration now takes into account the use of a Btrfs subvolume for the partition holding @file{/gnu/store}. Run the command @command{info \"(guix) Btrfs file system\"} for more information and examples.") + (es "El fichero de configuración de GRUB producido por la +declaración de sistema operativo ahora tiene en cuenta el uso de +subvolúmenes de Btrfs en la partición que contiene @file{/gnu/store}. +Ejecute la orden @command{info \"(guix.es) Sistema de ficheros Btrfs\"} + para obtener más información y ejemplos.") (de "Für die Erzeugung einer GRUB-Konfigurationsdatei aus einer Betriebssystemdeklaration kann jetzt ein Btrfs-Unterlaufwerk („Subvolume“) für die Partition mit @file{/gnu/store} angegeben werden. Führen Sie @@ -339,8 +1440,11 @@ voorbeelden."))) (entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e") (title (en "@command{guix pack -RR} introduces a new execution 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 @@ -359,6 +1463,26 @@ export GUIX_EXECUTION_ENGINE @end example Run @command{info \"(guix) Invoking guix pack\"} for more information.") + (es "La orden @command{guix pack -RR} le permite crear un +archivador tar que contiene @dfn{binarios reposicionables}. Hasta ahora +dichos binarios dependían o bien de los ``espacios de nombres de usuarias +sin privilegios'' de Linux o en PRoot, cuando estos no estaban +implementados. No obstante, PRoot introduce una sobrecarga significativa +en algunos escenarios de trabajo. + +Para estos casos @command{guix pack -RR} introduce una tercera opción +basada en una extensión al enlazador de tiempo de ejecución de GNU (ld.so) +y en Fakechroot, lo que conlleva muy poca sobrecarga. Puede seleccionar +la opción más rápida cuando ejecute un binario reposicionable de esta +manera: + +@example +GUIX_EXECUTION_ENGINE=performance +export GUIX_EXECUTION_ENGINE +@end example + +Ejecute @command{info \"(guix.es) Invocación de guix pack\"} para +obtener más información.") (de "Mit dem Befehl @command{guix pack -RR} können Sie einen Tarball mit @dfn{verschieblichen Binärdateien} erzeugen (englisch „Relocatable Binaries“). Bisher wurden diese entweder in „unprivilegierten @@ -379,11 +1503,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}") - (de "Neue Option @option{--path} für @command{guix graph}")) + (es "Nueva opción @option{--path} para @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, @@ -395,6 +1538,18 @@ guix graph --path libreoffice libunistring @end example Run @code{info \"(guix) Invoking guix graph\"} for more information.") + (es "La orden @command{guix graph} tiene una nueva opción +@option{--path} que le indica que debe mostrar la ruta más corta entre dos +paquetes, derivaciones o elementos del almacén. Por ejemplo, la siguiente +orden muestra la ruta más corta desde el paquete @code{libreoffice} hasta +@code{libunistring}: + +@example +guix graph --path libreoffice libunistring +@end example + +Ejecute @code{info \"(guix.es) Invocación de guix graph\"} para obtener más +información.") (de "Der Befehl @command{guix graph} verfügt über eine neue Befehlszeilenoption @option{--path}, die ihn den kürzesten Pfad zwischen zwei Paketen, Ableitungen oder Store-Objekten ausgeben lässt. Zum Beispiel zeigt @@ -406,7 +1561,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") @@ -512,7 +1678,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 @@ -524,11 +1691,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 @@ -538,11 +1712,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 @@ -553,7 +1734,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 @@ -659,7 +1845,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 @@ -674,7 +1862,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