http-client, substitute: Gracefully handle GnuTLS EAGAIN/EINTR.
[jackhill/guix/guix.git] / etc / news.scm
1 ;; GNU Guix news, for use by 'guix pull'.
2 ;;
3 ;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
4 ;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
5 ;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
6 ;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
7 ;; Copyright © 2019, 2020, 2021 Julien Lepiller <julien@lepiller.eu>
8 ;; Copyright © 2019, 2020, 2021 Florian Pelz <pelzflorian@pelzflorian.de>
9 ;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
10 ;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
11 ;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
12 ;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
13 ;; Copyright © 2021 Leo Famulari <leo@famulari.name>
14 ;; Copyright © 2021 Zhu Zihao <all_but_last@163.com>
15 ;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
16 ;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
17 ;;
18 ;; Copying and distribution of this file, with or without modification, are
19 ;; permitted in any medium without royalty provided the copyright notice and
20 ;; this notice are preserved.
21
22 (channel-news
23 (version 0)
24
25 (entry (commit "2161820ebbbab62a5ce76c9101ebaec54dc61586")
26 (title
27 (en "Risk of local privilege escalation during user account creation")
28 (de "Risiko lokaler Rechteausweitung während der Erstellung von Benutzerkonten"))
29 (body
30 (en "A security vulnerability that can lead to local privilege
31 escalation has been found in the code that creates user accounts on Guix
32 System---Guix on other distros is unaffected. The system is only vulnerable
33 during the activation of user accounts that do not already exist.
34
35 This bug is fixed and Guix System users are advised to upgrade their system,
36 with a command along the lines of:
37
38 @example
39 guix system reconfigure /run/current-system/configuration.scm
40 @end example
41
42 The attack can happen when @command{guix system reconfigure} is running.
43 Running @command{guix system reconfigure} can trigger the creation of new user
44 accounts if the configuration specifies new accounts. If a user whose account
45 is being created manages to log in after the account has been created but
46 before ``skeleton files'' copied to its home directory have the right
47 ownership, they may, by creating an appropriately-named symbolic link in the
48 home directory pointing to a sensitive file, such as @file{/etc/shadow}, get
49 root privileges.
50
51 See @uref{https://issues.guix.gnu.org/47584} for more information on this
52 bug.")
53 (de "Eine Sicherheitslücke, die eine lokale Rechteausweitung zur
54 Folge haben kann, wurde in dem Code gefunden, mit dem Benutzerkonten auf Guix
55 System angelegt werden — Guix auf anderen Distributionen ist nicht betroffen.
56 Das System kann nur während der Aktivierung noch nicht existierender
57 Benutzerkonten angegriffen werden.
58
59 Der Fehler wurde behoben und wir empfehlen Nutzern von Guix System, ihre
60 Systeme zu aktualisieren, mit einem Befehl wie:
61
62 @example
63 guix system reconfigure /run/current-system/configuration.scm
64 @end example
65
66 Der Angriff kann erfolgen, während @command{guix system reconfigure} läuft.
67 Wenn @command{guix system reconfigure} ausgeführt wird, kann das die Erzeugung
68 neuer Benutzerkonten auslösen, wenn in der Konfiguration neue Konten angegeben
69 wurden. Wenn ein Benutzer, dessen Konto gerade angelegt wird, es
70 fertigbringt, sich anzumelden, bevor „Skeleton-Dateien“ in seinem Persönlichen
71 Verzeichnis den richtigen Besitzer haben, kann er durch Anlegen einer gezielt
72 benannten symbolischen Verknüpfung in seinem Persönlichen Verzeichnis auf eine
73 sensible Datei wie @file{/etc/shadow} Administratorrechte erlangen.
74
75 Siehe @uref{https://issues.guix.gnu.org/47584} für mehr Informationen zu
76 diesem Fehler.")))
77
78 (entry (commit "e52ec6c64a17a99ae4bb6ff02309067499915b06")
79 (title
80 (en "New supported platform: powerpc64le-linux")
81 (de "Neue Plattform wird unterstützt: powerpc64le-linux")
82 (fr "Nouvelle plate-forme prise en charge : powerpc64le-linux"))
83 (body
84 (en "A new platform, powerpc64le-linux, has been added for
85 little-endian 64-bit Power ISA processors using the Linux-Libre kernel. This
86 includes POWER9 systems such as the
87 @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
88 RYF Talos II mainboard}. This platform is available as a \"technology
89 preview\": although it is supported, substitutes are not yet available from
90 the build farm, and some packages may fail to build. In addition, Guix System
91 is not yet available on this platform. That said, the Guix community is
92 actively working on improving this support, and now is a great time to try it
93 and get involved!")
94 (de "Eine neue Plattform, powerpc64le-linux, wurde hinzugefügt. Mit
95 ihr können Prozessoren mit 64-Bit-Power-Befehlssatz, little-endian, mit dem
96 Linux-Libre-Kernel betrieben werden. Dazu gehören POWER9-Systeme wie die
97 @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
98 RYF-zertifizierte Talos-II-Hauptplatine}. Bei der Plattform handelt es sich
99 um eine „Technologievorschau“; obwohl sie unterstützt wird, gibt es noch keine
100 Substitute von der Erstellungsfarm und bei manchen Paketen könnte die
101 Erstellung fehlschlagen. Des Weiteren ist Guix System auf dieser Plattform
102 noch nicht verfügbar. Dennoch arbeitet die Guix-Gemeinde aktiv daran, diese
103 Unterstützung auszubauen, und jetzt ist eine gute Gelegenheit, sie
104 auszuprobieren und mitzumachen!")
105 (fr "Une nouvelle plate-forme, powerpc64le-linux, a été ajoutée pour
106 les processeurs POWER 64-bits utilisant le noyau Linux-libre. Ça inclut les
107 systèmes POWER9 tels que les
108 @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
109 cartes Talos II RYF}. Il s'agit pour le moment d'un « avant-goût » de la
110 technologie : bien que la plate-forme soit prise en charge, la ferme de
111 compilation ne fournit pas encore de substituts et certains paquets risquent
112 de ne pas compiler. En outre, Guix System n'est pas encore disponible sur
113 cette plate-forme. Ceci dit, la communauté Guix travaille activement pour
114 améliorer cette prise en charge et c'est maintenant un bon moment pour
115 l'essayer et pour s'impliquer !")))
116
117 (entry (commit "9ade2b720af91acecf76278b4d9b99ace406781e")
118 (title
119 (en "Update on previous @command{guix-daemon} local privilege escalation")
120 (de "Nachtrag zur lokalen Rechteausweitung bei @command{guix-daemon}")
121 (nl "Aanvulling bij escalatie van bevoegdheden via @command{guix-daemon}"))
122 (body
123 (en "The previous news item described a potential local privilege
124 escalation in @command{guix-daemon}, and claimed that systems with the Linux
125 @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
126 ``protected hardlink''} feature enabled were unaffected by the vulnerability.
127
128 This is not entirely correct. Exploiting the bug on such systems is harder,
129 but not impossible. To avoid unpleasant surprises, all users are advised to
130 upgrade @command{guix-daemon}. Run @command{info \"(guix) Upgrading Guix\"}
131 for info on how to do that. See
132 @uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/}
133 for more information on this bug.")
134 (de "In der letzten Neuigkeit wurde eine mögliche lokale
135 Rechteausweitung im @command{guix-daemon} beschrieben und behauptet, dass
136 Systeme, auf denen Linux’
137 @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
138 „Geschützte-Hardlinks“-Funktionalität} aktiviert ist, von der Sicherheitslücke
139 nicht betroffen seien.
140
141 Das stimmt nicht ganz. Die Lücke auf solchen Systemen auszunutzen, ist
142 schwerer, aber nicht unmöglich. Um unangenehme Überraschungen zu vermeiden,
143 empfehlen wir allen Nutzern, @command{guix-daemon} zu aktualisieren. Führen
144 Sie @command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren,
145 wie Sie ihn aktualisieren können. Siehe
146 @uref{https://guix.gnu.org/de/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/}
147 für mehr Informationen zu diesem Fehler.")
148 (nl "Het vorige nieuwsbericht beschreef een beveiligingsprobleem in
149 @command{guix-daemon} dat kan leiden tot de escalatie van lokale bevoegdheden.
150 Het bericht stelde dat machines waarop de
151 @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
152 ``protected hardlink''}-optie van Linux is inschakeld niet kwetsbaar zijn.
153
154 Dit is niet volledig juist. De optie maakt het uitbuiten van de fout
155 moeilijker maar niet onmogelijk. Om onaangename verrassingen te voorkomen
156 is het voor iedereen aangeraden om @command{guix-daemon} op te waarderen.
157 Voer @command{info \"(guix) Upgrading Guix\"} uit voor meer informatie
158 daarover. Lees
159 @uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/}
160 voor meer informatie over het probleem.")))
161
162 (entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf")
163 (title
164 (en "Risk of local privilege escalation @i{via} @command{guix-daemon}")
165 (de "Risiko lokaler Rechteausweitung über @command{guix-daemon}")
166 (fr "Risque d'élévation locale de privilèges @i{via} @command{guix-daemon}")
167 (nl "Risico op escalatie van bevoegdheden via @command{guix-daemon}"))
168 (body
169 (en "A security vulnerability that can lead to local privilege
170 escalation has been found in @command{guix-daemon}. It affects multi-user
171 setups in which @command{guix-daemon} runs locally.
172
173 It does @emph{not} affect multi-user setups where @command{guix-daemon} runs
174 on a separate machine and is accessed over the network, @i{via}
175 @env{GUIX_DAEMON_SOCKET}, as is customary on cluster setups. Machines where
176 the Linux @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
177 ``protected hardlink''} feature is enabled, which is common, are also
178 unaffected---this is the case when the contents of
179 @file{/proc/sys/fs/protected_hardlinks} are @code{1}.
180
181 The attack consists in having an unprivileged user spawn a build process, for
182 instance with @command{guix build}, that makes its build directory
183 world-writable. The user then creates a hardlink within the build directory
184 to a root-owned file from outside of the build directory, such as
185 @file{/etc/shadow}. If the user passed the @option{--keep-failed} option and
186 the build eventually fails, the daemon changes ownership of the whole build
187 tree, including the hardlink, to the user. At that point, the user has write
188 access to the target file.
189
190 You are advised to upgrade @command{guix-daemon}. Run @command{info \"(guix)
191 Upgrading Guix\"}, for info on how to do that. See
192 @uref{https://issues.guix.gnu.org/47229} for more information on this bug.")
193 (de "Eine Sicherheitslücke, die zu einer lokalen Rechteausweitung
194 führen kann, wurde in @command{guix-daemon} gefunden. Sie betrifft
195 Mehrbenutzersysteme, auf denen @command{guix-daemon} lokal läuft.
196
197 @emph{Nicht} betroffen sind Mehrbenutzersysteme, auf denen
198 @command{guix-daemon} auf einer separaten Maschine läuft und darauf über das
199 Netzwerk mittels @env{GUIX_DAEMON_SOCKET} zugegriffen wird, was auf
200 Rechen-Clustern üblich ist. Auch Maschinen, auf denen Linux’
201 @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
202 „Geschützte-Hardlinks“-Funktionalität} aktiviert ist@tie{}– was häufig der
203 Fall ist@tie{}–, sind nicht betroffen; sie ist aktiviert, wenn
204 @file{/proc/sys/fs/protected_hardlinks} den Inhalt @code{1} hat.
205
206 Der Angriff besteht darin, dass ein unprivilegierter Benutzer einen
207 Erstellungsprozess startet, etwa mit @command{guix build}, der allen
208 Schreibberechtigung auf sein Erstellungsverzeichnis erteilt. In diesem
209 Erstellungsverzeichnis erzeugt der Benutzer nun eine harte Verknüpfung auf
210 eine Datei außerhalb des Erstellungsverzeichnisses, die dem
211 Administratornutzer root gehört, etwa @file{/etc/shadow}. Wenn der Nutzer die
212 Befehlszeilenoption @option{--keep-failed} angegeben hat und die Erstellung
213 irgendwann fehlschlägt, trägt der Daemon als Besitzer des gesamten
214 Erstellungsverzeichnisses den Benutzer ein, Hardlink eingeschlossen. Jetzt
215 hat der Benutzer Schreibzugriff auf die Zieldatei bekommen.
216
217 Wir empfehlen, dass Sie @command{guix-daemon} aktualisieren. Führen Sie
218 @command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren, wie
219 Sie ihn aktualisieren können. Siehe @uref{https://issues.guix.gnu.org/47229}
220 für mehr Informationen zu diesem Fehler.")
221 (fr "Une faille de sécurité pouvant mener à une élévation locale de
222 privilèges a été trouvée dans @command{guix-daemon}. Elle touche les
223 installations multi-utilisateur·ices dans lesquelles @command{guix-daemon}
224 tourne en local.
225
226 Elle @emph{n'affecte pas} les installations où @command{guix-daemon} tourne
227 sur une machine séparée et qu'on y accède à travers le réseau, @i{via}
228 @env{GUIX_DAEMON_SOCKET}, comme c'est typiquement le cas sur les grappes de
229 calcul (@i{clusters}). Les machines où les
230 @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, ``liens
231 protégés''} de Linux sont activés, ce qui est courant, ne sont pas non plus
232 touchées ; cette fonctionnalité est activée si le contenu de
233 @file{/proc/sys/fs/protected_hardlinks} est @code{1}.
234
235 Pour mener cette attaque, un·e utilisateur·rice démarre un processus de
236 compilation, par exemple avec @command{guix build}, qui rend le répertoire de
237 compilation inscriptible pour tout le monde. La personne créée ensuite un
238 lien dur (@i{hard link}) dans ce répertoire vers un fichier appartenant à
239 @code{root}, tel que @file{/etc/shadow}. Si on a passé l'option
240 @option{--keep-failed} et que la compilation finit par échouer, le démon met
241 l'utilisateur·rice appelant·e comme propriétaire de l'ensemble du répertoire
242 de compilation, y compris le lien. À ce stade, cette personne a accès en
243 écriture sur le fichier cible.
244
245 Nous conseillons de mettre à jour @command{guix-daemon}. Lancer @command{info
246 \"(guix.fr) Mettre à niveau Guix\"} pour voir comment faire. Voir
247 @uref{https://issues.guix.gnu.org/47229} pour plus d'informations sur cette
248 faille.")
249 (nl "In @command{guix-daemon} werd een beveiligingsprobleem
250 gevonden dat kan leiden tot de escalatie van lokale bevoegdheden. Het
251 probleem doet zich voor bij installaties met meerdere gebruikers waarop een
252 lokale @command{guix-daemon} draait.
253
254 Het heeft @emph{geen} invloed op systemen met meerdere gebruikers waarbij de
255 @command{guix-daemon} op een afzonderlijke machine draait en via
256 @env{GUIX_DAEMON_SOCKET} over het netwerk wordt aangesproken, zoals
257 gebruikelijk bij computerclusters. Ook machines waarop de
258 @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
259 ``protected hardlink''}-optie van Linux is inschakeld, wat vaak het geval is,
260 zijn niet kwetsbaar.
261
262 De aanval bestaat erin dat een gebruiker zonder privileges een bouwproces
263 opstart, bijvoorbeeld met @command{guix build}, dat zijn werkmap beschrijfbaar
264 maakt voor alle gebruikers. Vervolgens maakt de gebruiker vanuit deze map een
265 harde link naar een bestand erbuiten met @code{root} als eigenaar, zoals
266 @file{/etc/shadow}. Als de gebruiker de @option{--keep-failed}-optie opgaf
267 en de bouw faalt, maakt @command{guix-daemon} de gebruiker eigenaar van de
268 volledige inhoud van de werkmap, met inbegrip van de harde link. Op dat
269 moment bezit de gebruiker schrijfrechten over het doelbestand.
270
271 Het is aangeraden om @command{guix-daemon} op te waarderen. Voer
272 @command{info \"(guix) Upgrading Guix\"} uit voor meer informatie daarover.
273 Lees @uref{https://issues.guix.gnu.org/47229} voor meer informatie over het
274 probleem.")))
275
276 (entry (commit "77c2f4e2068ebec3f384c826c5a99785125ff72c")
277 (title
278 (en "@code{qemu-binfmt-service-type} is usable for any container")
279 (de "@code{qemu-binfmt-service-type} funktioniert mit jedem Container")
280 (fr "@code{qemu-binfmt-service-type} fonctionne avec tous les conteneurs"))
281 (body
282 (en "The service now makes use of the statically built QEMU binaries
283 along with the fix binary (F) @code{binfmt_misc} flag, which allows the kernel
284 to fully pre-load it in memory. QEMU can thus now be used with any container
285 without extra configuration. The @code{guix-support?} field of the
286 @code{qemu-binfmt-configuration} record is removed, as it is no longer
287 necessary.")
288 (de "Der Dienst benutzt jetzt statisch gebundene QEMU-Binärdateien
289 zusammen mit der Fix-Binary-Flag (F) von @code{binfmt_misc}. Dadurch kann der
290 Kernel die QEMU-Binärdatei als Ganzes vorab in den Speicher laden. Dann kann
291 sie auch ohne weitere Konfiguration in jeder Art von isolierter Umgebung
292 benutzt werden. Darum wurde das Feld @code{guix-support?} des
293 @code{qemu-binfmt-configuration}-Verbundsobjekts entfernt; es wird nicht mehr
294 gebraucht.")
295 (fr "Le service utilise maintenant les binaire QEMU statiques avec
296 le drapeau « fixed » (F) de @code{binfmt_misc}, ce qui permet au noyau
297 de le charger entièrement en mémoire. On peut donc maintenant utiliser QEMU
298 avec n'importe quel conteneur sans configuration supplémentaire. Le champ
299 @code{guix-support?} de l'enregistrement @code{qemu-binfmt-configuration} a
300 été supprimé car il n'est pas nécessaire.")))
301
302 (entry (commit "02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb")
303 (title
304 (en "New @command{guix import go} command")
305 (de "Neuer Befehl @command{guix import go}")
306 (fr "Nouvelle commande @command{guix import go}")
307 (nl "Nieuwe @command{guix import go}-opdracht"))
308 (body
309 (en "The new @command{guix import go} command allows packagers to
310 generate a package definition or a template thereof given the name of a Go
311 package available through @url{https://proxy.golang.org}, like so:
312
313 @example
314 guix import go golang.org/x/sys
315 @end example
316
317 Run @command{info \"(guix) Invoking guix import\"} for more info.")
318 (de "Mit dem neuen Befehl @command{guix import go} können
319 Paketautoren eine Paketdefinition oder eine Vorlage dafür anhand des Namens
320 eines auf @url{https://proxy.golang.org} verfügbaren Go-Pakets erzeugen, etwa
321 so:
322
323 @example
324 guix import go golang.org/x/sys
325 @end example
326
327 Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr
328 Informationen zu bekommen.")
329 (fr "La nouvelle commande @command{guix import go} permet aux
330 empaqueteur·ice·s de générer une définition de paquet ou un modèle de
331 définition à partir du nom d'un paquet Go disponible via
332 @url{https://proxy.golang.org}, comme ceci :
333
334 @example
335 guix import go golang.org/x/sys
336 @end example
337
338 Lancez @command{info \"(guix.fr) Invoquer guix import\"} pour en savoir plus.")
339 (nl "Met de nieuwe @command{guix import go}-opdracht kunnen
340 pakketschrijvers een pakketdefinitie of -sjabloon aanmaken, op basis van de
341 naam van een Go-pakket te vinden op @url{https://proxy.golang.org}:
342
343 @example
344 guix import go golang.org/x/sys
345 @end example
346
347 Voer @command{info \"(guix) Invoking guix import\"} uit voor meer
348 informatie.")))
349
350 (entry (commit "1b5b882120daf7d111aa351a919a90e818324347")
351 (title
352 (en "The @code{linux-libre} kernel is updated to 5.11.2")
353 (de "Der Kernel @code{linux-libre} wird auf 5.11.2 aktualisiert")
354 (fr "Le noyau @code{linux-libre} est mis à jour vers la 5.11.2")
355 (nl "De @code{linux-libre}-kernel werd bijgewertk naar 5.11.2"))
356 (body
357 (en "The default @code{linux-libre} kernel is now based on the 5.11
358 stable kernel series, beginning with version 5.11.2. Promiment features include
359 improved Wine performance, unprivileged Overlayfs mounts, support for Intel SGX,
360 support for new graphics hardware, and improved performance of the Btrfs
361 file system.")
362 (de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
363 jetzt auf der 5.11-„stable“-Versionsreihe, angefangen mit Version 5.11.2. Zu
364 den markanten Neuerungen gehören bessere Wine-Unterstützung, Einbinden per
365 Overlayfs für Nutzer ohne erweiterte Rechte, Unterstützung für Intel SGX, für
366 neue Grafikhardware und bessere Leistung beim Btrfs-Dateisystem.")
367 (fr "Le noyau @code{linux-libre} par défaut est maintenant basé sur la
368 lignée stable 5.11 du noyau, à commencer par la version 5.11.2. Parmi les
369 fonctionnalités notables on trouve des performances améliorées pour Wine, le
370 montage Overlayfs non privilégié, la prise en charge d'Intel SGX, celle des
371 nouveaux périphériques graphiques et de meilleures performances du système de
372 fichiers Btrfs.")
373 (nl "De standaard @code{linux-libre}-kernel is nu geëent op de
374 stabiele 5.11-reeks, te beginnen met versie 5.11.2. Deze update biedt onder
375 andere verbeterde prestaties voor Wine en het Btfrs-bestandssysteem, laat
376 gewone gebruikers toe om met Overlayfs bestandssystemen te combineren, en
377 ondersteunt Intel SGX en nieuwe grafische apparatuur.")))
378
379 (entry (commit "6e8cdf1d26092cb9654e179b04730fff7c15c94f")
380 (title
381 (en "The @command{guix system image} command can now operate on image records")
382 (de "Der Befehl @command{guix system image} kann jetzt auch mit @code{image}-Verbundsobjekten umgehen")
383 (fr "La commande @command{guix system image} peut désormais fonctionner sur des images"))
384 (body
385 (en "The @command{guix system image} command can now operate on
386 @code{image} records. This means that the file parameter or the expression
387 passed to this command can return @code{image} or @code{operating-system}
388 records.
389
390 The @file{gnu/system/images} directory contains default images that can be
391 built by running @command{guix system image gnu/system/images/pine64.scm} for
392 instance.")
393 (de "Sie können den Befehl @command{guix system image} jetzt auch auf
394 Verbundsobjekte vom Typ @code{image} anwenden. Das heißt, wenn Sie eine Datei
395 oder einen Ausdruck als Parameter übergeben, darf dieser ein Verbundsobjekt
396 vom Typ @code{image} oder @code{operating-system} zurückliefern.
397
398 Im Verzeichnis @file{gnu/system/images} finden Sie vorkonfigurierte Abbilder
399 als @code{image}-Verbundsobjekte. Sie können zum Beispiel @command{guix system
400 image gnu/system/images/pine64.scm} ausführen, um das Abbild zu erstellen.")
401 (fr "La commande @command{guix system image} peut désormais
402 fonctionner sur des images. Cela signifie que le fichier ou l'expression
403 passé en paramètre de cette commande peuvent retourner une structure de type
404 @code{image} ou @code{operating-system}.
405
406 Le dossier @file{gnu/system/images} contient des images par défaut qui peuvent
407 être construites en lançant la commande @command{guix system image
408 gnu/system/images/pine64.scm} par exemple.")))
409
410 (entry (commit "aa8de806252e3835d57fab351b02d13db762deac")
411 (title
412 (en "Risk of local privilege escalation @i{via} setuid programs")
413 (de "Risiko lokaler Rechteausweitung bei setuid-Programmen")
414 (fr "Risque de gain local de privilèges @i{via} les programmes setuid")
415 (zh "存在通过 setuid 程序进行本地提权的风险"))
416 (body
417 (en "On Guix System, setuid programs were, until now, installed as
418 setuid-root @emph{and} setgid-root (in the @file{/run/setuid-programs}
419 directory). However, most of these programs are meant to run as setuid-root,
420 but not setgid-root. Thus, this setting posed a risk of local privilege
421 escalation.
422
423 This bug has been fixed and users are advised to upgrade their system, with a
424 command along the lines of:
425
426 @example
427 guix system reconfigure /run/current-system/configuration.scm
428 @end example
429
430 Users of Guix on a ``foreign distro'' are unaffected. See
431 @url{https://issues.guix.gnu.org/46395} for more information.")
432 (de "Auf Guix System wurden setuid-Programme bisher mit setuid-root
433 @emph{und} setgid-root ausgestattet (im Verzeichnis
434 @file{/run/setuid-programs}). Die meisten solchen Programme sind jedoch nur
435 dafür gedacht, mit setuid-root zu laufen, ohne setgid-root. Durch diese
436 Einstellung war daher vielleicht eine lokale Rechteausweitung („local
437 privilege escalation“) möglich.
438
439 Dieser Fehler wurde behoben und Benutzern wird geraten, ihr System zu
440 aktualisieren, etwa mit diesem Befehl:
441
442 @example
443 guix system reconfigure /run/current-system/configuration.scm
444 @end example
445
446 Benutzer von Guix auf einer „Fremddistribution“ sind @emph{nicht} betroffen.
447 Siehe @url{https://issues.guix.gnu.org/46395} für weitere Informationen.")
448 (fr "Sur Guix System, les programmes setuid étaient jusqu'à présent
449 installés setuid-root @emph{et} setgid-root (dans le répertoire
450 @file{/run/setuid-programs}). Ces programmes sont généralement conçus pour
451 être setuid-root, mais pas setgid-root, et cette situation posait donc un
452 risque de gain local de privilèges.
453
454 Ce problème est corrigé et vous êtes encouragé·e à mettre à jour votre
455 système, avec une commande de ce genre :
456
457 @example
458 guix system reconfigure /run/current-system/configuration.scm
459 @end example
460
461 Les usagers de Guix sur une distrib externe ne sont pas touché·es. Plus
462 d'informations sont disponibles à @url{https://issues.guix.gnu.org/46395} (en
463 anglais).")
464 (zh "到目前为止,Guix 系统上的 setuid 程序(位于 @file{/run/setuid-programs})
465 同时具有 setuid-root @emph{和} setgid-root 权限。然而,此类程序大多被设计为在拥有
466 setuid 权限而非 setgid 权限时运行。因此,这样的设置可能会使系统受到本地提权攻击。
467
468 此漏洞已经被修复,同时建议用户使用下列命令升级他们的系统:
469
470 @example
471 guix system reconfigure /run/current-system/configuration.scm
472 @end example
473
474 在 ``第三方宿主系统'' 上使用 Guix 的用户不受此漏洞影响,详情请参阅
475 @url{https://issues.guix.gnu.org/46395}。")))
476
477 (entry (commit "aedbc5ff32a62f45aeed74c6833399a6cf2c22dc")
478 (title
479 (en "Create a manifest with @command{guix package --export-manifest}")
480 (de "Manifest erzeugen mit @command{guix package --export-manifest}")
481 (fr "Créer un manifeste avec @command{guix package --export-manifest}"))
482 (body
483 (en "The @command{guix package --export-manifest} command outputs a
484 @dfn{manifest} from your profile. This manifest is a code snippet that can
485 then be passed to @command{guix package --manifest} (or any other command that
486 accepts the @option{--manifest} option) to deploy these packages.
487
488 The goal of this new @option{--export-manifest} option is to make it easier to
489 migrate from an ``imperative'' style where you repeatedly invoke @command{guix
490 install} and similar commands, to the declarative style where you write in a
491 manifest file the list of packages you want to have.
492
493 Similarly, the new @option{--export-channels} option outputs a @dfn{channel
494 specification} suitable for @command{guix pull --channels} from your profile.
495 This allows you to ``pin'' Guix to the revision that was used to build the
496 profile.
497
498 Run @command{info \"(guix) Invoking guix package\"} for more info.")
499 (de "Mit dem Befehl @command{guix package --export-manifest} wird ein
500 @dfn{Manifest} aus Ihrem Profil erzeugt. Bei einem Manifest handelt es sich um
501 ein Stück Code, das Sie an @command{guix package --manifest} zum Einspielen
502 der Pakete aus dem Manifest übergeben können (oder an jeden anderen Befehl,
503 der die Befehlszeilenoption @option{--manifest} versteht).
504
505 Die Absicht hinter dieser neuen Befehlszeilenoption @option{--export-manifest}
506 ist, dass man leichter von einem „imperativen“ Stil, bei dem man wiederholt
507 @command{guix install} und ähnliche Befehle aufruft, zum deklarativen Stil
508 wechseln kann. Im deklarativen Stil tragen Sie die Liste der Pakete, die Sie
509 haben möchten, in eine Manifest-Datei ein.
510
511 Analog können Sie mit der neuen Befehlszeilenoption @option{--export-channels}
512 zu Ihrem Profil eine @dfn{Kanalspezifikation} erzeugen, die für @command{guix
513 pull --channels} geeignet ist. Damit können Sie für Guix immer die Version
514 benutzen, mit der das Profil erstellt wurde.
515
516 Führen Sie für mehr Informationen @command{info \"(guix.de) Aufruf von guix
517 package\"} aus.")
518 (fr "La commande @command{guix package --export-manifest} affiche un
519 @dfn{manifeste} pour le profil choisi. Ce manifeste est un bout de code qu'on
520 peut passer à @command{guix package --manifest} (ou n'importe qu'elle commande
521 qui accepte l'option @option{--manifest}) pour déployer ces paquets.
522
523 L'objectif de cette nouvelle option @option{--export-manifest} est de
524 faciliter la migration du modèle ``impératif'', où on utilise @command{guix
525 install} et les commandes de ce genre, au modèle déclaratif où on écrit dans
526 un fichier la liste des paquets que l'on veut avoir.
527
528 De même, la nouvelle option @option{--export-channels} produit une
529 @dfn{spécification de canaux} pour @command{guix pull --channels} à partir du
530 profil. Cela permet de ``figer'' Guix à la révision qui a été utilisée pour
531 produire le profil.
532
533 Voir @command{info \"(guix.fr) Invoquer guix package\"} pour plus
534 d'informations.")))
535
536 (entry (commit "9ab817b2a4601b4a6755983590ed7d93ebdc8d09")
537 (title (en "New @option{--with-latest} package transformation option")
538 (de "Neue Paketumwandlungsoption @option{--with-latest}")
539 (fr "Nouvelle option de transformation @option{--with-latest}"))
540 (body
541 (en "The new @option{--with-latest} package transformation option
542 gets the latest release of a package, as would be identified by @command{guix
543 refresh}, and uses it instead of the currently-packaged version. For example,
544 to install the latest release of GNOME Weather linked against the latest
545 version of libgweather, run:
546
547 @example
548 guix install gnome-weather \\
549 --with-latest=gnome-weather --with-latest=libgweather
550 @end example
551
552 Run @command{info \"(guix) Package Transformation Options\"} for more info.")
553 (de "Mit der neuen Paketumwandlungsoption @option{--with-latest} wird
554 die neueste Veröffentlichung für ein Paket verwendet. Diese wird wie bei
555 @command{guix refresh} bestimmt und anstelle der zurzeit im Paket festgelegten
556 Version verwendet. Um zum Beispiel die neuste Veröffentlichung von GNOME
557 Weather gebunden an die neuste Version von libgweather zu installieren, führen
558 Sie dies aus:
559
560 @example
561 guix install gnome-weather \\
562 --with-latest=gnome-weather --with-latest=libgweather
563 @end example
564
565 Führen Sie für mehr Informationen @command{info \"(guix.de)
566 Paketumwandlungsoptionen\"} aus.")
567 (fr "La nouvelle option de transformation de paquets
568 @option{--with-latest} récupère la dernière version d'un logiciel telle
569 qu'elle serait trouvée par @command{guix refresh} et l'utilise à la place la
570 version actuellement fournie par le paquet. Par exemple, pour installer la
571 dernière version de GNOME Weather, elle-même compilée avec la dernière version
572 de libgweather, on lancera :
573
574 @example
575 guix install gnome-weather \\
576 --with-latest=gnome-weather --with-latest=libgweather
577 @end example
578
579 Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
580 plus de détails.")))
581
582 (entry (commit "a879e35116043d5daf3d9d175b697d10b9177fd5")
583 (title (en "Substitutes can now be compressed with zstd")
584 (de "Substitute können nun mit zstd komprimiert werden")
585 (fr "Les substituts peuvent maintenant être compressés avec zstd"))
586 (body
587 (en "The @command{guix publish} command now supports substitute
588 compression with zstd and @command{guix-daemon} can now fetch and decompress
589 them.
590
591 The advantage of zstd over the other options is its high compression and
592 decompression throughput, with good compression ratios (not as good as lzip,
593 but slightly better than gzip). Its high decompression throughput makes it a
594 good choice in situations where substitute downloads would otherwise be
595 CPU-bound, typically when having a high-speed connection to the substitute
596 server. Run @command{info \"(guix) Invoking guix publish\"} for more info.
597
598 To be able to fetch zstd-compressed substitutes (if the substitute servers you
599 chose provide them), you need to upgrade your daemon. Run @command{info
600 \"(guix) Upgrading Guix\"} to learn how to do it.")
601 (de "Mit dem Befehl @command{guix publish} können Sie jetzt auch
602 Substitute mit zstd komprimieren und @command{guix-daemon} kann sie laden und
603 dekomprimieren.
604
605 zstd bietet gegenüber den anderen Optionen einen hohen Durchsatz bei
606 Kompression und Dekompression mit guten Kompressionsverhältnissen (nicht so
607 gut wie lzip, aber etwas besser als gzip). Wegen des hohen Durchsatzes bei
608 der Dekompression ist zstd eine gute Wahl, wenn beim Herunterladen von
609 Substituten ansonsten der Engpass bei der Prozessorleistung läge, etwa weil
610 eine schnelle Netzwerkverbindung zum Substitutserver besteht. Führen Sie für
611 mehr Informationen @command{info \"(guix.de) Aufruf von guix publish\"} aus.
612
613 Um zstd-komprimierte Substitute benutzen zu können (wenn der Substitutserver
614 sie anbietet), müssen Sie Ihren Daemon aktualisieren. Führen Sie
615 @command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren, wie
616 Sie ihn aktualisieren.")
617 (fr "La commande @command{guix publish} peut maintenant compresser
618 les substituts avec zstd et @command{guix-daemon} est capable de les récupérer
619 et de les décompresser.
620
621 L'avantage de zstd par rapport aux autres méthodes est son haut débit en
622 compression et décompression, avec un taux de compression correct (pas aussi
623 bon que lzip, mais légèrement meilleur que gzip). Sa vitesse de décompression
624 en fait un bon choix dans les situations où le temps de téléchargement des
625 substituts se retrouve sinon limité par le temps de calcul comme c'est le cas
626 lorsqu'on bénéficie d'une connexion rapide au serveur de substitut. Lancer
627 @command{info \"(guix.fr) Invoquer guix publish\"} pour plus d'informations.
628
629 Pour pouvoir télécharger des substituts compressés avec zstd (si les serveurs
630 de substituts choisis les fournissent), il faudra d'abord mettre à jour le
631 démon. Lancer @command{info \"(guix.fr) Mettre à niveau Guix\"} pour voir
632 comment faire.")))
633
634 (entry (commit "e38d90d497e19e00263fa28961c688a433154386")
635 (title (en "New @option{--with-patch} package transformation option")
636 (de "Neue Paketumwandlungsoption @option{--with-patch}")
637 (fr "Nouvelle option de transformation @option{--with-patch}"))
638 (body
639 (en "The new @option{--with-patch} package transformation option
640 applies patches to the specified packages before building them. The example
641 below builds the GNU Core Utilities against a patched C library (glibc):
642
643 @example
644 guix build coreutils --with-patch=glibc=./glibc-frob.patch
645 @end example
646
647 Run @command{info \"(guix) Package Transformation Options\"} for more info.")
648 (de "Die neue Paketumwandlungsoption @option{--with-patch} wendet
649 Patches auf die angegebenen Pakete an, bevor sie erstellt werden. Das folgende
650 Beispiel lässt die GNU Core Utilities mit einer gepatchten
651 C-Bibliothek (glibc) erstellen:
652
653 @example
654 guix build coreutils --with-patch=glibc=./glibc-frob.patch
655 @end example
656
657 Führen Sie für mehr Informationen @command{info \"(guix.de)
658 Paketumwandlungsoptionen\"} aus.")
659 (fr "La nouvelle option de transformation de paquets
660 @option{--with-patch} applique des modifications (@i{patches}) aux paquets
661 spécifiés avant de les compiler. L'exemple suivant compile les utilitaires de
662 base GNU avec une bibliothèque C (glibc) modifiée :
663
664 @example
665 guix build coreutils --with-patch=glibc=./glibc-frob.patch
666 @end example
667
668 Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
669 plus de détails.")))
670
671 (entry (commit "79f9dee3c4c0e6d21066f142116a537207ae7ba4")
672 (title (en "Local substitute servers discovery is now supported")
673 (de "Substitutserver können jetzt im lokalen Netz erkannt werden")
674 (es "Los servidores de sustituciones se pueden descubrir localmente")
675 (fr "La découverte des serveurs de substituts locaux est désormais supportée"))
676 (body
677 (en "The @command{guix-daemon} can now discover local substitute
678 servers when the @option{--discover} option is passed. Only the substitute
679 servers started with the @option{--advertise} option will be discovered. The
680 network discovery is based on mDNS and DNS-SD protocols, using Guile-Avahi
681 library for now.")
682 (de "Mit dem @command{guix-daemon} können jetzt lokal laufende
683 Substitutserver erkannt werden, wenn die Befehlszeilenoption
684 @option{--discover} übergeben wurde. Nur solche Substitutserver werden
685 gefunden, die mit der Befehlszeilenoption @option{--advertise} gestartet
686 wurden. Die Ermittlung im Netzwerk verfügbarer Substitutserver baut auf den
687 Protokollen mDNS und DNS-SD auf. Derzeit wird dazu die Bibliothek Guile-Avahi
688 benutzt.")
689 (es "El daemon @command{guix-daemon} ahora puede descubrir servidores
690 de sustituciones locales cuando se le proporciona la opción
691 @option{--discover}. Únicamente se descubrirán los servidores de
692 sustituciones que se hayan arrancado con la opción @option{--advertise}. La
693 búsqueda en la red se basa en los protocolos mDNS y DNS-SD, actualmente
694 mediante el uso de la biblioteca Guile-Avahi.")
695 (fr "Le @command{guix-daemon} peut désormais découvrir les serveurs
696 de substituts locaux lorsque l'option @option{--discover} est passée. Seuls
697 les serveurs de substituts démarrés avec l'option @option{--advertise} seront
698 découverts. La découverte réseau utilise les protocoles mDNS et DNS-SD, pour
699 l'instant grâce à la librairie Guile-Avahi.")))
700
701 (entry (commit "a9a2fdaabcc78e7a54d9a6bcfa4ee3de308e9a90")
702 (title (en "Logical Volume Manager (LVM) now supported on Guix System")
703 (de "Logical Volume Manager (LVM) wird jetzt auf Guix System unterstützt")
704 (es "El sistema Guix ahora implementa también volúmenes lógicos LVM")
705 (fr "Le gestionnaire de volumes logiques (LVM) est maintenant pris en charge par le système Guix"))
706 (body
707 (en "On Guix System, the new @code{lvm-device-mapping} variable
708 allows you to declare ``mapped devices'' for LVM, the Linux Logical Volume
709 Manager. For example, LVM logical volumes ``alpha'' and ``beta'' from volume
710 group ``vg0'' can be declared as follows:
711
712 @lisp
713 (mapped-device
714 (source \"vg0\")
715 (target (list \"vg0-alpha\" \"vg0-beta\"))
716 (type lvm-device-mapping))
717 @end lisp
718
719 See @command{info \"(guix) Mapped Devices\"} for more information.")
720 (de "Auf Guix System erlaubt Ihnen die neue Variable
721 @code{lvm-device-mapping}, „zugeordnete Geräte“ (Mapped Devices) für LVM, den
722 Linux Logical Volume Manager, zu deklarieren. Zum Beispiel können logische
723 Datenträger von LVM namens „alpha“ und „beta“ aus der
724 Datenträgergruppe (Volume Group) „vg0“ wie folgt deklariert werden:
725
726 @lisp
727 (mapped-device
728 (source \"vg0\")
729 (target (list \"vg0-alpha\" \"vg0-beta\"))
730 (type lvm-device-mapping))
731 @end lisp
732
733 Siehe @command{info \"(guix.de) Zugeordnete Geräte\"} für nähere Informationen.")
734 (es "En el sistema Guix, la nueva variable @code{lvm-device-mapping}
735 le permite declarar «dispositivos traducidos» para LVM, el gestor de volúmenes
736 lógicos de Linux. A continuación se muestra un ejemplo con la declaración de
737 los volúmenes lógicos «alfa» y «beta» del grupo de volúmenes «vg0»:
738
739 @lisp
740 (mapped-device
741 (source \"vg0\")
742 (target (list \"vg0-alfa\" \"vg0-beta\"))
743 (type lvm-device-mapping))
744 @end lisp
745
746 Véase @command{info \"(guix.es) Dispositivos traducidos\"} para obtener más
747 información.")
748 (fr "Sur le système Guix, la nouvelle variable @code{lvm-device-mapping}
749 vous permet de déclarer des « périphériques mappés » pour LVM, le gestionnaire
750 de volumes logiques. Par exemple, vous pouvez déclarer les volumes logiques
751 « alpha » et « beta » du groupe « vg0 » comme ceci :
752
753 @lisp
754 (mapped-device
755 (source \"vg0\")
756 (target (list \"vg0-alpha\" \"vg0-beta\"))
757 (type lvm-device-mapping))
758 @end lisp
759
760 Voir @command{info \"(guix.fr) Périphériques mappés\"} pour en savoir plus.")))
761
762 (entry (commit "3b6e4e5fd05e72b8a32ff1a2d5e21464260e21e6")
763 (title (en "List of substitute keys is now declarative on Guix System")
764 (de "Liste der Substitutschlüssel auf Guix System ist jetzt deklarativ")
765 (es "Claves para sustituciones del sistema Guix en formato declarativo")
766 (fr "Liste des clefs de substituts désormais déclarative sur Guix System"))
767 (body
768 (en "The list of authorized substitute keys, available in
769 @file{/etc/guix/acl}, is now built by default in a purely declarative fashion
770 on Guix System based on the @code{authorized-keys} field of the configuration
771 of @code{guix-service-type}. This means that manual changes to
772 @file{/etc/guix/acl} are now @emph{discarded} upon reconfiguration or
773 reboot (a backup is made as @file{/etc/guix/acl.bak} in that case).
774
775 We recommend updating your operating system configuration to explicitly list
776 all the authorized substitute keys. See @command{info \"(guix) Base
777 Services\"}, for more info about @code{guix-configuration} and
778 @code{authorized-keys}.
779
780 Alternatively, you can set the @code{authorize-key?} field of
781 @code{guix-configuration} to @code{#f} to restore previous behavior.")
782 (de "Die Liste von autorisierten Substitutschlüsseln, die in
783 @file{/etc/guix/acl} steht, wird auf Guix System nach Vorgabe jetzt auf rein
784 deklarative Weise erstellt, je nach Inhalt des @code{authorized-keys}-Feldes
785 der Konfiguration des @code{guix-service-type}. Das hat zur Folge, dass
786 manuelle Änderungen an @file{/etc/guix/acl} von jetzt an nach jedem
787 Rekonfigurieren oder Neustarten @emph{verworfen} werden (in diesem Fall wird
788 eine Sicherheitskopie namens @file{/etc/guix/acl.bak} angelegt).
789
790 Wir empfehlen, dass Sie Ihre Betriebssystemkonfiguration aktualisieren, damit
791 dort alle autorisierten Substitutschlüssel ausdrücklich aufgeführt
792 werden. Siehe @command{info \"(guix.de) Basisdienste\"} für mehr Informationen
793 zur @code{guix-configuration} und @code{authorized-keys}.
794
795 Alternativ können Sie das @code{authorize-key?}-Feld der
796 @code{guix-configuration} auf @code{#f} setzen, um zum alten Verhalten
797 zurückzugehen.")
798 (es "El listado de claves autorizadas para la obtención de
799 sustituciones, disponible en @file{/etc/guix/acl}, ahora se genera de manera
800 predeterminada en el sistema Guix de forma completamente declarativa en base
801 al campo @code{authorized-keys} del la configuración para el servicio
802 @code{guix-service-type}. Esto significa que los cambios que se hayan
803 realizado de manera manual en @file{/etc/guix/acl} @emph{se descartan} tras
804 una reconfiguración del sistema o tras un reinicio (se realiza una copia de
805 seguridad en la ruta @file{/etc/guix/acl.bak} en este caso).
806
807 Le recomendamos que actualice su configuración del sistema operativo para que
808 enumere explícitamente todas las claves que desea autorizar para la obtención
809 de sustituciones. Véase @command{info \"(guix.es) Servicios base\"}, para
810 obtener más información sobre @code{guix-configuration} y
811 @code{authorized-keys}.
812
813 También puede proporcionar el valor @code{#f} en el campo
814 @code{authorize-key?} de @code{guix-configuration} para volver al
815 comportamiento que se obtenía con versiones previas.")
816 (fr "La liste des clefs de substituts autorisées, stockée dans
817 @file{/guix/guix/acl}, est dorénavant construite par défaut de manière
818 déclarative sur Guix System, en se basant sur le champs @code{authorized-keys}
819 de la configuration de @code{guix-service-type}. Cela signifie que les
820 modifications apportées manuellement à @file{/etc/guix/acl} seront désormais
821 @emph{perdues} lors d'une reconfiguration ou d'un redémarrage (dans ce cas une
822 sauvegarde est faite dans @file{/etc/guix/acl.bak}).
823
824 Nous recommandons de mettre à jour sa configuration de système d'exploitation
825 pour y lister explicitement les clefs autorisées. Lancez @command{info
826 \"(guix.fr) Services de base\"} pour plus d'informations sur
827 @code{guix-configuration} et @code{authorized-keys}.
828
829 Il est également possible de mettre le champs @code{authorize-key?} de
830 @code{guix-configuration} à @code{#f} pour restaurer le comportement qui
831 prévalait jusqu'à maintenant.")))
832
833 (entry (commit "6aeda81602555fbeac0c0a209e74f5262093b513")
834 (title (en "New @option{--with-debug-info} package transformation option")
835 (de "Neue Paketumwandlungsoption @option{--with-debug-info}")
836 (es "Nueva opción de transformación @option{--with-debug-info}")
837 (fr "Nouvelle option de transformation @option{--with-debug-info}"))
838 (body
839 (en "The new @option{--with-debug-info} option builds a variant of a
840 package that includes debug info and grafts it onto the application you want
841 to debug. Thus, only the package for which you want debug info needs to be
842 recompiled. This is useful for packages that do not already have a
843 @code{debug} output.
844
845 For example, here is how you would obtain debug info for the @code{glib}
846 library so you can inspect it while debugging Inkscape:
847
848 @example
849 guix build --with-debug-info=glib inkscape
850 @end example
851
852 Run @command{info \"(guix) Package Transformation Options\"} for more info.")
853 (de "Die neue Paketumwandlungsoption @option{--with-debug-info} lässt
854 eine Variante eines Pakets erstellen, die auch Informationen zur Fehlersuche
855 enthält. Damit wird die Anwendung veredelt, wo Sie Fehler nachvollziehen
856 möchten. Somit muss nur das Paket, für das Sie die Informationen brauchen, neu
857 kompiliert werden. Das ist hilfreich bei Paketen, die noch nicht über eine
858 @code{debug}-Ausgabe verfügen.
859
860 Zum Beispiel würden Sie so Informationen zur Fehlersuche für die
861 @code{glib}-Bibliothek bekommen, um sie inspizieren zu können, wenn Sie Fehler
862 in Inkscape nachvollziehen möchten:
863
864 @example
865 guix build --with-debug-info=glib inkscape
866 @end example
867
868 Führen Sie für mehr Informationen @command{info \"(guix.de)
869 Paketumwandlungsoptionen\"} aus.")
870 (es "La nueva opción @option{--with-debug-info} construye una
871 variante del paquete que incluye la información de depuración y la injerta
872 en la aplicación que desee depurar. Por tanto, únicamente el paquete del
873 que desee información de depuración debe construirse de nuevo. Es útil
874 para paquetes que no tienen ya una salida @code{debug}.
875
876 El siguiente ejemplo muestra como obtener información de depuración
877 para la biblioteca @code{glib} de modo que pueda inspeccionarla mientras
878 depura Inkscape:
879
880 @example
881 guix build --with-debug-info=glib inkscape
882 @end example
883
884 Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
885 para obtener más información.")
886 (fr "La nouvelle option de transformation de paquets
887 @option{--with-debug-info} compile une variante d'un paquet avec les
888 informations de déboguage et la greffe sur l'application que l'on veut
889 déboguer. Ainsi seul le paquet pour lequel on demande des informations de
890 déboguage a besoin d'être recompilé. C'est utile pour les paquets n'ayant pas
891 déjà un résultat @code{debug}.
892
893 Voici par exemple comment obtenir des informations de déboguage pour la
894 bibliothèque @code{glib} de manière à pouvoir l'inspecter quand on débuggue
895 Inkscape :
896
897 @example
898 guix build --with-debug-info=glib inkscape
899 @end example
900
901 Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
902 plus de détails.")))
903
904 (entry (commit "abd7a474615353149a44f4504f0b4b248dcc0716")
905 (title (en "New @option{--with-c-toolchain} package transformation option")
906 (de "Neue Paketumwandlungsoption @option{--with-c-toolchain}")
907 (es "Nueva opción de transformación @option{--with-c-toolchain}")
908 (fr "Nouvelle option de transformation @option{--with-c-toolchain}"))
909 (body
910 (en "The new @option{--with-c-toolchain} package transformation
911 options provides an easy way for developers to rebuild their favorite packages
912 with the C/C++ tool chain of their choice instead of the default one.
913
914 For example, the following command rebuilds the @code{fftw} and @code{fftwf}
915 packages as well as every package that depends on them, up to and including
916 @code{octave-cli}, using GCC version 10 (currently GCC 7.5 is used by
917 default):
918
919 @example
920 guix build octave-cli \\
921 --with-c-toolchain=fftw=gcc-toolchain@@10 \\
922 --with-c-toolchain=fftwf=gcc-toolchain@@10
923 @end example
924
925 Run @command{info \"(guix) Package Transformation Options\"} for more info.")
926 (de "Die neue Paketumwandlungsoption @option{--with-c-toolchain}
927 bietet Entwicklern die Möglichkeit, leicht ihre Lieblingspakete mit der
928 selbstgewählten Toolchain für C/C++ anstelle der vorgegebenen neu zu
929 erstellen.
930
931 Zum Beispiel werden mit folgendem Befehl die Pakete @code{fftw} und
932 @code{fftwf} sowie alle davon abhängigen Pakete bis einschließlich
933 @code{octave-cli} mit Version 10 der GCC erstellt (vorgegeben wäre zurzeit,
934 GCC 7.5 zu benutzen):
935
936 @example
937 guix build octave-cli \\
938 --with-c-toolchain=fftw=gcc-toolchain@@10 \\
939 --with-c-toolchain=fftwf=gcc-toolchain@@10
940 @end example
941
942 Führen Sie für mehr Informationen @command{info \"(guix.de)
943 Paketumwandlungsoptionen\"} aus.")
944 (es "La nueva opción de transformación de paquetes
945 @option{--with-c-toolchain} proporciona a las desarrolladoras una manera
946 fácil de reconstruir sus paquetes favoritos con la cadena de herramientas
947 de compilación de C/C++ que elijan en vez de la predeterminada.
948
949 Por ejemplo, la siguiente orden reconstruye los paquetes @code{fftw} y
950 @code{fftwf} así como todos los paquetes que dependen de ellos hasta
951 @code{octave-cli}, usando la versión 10 de GCC (el compilador
952 predeterminado en estos momentos es GCC 7.5):
953
954 @example
955 guix build octave-cli \\
956 --with-c-toolchain=fftw=gcc-toolchain@@10 \\
957 --with-c-toolchain=fftwf=gcc-toolchain@@10
958 @end example
959
960 Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
961 para obtener más información.")
962 (fr "La nouvelle option de transformation de paquets
963 @option{--with-c-toolchain} permet aux développeur·euses de recompiler leurs
964 paquets préférés avec la chaîne d'outils C/C++ de leur choix à la place de
965 celle par défaut.
966
967 Par exemple, la commande ci-dessous recompile @code{fftw}, @code{fftwf} et
968 tous les paquets qui en dépendent, jusqu'à @code{octave-cli} inclus, avec GCC
969 10 (actuellement c'est GCC 7.5 qui est utilisé par défaut):
970
971 @example
972 guix build octave-cli \\
973 --with-c-toolchain=fftw=gcc-toolchain@@10 \\
974 --with-c-toolchain=fftwf=gcc-toolchain@@10
975 @end example
976
977 Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
978 plus de détails.")))
979
980 (entry (commit "8e1907a72430aa989125b053573ef0897c480697")
981 (title (en "Package transformation options now recorded in profiles")
982 (es "Las opciones de transformación de paquetes ahora se
983 quedan registradas en el perfil")
984 (de "Paketumwandlungsoptionen werden nun in Profilen gesichert")
985 (fr "Options de transformation sauvegardées dans les profils"))
986 (body
987 (en "When installing packages in a profile, package transformation
988 options such as @option{--with-input} are now recorded in the profile. When
989 you eventually run @command{guix upgrade}, those transformations will be
990 automatically applied to the upgraded packages.
991
992 Run @command{info \"(guix) Package Transformation Options\"} for more info.")
993 (es "Si durante la instalación de paquetes en un perfil se utilizaron
994 opciones de transformación de paquetes, como por ejemplo
995 @option{--with-input}, éstas se registran en el perfil. Cuando vuelva a
996 ejecutar @command{guix upgrade}, dichas transformaciones se aplicarán
997 automáticamente a los paquetes actualizados.
998
999 Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
1000 para obtener más información.")
1001 (de "Wenn Sie ein Paket in ein Profil installieren, werden nun
1002 Paketumwandlungsoptionen wie @option{--with-input} im Profil gespeichert.
1003 Sobald Sie später @command{guix upgrade} ausführen, werden dieselben
1004 Umwandlungen automatisch auf die aktualisierten Pakete angewandt.
1005
1006 Führen Sie für mehr Informationen @command{info \"(guix.de)
1007 Paketumwandlungsoptionen\"} aus.")
1008 (fr "Lorsqu'on installe des paquets dans un profil, les options de
1009 transformation telles que @option{--with-input} sont désormais enregistrées
1010 dans le profil. Quand on le met plus tard à jour avec @command{guix upgrade},
1011 ces transformations sont automatiquement appliquées aux nouveaux paquets.
1012
1013 Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
1014 plus de détails.")))
1015
1016 (entry (commit "313f492657f1d0863c641fa5ee7f5b7028e27c94")
1017 (title (en "New @option{--image-type} option for @command{guix system disk-image}.")
1018 (es "Nueva opción @option{--image-type} para @command{guix system disk-image}.")
1019 (de "Neue Option @option{--image-type} für @command{guix system disk-image}.")
1020 (fr "Nouvelle option @option{--image-type} pour @command{guix system disk-image}."))
1021 (body
1022 (en "The @option{--file-system-type} option for @command{guix system
1023 disk-image} command has been replaced by the new @option{--image-type} option.
1024 By default, @code{raw} disk images are produced, but @code{hurd-qcow2},
1025 @code{hurd-raw}, @code{uncompressed-iso9660} and @code{iso9660} image types
1026 are also available.
1027
1028 The @option{--list-image-types} option lists all the available image types.")
1029 (es "La opción @option{--file-system-type} de @command{guix system
1030 disk-image} se ha sustituido por la nueva opción @option{--image-type}. De
1031 manera predeterminada se producen imágenes en formato crudo (@code{raw}) pero
1032 también están disponibles los tipos de imagen @code{hurd-qcow2},
1033 @code{hurd-raw}, @code{uncompressed-iso9660} y @code{iso9660}.
1034
1035 La opción @option{--list-image-types} muestra una lista con todos los tipos
1036 de imagen disponibles.")
1037 (de "Anstelle der Befehlszeilenoption @option{--file-system-type} für
1038 @command{guix system disk-image} gibt es nun die neue Option
1039 @option{--image-type}. In der Vorgabeeinstellung @code{raw} werden rohe
1040 Disk-Images erzeugt, aber es können auch die Abbildtypen @code{hurd-qcow2},
1041 @code{hurd-raw}, @code{uncompressed-iso9660} und @code{iso9660} ausgewählt
1042 werden.
1043
1044 Mit der Option @option{--list-image-types} werden alle verfügbaren Abbildtypen
1045 aufgelistet.")
1046 (fr "L'option @option{--file-system-type} pour la commande
1047 @command{guix system disk-image} a été remplacée par la nouvelle option
1048 @option{--image-type}. Par défaut, l'option @code{raw}, produisant des images
1049 disque brutes est sélectionnée. Les options @code{hurd-qcow2},
1050 @code{hurd-raw}, @code{uncompressed-iso9660} et @code{iso9660} sont également
1051 disponibles.
1052
1053 La nouvelle option @option{--list-image-types} énumère les types d'image
1054 disponibles.")))
1055
1056 (entry (commit "8819551c8d2a12cd4e84e09b51e434d05a012c9d")
1057 (title (en "Package transformations now apply to implicit inputs")
1058 (es "Las transformaciones de paquetes ahora afectan también
1059 a las dependencias implícitas")
1060 (de "Paketumwandlungen betreffen jetzt auch implizite Eingaben")
1061 (fr "Les transformations de paquets s'appliquent aux
1062 dépendances implicites"))
1063 (body
1064 (en "Package transformation options such as @option{--with-branch},
1065 @option{--with-input}, and so on now apply to implicit inputs---previously
1066 only a package's explicit inputs would be affected. This allows for things
1067 such as replacing the Python dependency of a package that uses
1068 @code{python-build-system}:
1069
1070 @example
1071 guix install --with-input=python=python2 python-itsdangerous
1072 @end example
1073
1074 Another example is grafting a different version of the GNU C
1075 Library (@code{glibc} is an implicit input of almost all the packages and is
1076 ``deep down'' in the dependency graph):
1077
1078 @example
1079 guix build --with-graft=glibc=glibc@@2.31 hello
1080 @end example
1081
1082 Run @command{info \"(guix) Package Transformation Options\"} for more
1083 info.")
1084 (es "Las opciones de transformación de paquetes como
1085 @option{--with-branch}, @option{--with-input}, etcétera, ahora también
1086 influyen en las entradas implícitas---antes únicamente las entradas explícitas
1087 del paquete se veían afectadas. Esto permite, por ejemplo, sustituir la
1088 dependencia en python de un paquete que use @code{python-build-system}:
1089
1090 @example
1091 guix install --with-input=python=python2 python-itsdangerous
1092 @end example
1093
1094 Otro ejemplo podría ser el injerto de una versión diferente de la biblioteca
1095 de C de GNU (@code{glibc} es una entrada implícita de casi todos los paquetes
1096 y ``muy abajo'' en el grafo de dependencias):
1097
1098 @example
1099 guix build --with-graft=glibc=glibc@@2.31 hello
1100 @end example
1101
1102 Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
1103 para obtener más información.")
1104 (de "Paketumwandlungsoptionen wie @option{--with-branch},
1105 @option{--with-input} und so weiter betreffen nun auch implizite Eingaben —
1106 zuvor haben sie sich nur auf die expliziten Eingaben eines Pakets
1107 ausgewirkt. Dadurch kann jetzt zum Beispiel die Python-Abhängigkeit eines
1108 Pakets, welches @code{python-build-system} benutzt, ersetzt werden:
1109
1110 @example
1111 guix install --with-input=python=python2 python-itsdangerous
1112 @end example
1113
1114 Ein weiteres Beispiel ist, mit einer anderen Version der GNU-C-Bibliothek zu
1115 veredeln (@code{glibc} ist eine implizite Eingabe fast aller Pakete und steckt
1116 „ganz tief“ im Abhängigkeitsgraphen):
1117
1118 @example
1119 guix build --with-graft=glibc=glibc@@2.31 hello
1120 @end example
1121
1122 Führen Sie für mehr Informationen @command{info \"(guix.de)
1123 Paketumwandlungsoptionen\"} aus.")
1124 (fr "Les options de transformation de paquets telles que
1125 @option{--with-branch} et @option{--with-input} s'appliquent désormais aux
1126 dépendances implicites — jusque là seules les dépendances explicites des
1127 paquets étaient prises en compte. Cela permet certaines choses telles que
1128 remplacer la dépendance sur Python d'un paquet utilisant
1129 @code{python-build-system} :
1130
1131 @example
1132 guix install --with-input=python=python2 python-itsdangerous
1133 @end example
1134
1135 Un autre exemple est la possibilité de greffer une version différente de la
1136 bibliothèque C GNU (la @code{glibc} est une dépendance implicite de tous les
1137 paquets et se trouve « tout en bas » du graphe de dépendance) :
1138
1139 @example
1140 guix build --with-graft=glibc=glibc@@2.31 hello
1141 @end example
1142
1143 Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
1144 plus de détails.")))
1145
1146 (entry (commit "f458cfbcc54ed87b1a87dd9e150ea276f17eab74")
1147 (title (en "New @option{--without-tests} transformation option")
1148 (es "Nueva opción de transformación @option{--without-tests}")
1149 (de "Neue Paketumwandlungsoption @option{--without-tests}")
1150 (fr "Nouvelle option de transformation @option{--without-tests}"))
1151 (body
1152 (en "The new @option{--without-tests} package transformation option
1153 instructs Guix to skip the test suite of a given package. In the example
1154 below, @code{guile-gcrypt} is built using a variant of @code{automake} itself
1155 built without running its (lengthy) test suite:
1156
1157 @example
1158 guix build guile-gcrypt --without-tests=automake
1159 @end example
1160
1161 This is primarily useful as a way to speed up development cycles, or to work
1162 around flaky test suites---skipping tests can hide real issues, so use with
1163 care. Run @command{info \"(guix) Package Transformation Options\"} for more
1164 info.")
1165 (es "La nueva opción de transformación de paquetes
1166 @option{--without-tests} indica a Guix que omita la batería de pruebas del
1167 paquete proporcionado. En el siguiente ejemplo @code{guile-gcrypt} se
1168 construye usando una variación de @code{automake}, la cual se ha construido
1169 sin ejecutar su (larga) batería de pruebas:
1170
1171 @example
1172 guix build guile-gcrypt --without-tests=automake
1173 @end example
1174
1175 Esto es principalmente útil como una forma de acelerar ciclos de desarrollo o
1176 de omitir temporalmente baterías de pruebas problemáticas---omitir las pruebas
1177 puede ocultar problemas reales, por lo que debe usarse con precaución.
1178 Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
1179 para obtener más información.")
1180 (de "Mit der neuen Paketumwandlungsoption @option{--without-tests}
1181 wird Guix angewiesen, den Testkatalog des angegebenen Pakets zu
1182 überspringen. Im folgenden Beispiel wird @code{guile-gcrypt} mit einer
1183 Variante von @code{automake} erstellt, die wiederum ohne Durchlauf ihres (viel
1184 Zeit in Anspruch nehmenden) Testkatalogs erstellt wird:
1185
1186 @example
1187 guix build guile-gcrypt --without-tests=automake
1188 @end example
1189
1190 Der hauptsächliche Nutzen liegt in der Beschleunigung von Entwicklungszyklen
1191 oder im Umgehen unzuverlässiger Testkataloge. Allerdings kann das Überspringen
1192 dazu führen, dass echte Probleme verborgen bleiben. Setzen Sie es mit Bedacht
1193 ein. Führen Sie @command{info \"(guix.de) Paketumwandlungsoptionen\"} aus, um
1194 mehr Informationen zu erhalten.")
1195 (fr "La nouvelle option de transformation de paquets
1196 @option{--without-tests} demande à Guix de sauter la suite de tests d'un
1197 paquet. Dans l'exemple ci-dessous, @code{guile-gcrypt} est construit en
1198 utilisant une variante de @code{automake} construite sans lancer sa suite de
1199 tests :
1200
1201 @example
1202 guix build guile-gcrypt --without-tests=automake
1203 @end example
1204
1205 Cette option est surtout intéressante pour raccourcir le cycle de
1206 développement ou pour contourner une suite de tests qui n'est pas
1207 fiable — sauter les tests peut cacher des vrais problèmes, à utiliser avec
1208 précaution donc. Voir @command{info \"(guix.fr) Options de transformation de
1209 paquets\"} pour plus de détails.")))
1210
1211 (entry (commit "a98712785e0b042a290420fd74e5a4a5da4fc68f")
1212 (title (en "New @command{guix git authenticate} command")
1213 (es "Nueva orden @command{guix git authenticate}")
1214 (de "Neuer Befehl @command{guix git authenticate}")
1215 (fr "Nouvelle commande @command{guix git authenticate}"))
1216 (body
1217 (en "The new @command{guix git authenticate} command authenticates a
1218 Git repository by verifying commit signatures and ensuring they all come from
1219 authorized parties, exactly like @command{guix pull} now does.
1220
1221 This command is primarily useful to developers of channels. It allows them to
1222 ensure, before pushing, that the channel only contains commits signed with
1223 authorized keys. But this command is also useful anytime you use Git and want
1224 to allow people to authenticate code fetched from your repository.
1225
1226 Run @command{info \"(guix) Invoking guix git authenticate\"} for more info,
1227 and see @uref{https://guix.gnu.org/blog/2020/securing-updates/} for details on
1228 these mechanisms.")
1229 (es "La nueva orden @command{guix git authenticate} comprueba la
1230 validez de un repositorio git verificando las firmas de las revisiones y
1231 comprobando que todas las firmas están autorizadas, exactamente igual que
1232 @command{guix pull}.
1233
1234 Esta orden es principalmente útil para desarrolladoras de canales. Permite
1235 asegurar, antes de subir nada al repositorio remoto, que el canal contiene
1236 únicamente revisiones firmadas por claves autorizadas. No obstante esta orden
1237 es útil siempre que use git y quiera que otras personas puedan verificar el
1238 código obtenido de su repositorio.
1239
1240 Ejecute @command{info \"(guix.es) Invocación de guix git authenticate\"}
1241 para obtener más información y vea detalles sobre estos mecanismos en
1242 @uref{https://guix.gnu.org/blog/2020/securing-updates/}.")
1243 (de "Mit dem neuen Befehl @command{guix git authenticate} können Sie
1244 ein Git-Repository authentifizieren. Dazu werden alle Commit-Signaturen
1245 verifiziert und geprüft, dass jede von einer autorisierten Quelle kommt, genau
1246 wie es @command{guix pull} nun tut.
1247
1248 Dieser Befehl hilft in erster Linie den Entwicklern von Kanälen. Mit ihm kann
1249 vor einem Push sichergestellt werden, dass der Kanal nur Commits enthält, die
1250 mit autorisierten Schlüsseln signiert worden sind. Aber der Befehl kann auch
1251 helfen, wann immer Sie Git verwenden und ermöglichen wollen, dass Nutzer von
1252 Ihrem Repository geladenen Code authentifizieren können.
1253
1254 Führen Sie @command{info \"(guix) Invoking guix git authenticate\"} aus, um
1255 mehr Informationen zu erhalten, und lesen Sie
1256 @uref{https://guix.gnu.org/blog/2020/securing-updates/} für die Details dieser
1257 Mechanismen.")
1258 (fr "La nouvelle commande @command{guix git authenticate} authentifie
1259 un dépôt Git en vérifiant les signatures sur les changements (@i{commits}) et
1260 en s'assurant qu'elles sont autorisées, exactement comme @command{guix pull}
1261 le fait désormais.
1262
1263 Cette commande est avant tout utile aux personnes développant un canal. Elle
1264 leur permet de s'assurer, avant de pousser des changements, que le canal ne
1265 contient que des changements signés par des clefs autorisées. Mais cette
1266 commande peut aussi s'avérer utile dès que tu veux utiliser Git et permettre
1267 aux autres d'authentifier le code récupéré depuis ton dépôt.
1268
1269 Lance @command{info \"(guix.fr) Invoking guix git authenticate\"} pour plus
1270 d'informations. Voir @uref{https://guix.gnu.org/blog/2020/securing-updates/}
1271 pour en savoir plus sur ces mécanismes.")))
1272
1273 (entry (commit "43badf261f4688c8a7a7a9004a4bff8acb205835")
1274 (title (en "@command{guix pull} authenticates channels")
1275 (es "@command{guix pull} verifica los canales")
1276 (de "@command{guix pull} authentifiziert Kanäle")
1277 (fr "@command{guix pull} authentifie les canaux"))
1278 (body
1279 (en "The @command{guix pull} and @command{guix time-machine} commands
1280 now authenticate the source code that they pull, unless the new
1281 @option{--disable-authentication} option is passed. What this means is that
1282 Guix ensures that each commit received is cryptographically signed by an
1283 authorized developer. This protects you from attempts to tamper with the Guix
1284 repository and from attempts to ship malicious code to users.
1285
1286 This feature is currently limited to the @code{guix} channel but will soon be
1287 available to third-party channel authors.")
1288 (es "Las ordenes @command{guix pull} y @command{guix time-machine}
1289 ahora verifican el código fuente que obtienen, a menos que se proporcione la
1290 opción @option{--disable-authentication}. Lo que esto significa es que Guix se
1291 asegura de que cada revisión que recibe está firmada criptográficamente por
1292 una desarrolladora autorizada. Esto le protege de intentos de modificación del
1293 repositorio de Guix y de entregas de código con malas intenciones sobre las
1294 usuarias.
1295
1296 Esta característica está limitada actualmente al canal @code{guix} pero pronto
1297 estará disponible para autoras de canales independientes.")
1298 (de "Die Befehle @command{guix pull} und @command{guix time-machine}
1299 prüfen nun die Authentizität des heruntergeladenen Quellcodes, außer wenn die
1300 neue Befehlszeilenoption @option{--disable-authentication} angegeben
1301 wurde. Das bedeutet, Guix stellt sicher, dass jeder empfangene Commit durch
1302 einen autorisierten Entwickler kryptografisch signiert wurde. Das schützt Sie
1303 vor Versuchen, das Guix-Repository zu manipulieren oder bösartigen Code an die
1304 Nutzer auszuliefern.
1305
1306 Diese Funktionalität ist auf den @code{guix}-Kanal beschränkt, sie wird jedoch
1307 bald auch Autoren dritter Kanäle zur Verfügung stehen.")
1308 (fr "Les commandes @command{guix pull} et @command{guix time-machine}
1309 authentifient dorénavant le code source qu'elles obtiennent, à moins que la
1310 nouvelle option @option{--disable-authentication} soit utilisée. Cela
1311 signifie que Guix s'assure que chaque soumission (@i{commit}) récupéré dispose
1312 d'une signature cryptographique par un·e développeur·euse autorisé·e. Cela te
1313 protège de tentatives de modifications du dépôt Guix et de tentatives de
1314 livrer du code malintentionné.
1315
1316 Cette fonctionnalité n'est actuellement disponible que pour le canal
1317 @code{guix} mais le sera bientôt pour les canaux tiers.")))
1318
1319 (entry (commit "c924e541390f9595d819edc33c19d979917c15ec")
1320 (title (en "@command{guix repl} adds support for running Guile scripts")
1321 (es "@command{guix repl} puede ejecutar guiones de Guile")
1322 (de "@command{guix repl} kann Guile-Skripte ausführen")
1323 (fr "@command{guix repl} permet d'exécuter des scripts en langage Guile"))
1324 (body
1325 (en "The @command{guix repl} command can now be used to run
1326 Guile scripts. Compared to just launching the @command{guile} command,
1327 @command{guix repl} guarantees that all the Guix modules and all its
1328 dependencies are available in the search path. Scripts are run like this:
1329
1330 @example
1331 guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2
1332 @end example
1333
1334 Run @command{info \"(guix) Invoking guix repl\"} for more information.")
1335 (es "La orden @command{guix repl} ahora se puede usar para
1336 ejecutar guiones de Guile. En comparación con únicamente la ejecución
1337 de la orden @command{guile}, @command{guix repl} garantiza que todos
1338 los módulos de Guix y sus dependencias están disponibles en la ruta
1339 de búsqueda. Los guiones se ejecutan de este modo:
1340
1341 @example
1342 guix repl -- mi-guion.scm --opcion1 --opcion2=param-op2 param1 param2
1343 @end example
1344
1345 Ejecute @command{info \"(guix.es) Invocación de guix repl\"} para obtener
1346 más información.")
1347 (de "Der Befehl @command{guix repl} kann jetzt zur Ausführung von
1348 Guile-Skripten verwendet werden. Im Vergleich zum Befehl
1349 @command{guile} garantiert @command{guix repl}, dass alle Guix-Module und
1350 alle seine Abhängigkeiten im Suchpfad verfügbar sind. Skripte werden wie
1351 folgt ausgeführt:
1352
1353 @example
1354 guix repl -- my-script,scm --option1 --option2 --option2=option-arg arg1 arg2
1355 @end example
1356
1357 Weitere Informationen erhalten Sie mit
1358 @command{info \"(guix.de) Aufruf von guix repl\"}.")
1359 (fr "La commande @command{guix repl} peut maintenant être utilisée
1360 pour exécuter des scripts en langage Guile. Par rapport au simple lancement
1361 de la commande @command{guile}, @command{guix repl} garantit que tous les
1362 modules Guix et toutes ses dépendances sont disponibles dans le chemin
1363 de recherche. Les scripts sont exécutés comme ceci :
1364
1365 @example
1366 guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2
1367 @end example
1368
1369 Exécutez @command{info \"(guix.fr) Invoquer guix repl\"} pour plus d'informations.")))
1370
1371 (entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b")
1372 (title (en "Add support to boot from a Btrfs subvolume")
1373 (es "Implementado el arranque desde un subvolumen de Btrfs")
1374 (de "Unterstützung für Systemstart von einem
1375 Btrfs-Unterlaufwerk hinzugefügt")
1376 (fr "Ajout du support pour démarrer depuis un sous-volume Btrfs")
1377 (nl "Nieuwe ondersteuning voor het opstarten vanaf een Btrfs-subvolume"))
1378 (body
1379 (en "The generation of the GRUB configuration file produced from an
1380 operating system declaration now takes into account the use of a Btrfs
1381 subvolume for the partition holding @file{/gnu/store}. Run the command
1382 @command{info \"(guix) Btrfs file system\"} for more information and
1383 examples.")
1384 (es "El fichero de configuración de GRUB producido por la
1385 declaración de sistema operativo ahora tiene en cuenta el uso de
1386 subvolúmenes de Btrfs en la partición que contiene @file{/gnu/store}.
1387 Ejecute la orden @command{info \"(guix.es) Sistema de ficheros Btrfs\"}
1388 para obtener más información y ejemplos.")
1389 (de "Für die Erzeugung einer GRUB-Konfigurationsdatei aus einer
1390 Betriebssystemdeklaration kann jetzt ein Btrfs-Unterlaufwerk („Subvolume“) für
1391 die Partition mit @file{/gnu/store} angegeben werden. Führen Sie
1392 @command{info \"(guix) Btrfs file system\"} aus, wenn Sie mehr Informationen
1393 und Beispiele sehen möchten.")
1394 (fr "La génération du fichier de configuration de GRUB produite à
1395 partir de la déclaration d'un @code{operating-system} tient maintenant compte
1396 de l'utilisation d'un sous-volume Btrfs pour la partition contenant
1397 @file{/gnu/store}. Exécutez la commande @command{info\"(guix) Btrfs file
1398 system\"} pour des exemples et plus d'information.")
1399 (nl "Het opmaken van het GRUB-configuratiebestand op basis van
1400 een @code{operating-system}-declaratie houdt nu rekening met het gebruik van
1401 een Btrfs-subvolume voor de partitie die @file{/gnu/store} bevat. Voer
1402 @command{info \"(guix) Btrfs file system\"} uit voor meer informatie en
1403 voorbeelden.")))
1404
1405 (entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e")
1406 (title (en "@command{guix pack -RR} introduces a new execution
1407 engine")
1408 (es "@command{guix pack -RR} introduce un nuevo motor
1409 de ejecución")
1410 (de "@command{guix pack -RR} führt neuen Ausführungstreiber
1411 ein")
1412 (fr "@command{guix pack -RR} introduit un nouveau moteur d'exécution"))
1413 (body
1414 (en "The @command{guix pack -RR} command allows you to create a
1415 tarball containing @dfn{relocatable binaries}. Until now, those would rely
1416 either on Linux ``unprivileged user namespaces'' or on PRoot, when
1417 unprivileged user namespaces are not supported. However, PRoot introduces
1418 significant overhead for some workloads.
1419
1420 To address that, @command{guix pack -RR} introduces a third option based on an
1421 extension to the GNU run-time linker (ld.so) and on Fakechroot, which incurs
1422 very little overhead. You can select the fastest option when executing a
1423 relocatable binary like this:
1424
1425 @example
1426 GUIX_EXECUTION_ENGINE=performance
1427 export GUIX_EXECUTION_ENGINE
1428 @end example
1429
1430 Run @command{info \"(guix) Invoking guix pack\"} for more information.")
1431 (es "La orden @command{guix pack -RR} le permite crear un
1432 archivador tar que contiene @dfn{binarios reposicionables}. Hasta ahora
1433 dichos binarios dependían o bien de los ``espacios de nombres de usuarias
1434 sin privilegios'' de Linux o en PRoot, cuando estos no estaban
1435 implementados. No obstante, PRoot introduce una sobrecarga significativa
1436 en algunos escenarios de trabajo.
1437
1438 Para estos casos @command{guix pack -RR} introduce una tercera opción
1439 basada en una extensión al enlazador de tiempo de ejecución de GNU (ld.so)
1440 y en Fakechroot, lo que conlleva muy poca sobrecarga. Puede seleccionar
1441 la opción más rápida cuando ejecute un binario reposicionable de esta
1442 manera:
1443
1444 @example
1445 GUIX_EXECUTION_ENGINE=performance
1446 export GUIX_EXECUTION_ENGINE
1447 @end example
1448
1449 Ejecute @command{info \"(guix.es) Invocación de guix pack\"} para
1450 obtener más información.")
1451 (de "Mit dem Befehl @command{guix pack -RR} können Sie einen Tarball
1452 mit @dfn{verschieblichen Binärdateien} erzeugen (englisch „Relocatable
1453 Binaries“). Bisher wurden diese entweder in „unprivilegierten
1454 Benutzernamensräumen“ ohne Berechtigungen ausgeführt, oder in PRoot, wenn
1455 keine unprivilegierten Benutzernamensräume unterstützt wurden. Allerdings
1456 fällt bei der Ausführung mit PRoot bei manchen Anwendungen deutlich mehr
1457 Rechenaufwand an.
1458
1459 Um dem entgegenzuwirken, stellt @command{guix pack -RR} nun eine dritte Option
1460 zur Verfügung, die sich eine Erweiterung des GNU-Laufzeit-Binders („Run-Time
1461 Linker“, ld.so) und Fakechroot zu Nutze macht. Dadurch entsteht fast kein
1462 Mehraufwand. Sie können sich die schnellste Option aussuchen, wenn Sie eine
1463 verschiebliche Binärdatei ausführen, zum Beispiel so:
1464
1465 @example
1466 GUIX_EXECUTION_ENGINE=performance
1467 export GUIX_EXECUTION_ENGINE
1468 @end example
1469
1470 Führen Sie @command{info \"(guix.de) Aufruf von guix pack\"} aus, wenn Sie
1471 mehr wissen wollen.")
1472 (fr "La commande @command{guix pack -RR} vous permet de créer une
1473 archive tar contenant des @dfn{binaires repositionnables}. Jusqu'ici, ils
1474 s'appuyaient sur les « espaces de noms non privilégiés » de Linux ou sur
1475 PRoot, quand les espaces de noms non privilégiés n'étaient pas disponibles.
1476 Cependant, PRoot ralenti significativement certains profils d'exécution.
1477
1478 Pour éviter cela, @command{guix pack -RR} introduit une troisième possibilité
1479 basée sur une extension de l'éditeur des liens à l'exécution de GNU (ld.so) et
1480 sur Fakechroot, qui ralenti très peu l'exécution. Vous pouvez choisir l'option
1481 la plus rapide à l'exécution d'un binaire relocalisable de cette manière :
1482
1483 @example
1484 GUIX_EXECUTION_ENGINE=performance
1485 export GUIX_EXECUTION_ENGINE
1486 @end example
1487
1488 Lancez @command{info \"(guix.fr) Invoquer guix pack\"} pour en savoir plus.")))
1489
1490 (entry (commit "88a96c568c47c97d05d883ada5afbc4e1200b10f")
1491 (title (en "New @option{--path} option for @command{guix graph}")
1492 (es "Nueva opción @option{--path} para @command{guix graph}")
1493 (de "Neue Option @option{--path} für @command{guix graph}")
1494 (fr "Nouvelle option @option{--path} pour @command{guix graph}"))
1495 (body
1496 (en "The @command{guix graph} command has a new @option{--path}
1497 option that instructs it to display the shortest path between two packages,
1498 derivations, or store items. For example, the command below displays the
1499 shortest path from the @code{libreoffice} package to @code{libunistring}:
1500
1501 @example
1502 guix graph --path libreoffice libunistring
1503 @end example
1504
1505 Run @code{info \"(guix) Invoking guix graph\"} for more information.")
1506 (es "La orden @command{guix graph} tiene una nueva opción
1507 @option{--path} que le indica que debe mostrar la ruta más corta entre dos
1508 paquetes, derivaciones o elementos del almacén. Por ejemplo, la siguiente
1509 orden muestra la ruta más corta desde el paquete @code{libreoffice} hasta
1510 @code{libunistring}:
1511
1512 @example
1513 guix graph --path libreoffice libunistring
1514 @end example
1515
1516 Ejecute @code{info \"(guix.es) Invocación de guix graph\"} para obtener más
1517 información.")
1518 (de "Der Befehl @command{guix graph} verfügt über eine neue
1519 Befehlszeilenoption @option{--path}, die ihn den kürzesten Pfad zwischen zwei
1520 Paketen, Ableitungen oder Store-Objekten ausgeben lässt. Zum Beispiel zeigt
1521 folgender Befehl den kürzesten Pfad vom Paket @code{libreoffice} zu
1522 @code{libunistring}:
1523
1524 @example
1525 guix graph --path libreoffice libunistring
1526 @end example
1527
1528 Führen Sie @code{info \"(guix.de) Aufruf von guix graph\"} aus, um mehr zu
1529 erfahren.")
1530 (fr "La commande @command{guix graph} a une nouvelle option
1531 @option{--path} qui lui dit d'afficer le plus court chemin entre deux
1532 paquets, dérivations ou éléments du dépôt. Par exemple, la commande ci-dessous
1533 affiche le plus court chemin entre le paquet @code{libreoffice} et
1534 @code{libunistring} :
1535
1536 @example
1537 guix graph --path libreoffice libunistring
1538 @end example
1539
1540 Lancez @code{info \"(guix.fr) Invoquer guix graph\"} pour en savoir plus.")))
1541
1542 (entry (commit "a33eac038a811603c8b9ed106ae405a5f80a0e9d")
1543 (title (en "GNU C Library upgraded")
1544 (de "GNU-C-Bibliothek aktualisiert")
1545 (es "Actualización de la biblioteca C de GNU")
1546 (fr "Mise à jour de la bibliothèque C de GNU")
1547 (nl "GNU C-bibliotheek bijgewerkt"))
1548 (body
1549 (en "The GNU C Library (glibc) has been upgraded to version 2.31. To
1550 run previously-installed programs linked against glibc 2.29, you need to
1551 install locale data for version 2.29 in addition to locale data for 2.31:
1552
1553 @example
1554 guix install glibc-locales glibc-locales-2.29
1555 @end example
1556
1557 On Guix System, you can adjust the @code{locale-libcs} field of your
1558 @code{operating-system} form. Run @code{info \"(guix) Locales\"}, for more
1559 info.")
1560 (de "Die GNU-C-Bibliothek (glibc) wurde auf Version 2.31
1561 aktualisiert. Um zuvor installierte Programme, die an glibc 2.29 gebunden
1562 worden sind, weiter benutzen zu können, müssen Sie Locale-Daten für Version
1563 2.29 zusätzlich zu den Locale-Daten für 2.31 installieren:
1564
1565 @example
1566 guix install glibc-locales glibc-locales-2.29
1567 @end example
1568
1569 Auf Guix System genügt es, das @code{locale-libcs}-Feld Ihrer
1570 @code{operating-system}-Form anzupassen. Führen Sie @code{info \"(guix.de)
1571 Locales\"} aus, um weitere Informationen dazu zu erhalten.")
1572 (es "Se ha actualizado la biblioteca de C de GNU (glibc) a la versión
1573 2.31. Para ejecutar programas instalados previamente que se encuentren
1574 enlazados con glibc 2.29, es necesario que instale los datos de localización
1575 de la versión 2.29 junto a los datos de localización de la versión 2.31:
1576
1577 @example
1578 guix install glibc-locales glibc-locales-2.29
1579 @end example
1580
1581 En el sistema Guix, puede ajustar el campo @code{locale-libcs} de su
1582 declaración @code{operating-system}. Ejecute @code{info \"(guix.es)
1583 Localizaciones\"} para obtener más información.")
1584 (fr "La bibliothèque C de GNU (glibc) a été mise à jour en version
1585 2.31. Pour pouvoir lancer tes programmes déjà installés et liés à glibc 2.29,
1586 tu dois installer les données pour la version 2.29 en plus des données de
1587 régionalisation pour la version 2.31:
1588
1589 @example
1590 guix install glibc-locales glibc-locales-2.29
1591 @end example
1592
1593 Sur le système Guix, tu peux ajuster le champ @code{locale-libcs} de ta forme
1594 @code{operating-system}. Lance @code{info \"(guix.fr) Régionalisation\"} pour
1595 plus de détails.")
1596 (nl "De GNU C-bibliotheek (glibc) werd bijgewerkt naar versie 2.31.
1597 Om gebruik te maken van reeds geïnstalleerde programma's die aan glibc 2.29
1598 gebonden zijn, moet u de regionale informatie van versie 2.29 naast die van
1599 versie 2.31 installeren:
1600
1601 @example
1602 guix install glibc-locales glibc-locales-2.29
1603 @end example
1604
1605 Op Guix System kunt u het @code{locale-libcs}-veld van uw
1606 @code{operating-system}-vorm aanpassen. Voer @code{info \"(guix) Locales\"}
1607 uit voor verdere uitleg.")))
1608
1609 (entry (commit "e1e6491226347d9fb93ff484d78cef98848a510a")
1610 (title (en "Guix Cookbook now available as Info")
1611 (de "Guix-Kochbuch jetzt als Info-Dokument verfügbar"))
1612 ;; TRANSLATORS: Adjust the URL and the 'info' command to refer to the
1613 ;; translated manual if it's available.
1614 (body (en "The new Guix Cookbook is now fetched by @command{guix pull}
1615 and thus readily available in the Info format. It aims to provide tutorials
1616 and detailed examples covering a variety of use cases. You can access it by
1617 typing:
1618
1619 @example
1620 info guix-cookbook
1621 @end example
1622
1623 The Cookbook is currently available in English and German. You can also find
1624 it @uref{https://guix.gnu.org/cookbook/en/, on-line}.
1625
1626 Your contributions are welcome: @uref{https://guix.gnu.org/contact/, get in
1627 touch with the developers} to share your recipes!")
1628 (de "Das neue Guix-Kochbuch wird nun von @command{guix pull}
1629 geladen und steht dann im Info-Format zur Verfügung. Darin sollen Anleitungen
1630 und detaillierte Beispiele gezeigt werden, die eine breite Spanne an
1631 Anwendungsfällen abdecken. Um darauf zuzugreifen, geben Sie dies ein:
1632
1633 @example
1634 info guix-cookbook.de
1635 @end example
1636
1637 Das Kochbuch steht derzeit auf Deutsch und Englisch zur Verfügung. Sie können
1638 auch @uref{https://guix.gnu.org/cookbook/de/, online} darauf zugreifen.
1639
1640 Ihre Beiträge werden gerne gesehen. Bitte
1641 @uref{https://guix.gnu.org/contact/, kontaktieren Sie die Entwickler}, um Ihre
1642 Rezepte mit uns zu teilen!")))
1643
1644 (entry (commit "2ca7af43fe17d9acf082dce85d137a27a8ac4887")
1645 (title (en "Further reduced binary seed bootstrap")
1646 (de "Bootstrapping jetzt mit noch kleinerem Seed")
1647 (fr "Le bootstrap binaire est encore plus réduit"))
1648 (body
1649 (en "The package graph on x86_64 and i686 is now rooted in a further
1650 @dfn{reduced set of binary seeds}. The initial set of binaries from which
1651 packages are built now weighs in at approximately 60 MiB, a quarter of what it
1652 used to be. Run @code{info \"(guix) Bootstrapping\"} to learn more, or watch
1653 the talk at @uref{https://fosdem.org/2020/schedule/event/gnumes/}.")
1654 (de "Der Paketgraph auf x86_64 und i686 hat jetzt eine noch
1655 @dfn{kleinere Menge an binären Seeds} als Wurzel. Das heißt, die ursprüngliche
1656 Menge an Binärdateien, aus denen heraus Pakete erstellt werden, machen nun
1657 ungefähr 60 MiB aus, ein Viertel der früheren Größe. Führen Sie @code{info
1658 \"(guix.de) Bootstrapping\"} aus, um mehr zu erfahren, oder schauen Sie sich
1659 den Vortrag auf @uref{https://fosdem.org/2020/schedule/event/gnumes/} an.")
1660 (fr "Le graphe des paquets sur x86_64 et i686 prend maintenant racine
1661 dans un @dfn{ensemble de graines binaires} plus réduit. L'ensemble initial
1662 des binaires à partir desquels les paquets sont désormais construit pèse
1663 environ 60 Mo, un quart de ce qu'il était. Lancez
1664 @code{info \"(guix.fr) Bootstrapping\"} pour en savoir plus, ou regardez
1665 la présentation sur @uref{https://fosdem.org/2020/schedule/event/gnumes/}.")))
1666
1667 (entry (commit "0468455e7d279c89ea3ad1b51935efb2b785ec47")
1668 (title (en "Rottlog service added to @code{%base-services}")
1669 (de "Rottlog-Dienst ist nun Teil der @code{%base-services}")
1670 (fr "Le service rottlog a été ajouté à @code{%base-services}"))
1671 (body (en "An instance of @code{rottlog-service-type}, the system
1672 service responsible for log rotation, has been added to @code{%base-services}.
1673 If your operating system configuration for Guix System is explicitly adding
1674 @code{rottlog-service-type} to the services, you should now remove it. See
1675 the ``Log Rotation'' section of the manual for more information.")
1676 (de "Eine Instanz des @code{rottlog-service-type} für
1677 Log-Rotation wurde zu den @code{%base-services} hinzugefügt. Wenn der
1678 Systemdienst bereits in Ihrer Konfiguration für Guix System ausdrücklich
1679 genannt wurde, sollten Sie ihn jetzt daraus entfernen. Siehe den Abschnitt
1680 „Log-Rotation“ im Handbuch für weitere Informationen.")
1681 (fr "Une instance de @code{rottlog-service-type}, le service
1682 système responsable de la rotation des journaux, a été ajoutée à
1683 @code{%base-services}. Si votre configuration de système d'exploitation Guix
1684 System ajoute @code{rottlog-service-type} explicitement, vous devriez maintenant
1685 le supprimer. Voir la section « Rotation des journaux » dans le manuel
1686 pour en savoir plus.")))
1687
1688 (entry (commit "b6bee63bed4f013064c0d902e7c8b83ed7514ade")
1689 (title (en "@code{guile} package now refers to version 3.0")
1690 (de "Das @code{guile}-Paket bezeichnet jetzt Version 3.0")
1691 (fr "Le paquet @code{guile} se réfère maintenant à la version 3.0"))
1692 (body (en "The @code{guile} package has been upgraded to version 3.0
1693 (instead of 2.2). The @code{guile3.0-} packages have been renamed to their
1694 original name, and @code{guile2.2-} variants of these packages have been
1695 defined. Additionally, derivations are now all built with Guile 3.0, and
1696 system services also run on 3.0.")
1697 (de "Das @code{guile}-Paket wurde auf Version 3.0
1698 (statt 2.2) aktualisiert. Die Pakete, deren Namen mit @code{guile3.0-}
1699 beginnen, wurden umbenannt, so dass sie nun den unveränderten Namen tragen,
1700 während ihre Varianten mit @code{guile2.2-} hinzugefügt wurden. Des Weiteren
1701 werden jetzt alle Ableitungen mit Guile 3.0 erstellt und die Systemdienste
1702 laufen auch auf 3.0.")
1703 (fr "Le paquet @code{guile} a été mis à jour vers la version 3.0
1704 (au lieu de la 2.2). Les paquets @code{guile3.0-} ont été renommés en leur
1705 nom d'origine et les variantes @code{guile2.2-} de ces paquets ont été définis.
1706 En plus, les dérivation sont maintenant construites avec Guile 3.0, et les
1707 services systèmes utilisent aussi la 3.0.")))
1708
1709 (entry (commit "e3e1a7ba08af2d58c47264c543617e499c239444")
1710 (title (en "@command{guix pull} now supports SSH authenticated
1711 repositories")
1712 (de "@command{guix pull} unterstützt nun SSH-authentifizierte
1713 Repositorys")
1714 (fr "@command{guix pull} prend maintenant en charge
1715 l'authentification en SSH pour les dépôts.")
1716 (nl "@command{guix pull} ondersteunt nu SSH-geauthenticeerde
1717 repository's."))
1718 (body (en "The @command{guix pull} command now supports SSH
1719 authenticated repositories as argument of @option{--url} and in custom
1720 channels definitions. The authentication requires that an @command{ssh-agent}
1721 is running.")
1722 (de "Der Befehl @command{guix pull} unterstützt nun über SSH
1723 authentifizierte Repositorys als Argument von @option{--url} und in
1724 selbstgeschriebenen Kanaldefinitionen. Zur Authentisierung muss ein
1725 @command{ssh-agent} laufen.")
1726 (fr "La commande @command{guix pull} prend maintenant en
1727 charge l'authentification SSH pour les dépôts dans l'argument @option{--url}
1728 et dans le définitions de canaux personnalisés. L'authentification
1729 nécessite qu'un @command{ssh-agent} soit lancé.")
1730 (nl "Het @command{guix pull}-commando ondersteunt nu
1731 SSH-geauthenticeerde opslag als argument na @option{--url} en bij het
1732 schrijven van eigen kanaaldefinities. Hiervoor moet een @command{ssh-agent}
1733 gestart zijn.")))
1734
1735 (entry (commit "8234fe653e61d0090138cbd4c48d877568355439")
1736 (title (en "Guix now runs on Guile 3.0")
1737 (de "Guix läuft jetzt auf Guile 3.0")
1738 (fr "Guix tourne maintenant sous Guile 3.0")
1739 (nl "Guix draait nu op Guile 3.0"))
1740 (body (en "The Guix revision you just pulled runs on version 3.0 of
1741 GNU@tie{}Guile (previously it would run on version 2.2). Guile 3.0 improves
1742 performance through the use of just-in-time (JIT) native code generation. The
1743 switch should be entirely transparent to you. See
1744 @uref{https://gnu.org/software/guile} for more information on Guile 3.0.")
1745 (de "Die Guix-Version, die Sie gerade gepullt haben, läuft auf
1746 Version 3.0 von GNU@tie{}Guile (und nicht mehr auf Version 2.2). Guile 3.0
1747 verbessert die Rechenleistung, indem native Maschinenbefehle „just in time“
1748 erzeugt werden (JIT-Kompilierung). Der Wechsel sollte für Sie völlig
1749 transparent sein und Guix verhält sich gleich. Siehe
1750 @uref{https://gnu.org/software/guile} für weitere Informationen zu Guile
1751 3.0.")
1752 (fr "La révision de Guix que tu viens de récupérer tourne sous
1753 la version 3.0 de GNU@tie{}Guile (Guix tournait avant sous la version 2.2).
1754 Guile 3.0 améliore la performance en générant du code natif à la volée (JIT).
1755 Le changement devrait être totalement transparent pour toi. Voir
1756 @uref{https://gnu.org/software/guile} pour plus d'information sur Guile 3.0.")
1757 (nl "De Guix die u net heeft gepulld gebruikt versie 3.0 van
1758 GNU@tie{}Guile (voorheen was dat versie 2.2). Guile@tie{}3.0 draait dezelfde
1759 programma's doorgaans sneller door ze ‘just-in-time’ (JIT) te vertalen naar
1760 machine-instructies. De omschakeling zou voor u volledig naadloos moeten
1761 zijn. Lees @uref{https://gnu.org/software/guile} voor meer informatie over
1762 Guile@tie{}3.0.")))
1763
1764 (entry (commit "828a39da68a9169ef1d9f9ff02a1c66b1bcbe884")
1765 (title (en "New @option{--diff} option for @command{guix challenge}")
1766 (de "Neue @option{--diff}-Option für @command{guix challenge}")
1767 (fr "Nouvelle option @option{--diff} sur @command{guix challenge}"))
1768 (body (en "The @command{guix challenge} command, which compares
1769 binaries provided by different substitute servers as well as those built
1770 locally, has a new @option{--diff} option. With @option{--diff=simple} (the
1771 default), @command{guix challenge} automatically downloads binaries and
1772 reports the list of differing files; @option{--diff=diffoscope} instructs it
1773 to pass them to @command{diffoscope}, which simplifies the comparison process.
1774 Run @command{info \"(guix) Invoking guix challenge\"}, for more info.")
1775 (fr "La commande @command{guix challenge} qui compare les binaires
1776 fournis par différents serveurs de substituts aux contsructions locales a une
1777 nouvelle option @option{--diff}. Avec @option{--diff=simple} (par défaut),
1778 @command{guix challenge} télécharge automatiquement les binaires et rapporte
1779 la liste des fichiers différents@tie{}; @option{--diff=diffoscope} lui dit
1780 de les passer à @command{diffoscope} qui simplifie le processus de comparaison.
1781 Lance @command{info \"(guix.fr) Invoquer guix challenge\"} pour plus d'info.")
1782 (de "Der Befehl @command{guix challenge}, mit dem Binärdateien
1783 von unterschiedlichen Substitut-Servern oder lokale Erstellungen miteinander
1784 verglichen werden können, hat eine neue Befehlszeilenoption @option{--diff}
1785 bekommen. Bei @option{--diff=simple} (der Voreinstellung) lädt @command{guix
1786 challenge} automatisch Binärdateien herunter und listet sich unterscheidende
1787 Dateien auf; wird @option{--diff=diffoscope} angegeben, werden sie an
1788 @command{diffoscope} geschickt, was deren Vergleich erleichtert. Führen Sie
1789 @command{info \"(guix.de) Aufruf von guix challenge\"} aus, um nähere
1790 Informationen zu erhalten.")))
1791
1792 (entry (commit "f675f8dec73d02e319e607559ed2316c299ae8c7")
1793 (title (en "New command @command{guix time-machine}")
1794 (de "Neuer Befehl @command{guix time-machine}")
1795 (fr "Nouvelle commande @command{guix time-machine}"))
1796 (body (en "The new command @command{guix time-machine} facilitates
1797 access to older or newer revisions of Guix than the one that is installed.
1798 It can be used to install different versions of packages, and to
1799 re-create computational environments exactly as used in the past.")
1800 (de "Der neue Befehl @command{guix time-machine} vereinfacht
1801 den Zugriff auf ältere oder neuere Guix-Versionen als die installierte.
1802 Er kann zur Installation bestimmter Paketversionen verwendet werden, aber
1803 auch zur Wiederherstellung von Entwicklungsumgebungen, wie sie in der
1804 Vergangenheit verwendet wurden.")
1805 (fr "La nouvelle commande @command{guix time-machine}
1806 facilite l'accès à des versions antérieures ou postérieures par rapport
1807 à la version installée. Elle sert à installer des versions spécifiques
1808 de paquets, ainsi à la restauration d'environnements dans un état
1809 historique.")))
1810 (entry (commit "3e962e59d849e4300e447d94487684102d9d412e")
1811 (title (en "@command{guix graph} now supports package
1812 transformations")
1813 (de "@command{guix graph} unterstützt nun Paketumwandlungen")
1814 (fr "@command{guix graph} prend maintenant en charge les
1815 transformations de paquets"))
1816 (body
1817 (en "The @command{guix graph} command now supports the common package
1818 transformation options (see @command{info \"(guix) Package Transformation
1819 Options\"}). This is useful in particular to see the effect of the
1820 @option{--with-input} dependency graph rewriting option.")
1821 (de "Der Befehl @command{guix graph} unterstützt nun die mit anderen
1822 Befehlen gemeinsamen Umwandlungsoptionen (siehe @command{info \"(guix.de)
1823 Paketumwandlungsoptionen\"}). Sie helfen insbesondere dabei, die Wirkung der
1824 Befehlszeilenoption @option{--with-input} zum Umschreiben des
1825 Abhängigkeitsgraphen zu sehen.")
1826 (es "La orden @command{guix graph} ahora implementa las opciones
1827 comunes de transformación de paquetes (véase @command{info \"(guix.es)
1828 Opciones de transformación de paquetes\"}). Esto es particularmente
1829 útil para comprobar el efecto de la opción de reescritura del grafo
1830 de dependencias @option{--with-input}.")
1831 (fr "La commande @command{guix graph} prend maintenant en charge les
1832 transformations de paquets communes (voir @command{info \"(guix.fr) Options de
1833 transformation de paquets\"}). C'est particulièrement utile pour voir l'effet
1834 de l'option @option{--with-input} qui réécrit de graphe de dépendance.")))
1835
1836 (entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a")
1837 (title (en "@command{guix pull} now honors
1838 @file{/etc/guix/channels.scm}")
1839 (de "@command{guix pull} berücksichtigt nun
1840 @file{/etc/guix/channels.scm}")
1841 (es "Ahora @command{guix pull} tiene en cuenta
1842 @file{/etc/guix/channels.scm}")
1843 (fr "@command{guix pull} lit maintenant
1844 @file{/etc/guix/channels.scm}"))
1845 (body
1846 (en "The @command{guix pull} command will now read the
1847 @file{/etc/guix/channels.scm} file if it exists and if the per-user
1848 @file{~/.config/guix/channels.scm} is not present. This allows administrators
1849 of multi-user systems to define site-wide defaults.")
1850 (de "Der Befehl @command{guix pull} liest nun die Datei
1851 @file{/etc/guix/channels.scm}, wenn sie existiert und es für den jeweiligen
1852 Benutzer keine @file{~/.config/guix/channels.scm} gibt. Dadurch können
1853 Administratoren von Mehrbenutzersystemen systemweite Voreinstellungen
1854 vornehmen.")
1855 (es "Ahora la orden @command{guix pull} lee el fichero
1856 @file{/etc/guix/channels.scm} si existe y el fichero personalizable
1857 @file{~/.config/guix/channels.scm} no está presente. Esto permite a quienes
1858 administran sistemas con múltiples usuarias definir valores predeterminados
1859 en el sistema.")
1860 (fr "La commande @command{guix pull} lira maintenant le fichier
1861 @file{/etc/guix/channels.scm} s'il existe et si le fichier
1862 @file{~/.config/guix/channels.scm} par utilisateur·rice n'est pas présent.
1863 Cela permet aux personnes administrant des systèmes multi-utilisateurs de
1864 définir les canaux par défaut.")))
1865
1866 (entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7")
1867 (title (en "Insecure @file{/var/guix/profiles/per-user} permissions (CVE-2019-18192)")
1868 (de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen (CVE-2019-18192)")
1869 (es "Vulnerabilidad en los permisos de @file{/var/guix/profiles/per-user} (CVE-2019-18192)")
1870 (fr "Permissions laxistes pour @file{/var/guix/profiles/per-user} (CVE-2019-18192)")
1871 (nl "Onveilige @file{/var/guix/profiles/per-user}-rechten (CVE-2019-18192)"))
1872 (body
1873 (en "The default user profile, @file{~/.guix-profile}, points to
1874 @file{/var/guix/profiles/per-user/$USER}. Until now,
1875 @file{/var/guix/profiles/per-user} was world-writable, allowing the
1876 @command{guix} command to create the @code{$USER} sub-directory.
1877
1878 On a multi-user system, this allowed a malicious user to create and populate
1879 that @code{$USER} sub-directory for another user that had not yet logged in.
1880 Since @code{/var/@dots{}/$USER} is in @code{$PATH}, the target user could end
1881 up running attacker-provided code. See
1882 @uref{https://issues.guix.gnu.org/issue/37744} for more information.
1883
1884 This is now fixed by letting @command{guix-daemon} create these directories on
1885 behalf of users and removing the world-writable permissions on
1886 @code{per-user}. On multi-user systems, we recommend updating the daemon now.
1887 To do that, run @code{sudo guix pull} if you're on a foreign distro, or run
1888 @code{guix pull && sudo guix system reconfigure @dots{}} on Guix System. In
1889 both cases, make sure to restart the service afterwards, with @code{herd} or
1890 @code{systemctl}.")
1891 (de "Das voreingestellte Benutzerprofil, @file{~/.guix-profile},
1892 verweist auf @file{/var/guix/profiles/per-user/$USER}. Bisher hatte jeder
1893 Benutzer Schreibzugriff auf @file{/var/guix/profiles/per-user}, wodurch der
1894 @command{guix}-Befehl berechtigt war, das Unterverzeichnis @code{$USER}
1895 anzulegen.
1896
1897 Wenn mehrere Benutzer dasselbe System benutzen, kann ein böswilliger Benutzer
1898 so das Unterverzeichnis @code{$USER} und Dateien darin für einen anderen
1899 Benutzer anlegen, wenn sich dieser noch nie angemeldet hat. Weil
1900 @code{/var/…/$USER} auch in @code{$PATH} aufgeführt ist, kann der betroffene
1901 Nutzer dazu gebracht werden, vom Angreifer vorgegebenen Code auszuführen.
1902 Siehe @uref{https://issues.guix.gnu.org/issue/37744} für weitere
1903 Informationen.
1904
1905 Der Fehler wurde nun behoben, indem @command{guix-daemon} diese Verzeichnisse
1906 jetzt selbst anlegt statt das dem jeweiligen Benutzerkonto zu überlassen. Der
1907 Schreibzugriff auf @code{per-user} wird den Benutzern entzogen. Für Systeme
1908 mit mehreren Benutzern empfehlen wir, den Daemon jetzt zu aktualisieren. Auf
1909 einer Fremddistribution führen Sie dazu @code{sudo guix pull} aus; auf einem
1910 Guix-System führen Sie @code{guix pull && sudo guix system reconfigure …}
1911 aus. Achten Sie in beiden Fällen darauf, den Dienst mit @code{herd} oder
1912 @code{systemctl} neuzustarten.")
1913 (es "El perfil predeterminado de la usuaria, @file{~/.guix-profile},
1914 apunta a @file{/var/guix/profiles/per-user/$USUARIA}. Hasta ahora cualquiera
1915 podía escribir en @file{/var/guix/profiles/per-user}, lo cual permitía
1916 a la orden @command{guix} crear el subdirectorio @code{$USUARIA}.
1917
1918 En un sistema con múltiples usuarias, esto permitiría a cualquiera con
1919 intención de causar daño crear ese subdirectorio @code{$USUARIA} con el nombre
1920 de alguien que no hubiese ingresado en el sistema. Puesto que ese
1921 subdirectorio @code{/var/@dots{}/$USUARIA} se encuentra en la ruta de binarios
1922 predeterminada @code{$PATH}, el objetivo del ataque podría ejecutar código
1923 proporcionado por la parte atacante. Véase
1924 @uref{https://issues.guix.gnu.org/issue/37744} para obtener más información.
1925
1926 Se ha solucionando delegando en @command{guix-daemon} la creación de esos
1927 directorios y eliminando los permisos de escritura para todo el mundo en
1928 @code{per-user}. En sistemas con múltiples usuarias recomendamos actualizar
1929 cuanto antes el daemon. Para hacerlo ejecute @code{sudo guix pull} si se
1930 encuentra en una distribución distinta, o ejecute @code{guix pull && sudo guix system reconfigure @dots{}} en el sistema Guix. En ambos casos, asegurese de
1931 reiniciar el servicio tras ello, con @code{herd} o @code{systemctl}.")
1932 (fr "Le profil utilisateur par défaut, @file{~/.guix-profile},
1933 pointe vers @file{/var/guix/profiles/per-user/$USER}. Jusqu'à
1934 maintenant, @file{/var/guix/profiles/per-user} était disponible en
1935 écriture pour tout le monde, ce qui permettait à la commande
1936 @command{guix} de créér le sous-répertoire @code{$USER}.
1937
1938 Sur un système multi-utilisateur, cela permet à un utilisateur
1939 malveillant de créer et de remplir le sous-répertoire @code{USER} pour
1940 n'importe quel utilisateur qui ne s'est jamais connecté. Comme
1941 @code{/var/@dots{}/$USER} fait partie de @code{$PATH}, l'utilisateur
1942 ciblé pouvait exécuter des programmes fournis par l'attaquant. Voir
1943 @uref{https://issues.guix.gnu.org/issue/37744} pour plus de détails.
1944
1945 Cela est maintenant corrigé en laissant à @command{guix-daemon} le soin
1946 de créer ces répertoire pour le compte des utilisateurs et en
1947 supprimant les permissions en écriture pour tout le monde sur
1948 @code{per-user}. Nous te recommandons de mettre à jour le démon
1949 immédiatement. Pour cela, lance @code{sudo guix pull} si tu es sur
1950 une distro externe ou @code{guix pull && sudo guix system reconfigure
1951 @dots{}} sur le système Guix. Dans tous les cas, assure-toi ensuite de
1952 redémarrer le service avec @code{herd} ou @code{systemctl}.")
1953 (nl "Het standaard gebruikersprofiel, @file{~/.guix-profile}, verwijst
1954 naar @file{/var/guix/profiles/per-user/$USER}. Tot op heden kon om het even wie
1955 in @file{/var/guix/profiles/per-user} schrijven, wat het @command{guix}-commando
1956 toestond de @code{$USER} submap aan te maken.
1957
1958 Op systemen met meerdere gebruikers kon hierdoor een kwaadaardige gebruiker een
1959 @code{$USER} submap met inhoud aanmaken voor een andere gebruiker die nog niet
1960 was ingelogd. Omdat @code{/var/@dots{}/$USER} zich in @code{$PATH} bevindt,
1961 kon het doelwit zo code uitvoeren die door de aanvaller zelf werd aangeleverd.
1962 Zie @uref{https://issues.guix.gnu.org/issue/37744} voor meer informatie.
1963
1964 Dit probleem is nu verholpen: schrijven door iedereen in @code{per-user} is niet
1965 meer toegestaan en @command{guix-daemon} maakt zelf submappen aan namens de
1966 gebruiker. Op systemen met meerdere gebruikers raden we aan om
1967 @code{guix-daemon} nu bij te werken. Op Guix System kan dit met
1968 @code{guix pull && sudo guix system reconfigure @dots{}}, op andere distributies
1969 met @code{sudo guix pull}. Herstart vervolgens in beide gevallen
1970 @code{guix-daemon} met @code{herd} of @code{systemctl}.")))
1971
1972 (entry (commit "5f3f70391809f8791c55c05bd1646bc58508fa2c")
1973 (title (en "GNU C Library upgraded")
1974 (de "GNU-C-Bibliothek aktualisiert")
1975 (es "Actualización de la biblioteca C de GNU")
1976 (fr "Mise à jour de la bibliothèque C de GNU")
1977 (nl "GNU C-bibliotheek bijgewerkt"))
1978 (body
1979 (en "The GNU C Library (glibc) has been upgraded to version 2.29. To
1980 run previously-installed programs linked against glibc 2.28, you need to
1981 install locale data for version 2.28 in addition to locale data for 2.29:
1982
1983 @example
1984 guix install glibc-locales glibc-locales-2.28
1985 @end example
1986
1987 On Guix System, you can adjust the @code{locale-libcs} field of your
1988 @code{operating-system} form. Run @code{info \"(guix) Locales\"}, for more
1989 info.")
1990 (de "Die GNU-C-Bibliothek (glibc) wurde auf Version 2.29
1991 aktualisiert. Um zuvor installierte Programme, die an glibc 2.28 gebunden
1992 worden sind, weiter benutzen zu können, müssen Sie Locale-Daten für Version
1993 2.28 zusätzlich zu den Locale-Daten für 2.29 installieren:
1994
1995 @example
1996 guix install glibc-locales glibc-locales-2.28
1997 @end example
1998
1999 Auf Guix System genügt es, das @code{locale-libcs}-Feld Ihrer
2000 @code{operating-system}-Form anzupassen. Führen Sie @code{info \"(guix.de)
2001 Locales\"} aus, um weitere Informationen dazu zu erhalten.")
2002 (es "Se ha actualizado la biblioteca de C de GNU (glibc) a la versión
2003 2.29. Para ejecutar programas instalados previamente que se encuentren
2004 enlazados con glibc 2.28, es necesario que instale los datos de localización
2005 de la versión 2.28 junto a los datos de localización de la versión 2.29:
2006
2007 @example
2008 guix install glibc-locales glibc-locales-2.28
2009 @end example
2010
2011 En el sistema Guix, puede ajustar el campo @code{locale-libcs} de su
2012 declaración @code{operating-system}. Ejecute @code{info \"(guix.es)
2013 Localizaciones\"} para obtener más información.")
2014 (fr "La bibliothèque C de GNU (glibc) a été mise à jour en version
2015 2.29. Pour pouvoir lancer tes programmes déjà installés et liés à glibc 2.28,
2016 tu dois installer les données pour la version 2.28 en plus des données de
2017 régionalisation pour la version 2.29 :
2018
2019 @example
2020 guix install glibc-locales glibc-locales-2.28
2021 @end example
2022
2023 Sur le système Guix, tu peux ajuster le champ @code{locale-libcs} de ta forme
2024 @code{operating-system}. Lance @code{info \"(guix.fr) Régionalisation\"} pour
2025 plus de détails.")
2026 (nl "De GNU C-bibliotheek (glibc) werd bijgewerkt naar versie 2.29.
2027 Om gebruik te maken van reeds geïnstalleerde programma's die aan glibc 2.28
2028 gebonden zijn, moet u de regionale informatie van versie 2.28 naast die van
2029 versie 2.29 installeren:
2030
2031 @example
2032 guix install glibc-locales glibc-locales-2.28
2033 @end example
2034
2035 Op Guix System kunt u het @code{locale-libcs}-veld van uw
2036 @code{operating-system}-vorm aanpassen. Voer @code{info \"(guix) Locales\"}
2037 uit voor verdere uitleg.")))
2038 (entry (commit "cdd3bcf03883d129581a79e6d6611b2afd3b277b")
2039 (title (en "New reduced binary seed bootstrap")
2040 (de "Neues Bootstrapping mit kleinerem Seed")
2041 (es "Nueva reducción de la semilla binaria para el lanzamiento inicial")
2042 (fr "Nouvel ensemble de binaires de bootstrap réduit")
2043 (nl "Nieuwe bootstrap met verkleinde binaire kiem"))
2044 (body
2045 (en "The package graph on x86_64 and i686 is now rooted in a
2046 @dfn{reduced set of binary seeds}. The initial set of binaries from which
2047 packages are built now weighs in at approximately 130 MiB, half of what it
2048 used to be. Run @code{info \"(guix) Bootstrapping\"} to learn more, or watch
2049 the talk at @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
2050 (de "Der Paketgraph auf x86_64 und i686 hat jetzt eine @dfn{kleinere
2051 Menge an binären Seeds} als Wurzel. Das heißt, die ursprüngliche Menge an
2052 Binärdateien, aus denen heraus Pakete erstellt werden, machen nun ungefähr
2053 130 MiB aus, halb so viel wie früher. Führen Sie @code{info \"(guix.de)
2054 Bootstrapping\"} aus, um mehr zu erfahren, oder schauen Sie sich den Vortrag
2055 auf @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/} an.")
2056 (fr "Le graphe des paquets sur x86_64 et i686 prend maintenant sa
2057 source dans un @dfn{ensemble réduit de binaires}. L'ensemble initial des
2058 binaires à partir desquels les paquets sont construits pèse maintenant environ
2059 130 Mio, soit la moitié par rapport à l'ensemble précédent. Tu peux lancer
2060 @code{info \"(guix) Bootstrapping\"} pour plus de détails, ou regarder la
2061 présentation sur @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
2062 (es "El grafo de paquetes en x86_64 y i686 ahora tiene su raíz en un
2063 @dfn{conjunto reducido de semillas binarias}. El conjunto inicial de binarios
2064 desde el que se construyen los paquetes ahora tiene un tamaño aproximado de
2065 130_MiB , la mitad de su tamaño anterior. Ejecute @code{info \"(guix.es)
2066 Lanzamiento inicial\"} para aprender más, o puede ver la charla en inglés
2067 en@uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
2068 (nl "Het netwerk van pakketten voor x86_64 en i686 is nu geworteld in
2069 een @dfn{verkleinde verzameling van binaire kiemen}. Die beginverzameling
2070 van binaire bestanden waaruit pakketten gebouwd worden is nu zo'n 130 MiB
2071 groot; nog maar half zo groot als voorheen. Voer @code{info \"(guix)
2072 Bootstrapping\"} uit voor meer details, of bekijk de presentatie op
2073 @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")))
2074
2075 (entry (commit "dcc90d15581189dbc30e201db2b807273d6484f0")
2076 (title (en "New channel news mechanism")
2077 (de "Neuer Mechanismus, um Neuigkeiten über Kanäle anzuzeigen.")
2078 (es "Nuevo mecanismo de noticias de los canales")
2079 (fr "Nouveau mécanisme d'information sur les canaux")
2080 (nl "Nieuw mechanisme voor nieuwsberichten per kanaal"))
2081 (body
2082 (en "You are reading this message through the new channel news
2083 mechanism, congratulations! This mechanism allows channel authors to provide
2084 @dfn{news entries} that their users can view with @command{guix pull --news}.
2085 Run @command{info \"(guix) Invoking guix pull\"} for more info.")
2086 (de "Sie lesen diese Meldung mit Hilfe des neuen Mechanismus, um
2087 Neuigkeiten über Kanäle anzuzeigen — Glückwunsch! Mit diesem
2088 Mechanismus können Kanalautoren Ihren Nutzern @dfn{Einträge zu
2089 Neuigkeiten} mitteilen, die diese sich mit @command{guix pull --news}
2090 anzeigen lassen können. Führen Sie @command{info \"(guix.de) Aufruf
2091 von guix pull\"} aus, um weitere Informationen zu erhalten.")
2092 (es "Está leyendo este mensaje a través del mecanismo de noticias del
2093 canal, ¡enhorabuena! Este mecanismo permite a las autoras de canales
2094 proporcionar @dfn{entradas de noticias} que las usuarias pueden ver con
2095 @command{guix pull --news}. Ejecute @command{info \"(guix.es) Invocación de
2096 guix pull\"} para obtener más información.")
2097 (fr "Ce message t'arrive à travers le nouveau mécanisme d'information
2098 des canaux, bravo ! Ce mécanisme permet aux auteur·rice·s de canaux de
2099 fournir des informations qu'on peut visualiser avec @command{guix pull
2100 --news}. Tape @command{info \"(guix.fr) Invoquer guix pull\"} pour plus de
2101 détails.")
2102 (nl "U leest dit bericht door een nieuw mechanisme om per kanaal
2103 @dfn{nieuwsberichten} te verspreiden. Proficiat! Hiermee kunnen kanaalauteurs
2104 mededelingen uitzenden die hun gebruikers met @command{guix pull --news} kunnen
2105 lezen. Voer @command{info \"(guix) Invoking guix pull\"} uit voor meer
2106 informatie."))))