;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2019 Mathieu Othacehe ;;; Copyright © 2019, 2020, 2022 Ludovic Courtès ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2022 Josselin Poiret ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu installer parted) #:use-module (gnu installer steps) #:use-module (gnu installer utils) #:use-module (gnu installer newt page) #:use-module (gnu system uuid) #:use-module ((gnu build file-systems) #:select (canonicalize-device-spec find-partition-by-label find-partition-by-uuid read-partition-uuid read-luks-partition-uuid)) #:use-module ((gnu build linux-boot) #:select (linux-command-line find-long-option)) #:use-module ((gnu build linux-modules) #:select (missing-modules)) #:use-module ((gnu system linux-initrd) #:select (%base-initrd-modules)) #:use-module (guix build syscalls) #:use-module (guix build utils) #:use-module (guix read-print) #:use-module (guix records) #:use-module (guix utils) #:use-module
;; GNU Guix news, for use by 'guix pull'.
;;
;; Copyright © 2019-2024 Ludovic Courtès <ludo@gnu.org>
;; Copyright © 2019–2021, 2024 Tobias Geerinckx-Rice <me@tobias.gr>
;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;; Copyright © 2019, 2020, 2021, 2023 Julien Lepiller <julien@lepiller.eu>
;; Copyright © 2019–2024 Florian Pelz <pelzflorian@pelzflorian.de>
;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;; Copyright © 2021–2023 Leo Famulari <leo@famulari.name>
;; Copyright © 2021 Zhu Zihao <all_but_last@163.com>
;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
;; Copyright © 2021, 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com>
;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;; Copyright © 2024 Hilton Chain <hako@ultrarare.space>
;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
;; Copyright © 2024 Vivien Kraus <vivien@planete-kraus.eu>
;; Copyright © 2024 Guillaume Le Vaillant <glv@posteo.net>
;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;; Copyright © 2024 Sebastian Dümcke <code@sam-d.com>
;;
;; Copying and distribution of this file, with or without modification, are
;; permitted in any medium without royalty provided the copyright notice and
;; this notice are preserved.

(channel-news
 (version 0)
 (entry (commit "ccf72d5074b0c5ba793e686cbb1d6eaad39824bf")
        (title
         (de "Neues Format @samp{appimage} für den Befehl @command{guix pack}")
         (en "New @samp{AppImage} format for the @command{guix pack} command")
         (fr "Nouveau format @samp{AppImage} pour la commande @command{guix pack}"))
        (body
         (de "@command{guix pack} kann nun AppImage-Dateien erstellen. Das
AppImage-Dateiformat erlaubt es, in einer einzelnen Datei Software zu verteilen. Die
AppImage-Datei lässt sich ohne besondere Benutzerrechte ausführen. Hier ist
ein Beispiel:

@example
guix pack --format=appimage --entry-point=bin/hello hello
@end example

Siehe @command{info \"(guix.de) Aufruf von guix pack\"} für mehr
Informationen.")
         (en "@command{guix pack} can now produce AppImage a single file,
self-contained software archive. AppImage files are easily distributed and can
be run with user privileges.  Here is an example for the @code{hello} package:

@example
guix pack --format=appimage --entry-point=bin/hello hello
@end example

See @command{info \"(guix) Invoking guix pack\"} for more information.")
         (fr "@command{guix pack} peut désormais produire un fichier
AppImage. AppImage est une manière de distribuer les logiciels en un seul
fichier, qui peut être executé avec des droits d’utilisateur. Voici un
exemple pour le paquet @code{hello} :

@example
guix pack --format=appimage --entry-point=bin/hello hello
@end example

Consultez @command{info \"(guix.fr) Invoquer guix pack\"} pour plus
d’informations.")))

 (entry (commit "b93434e656eba4260df82158a96c295000d3ff44")
        (title (en "PostgreSQL service upgrade")
               (de "PostgreSQL-Dienst aktualisiert")
               (fr "Mise à jour du service PostgreSQL"))
        (body
         (en "\
This news entry concerns users of the @code{postgresql-service-type}.

The default PostgreSQL used in @code{postgresql-configuration} has been
deprecated, and will be removed in a few months.  However, the value of the
default @code{postgresql-configuration-postgresql} can't be directly changed
to a newer major version of PostgreSQL, because switching to a major version
currently requires a manual update of the database.

Because of this, the default value of postgresql-configuration-postgresql has
been unset.  Current users of the service will have to set it manually.  If it
was unset, use @code{postgresql-10} and plan an upgrade in the next month to a
supported version of PostgreSQL.  To upgrade, you will need to either dump
your database using your previous version of PostgreSQL and reload it in the
new version or use the @command{pg_upgrade} application.  See
@url{https://www.postgresql.org/docs/current/upgrading.html} for more info.")
         (de "\
Diese Neuigkeit betrifft Nutzer des @code{postgresql-service-type}.

Die in @code{postgresql-configuration} bisher vorgegebene Version von
PostgreSQL gilt als veraltet und wird in ein paar Monaten entfernt werden.
Allerdings können wir den Vorgabewert von
@code{postgresql-configuration-postgresql} nicht einfach für Sie auf eine
neuere große Version ändern, weil bei so einem Wechsel die Datenbank derzeit
manuell aktualisiert werden muss.

Aus diesem Grund wurde der Vorgabewert von
@code{postgresql-configuration-postgresql} von nun an entfernt.  Aktuelle
Nutzer des Dienstes müssen sie selbst setzen.  Wenn kein Wert gesetzt war,
sollten Sie @code{postgresql-10} eintragen und dabei einplanen, dass Sie es
kommenden Monat auf eine unterstützte Version von PostgreSQL aktualisieren
müssen.  Zum Aktualisieren werden Sie entweder mit der vorherigen Version von
PostgreSQL ein Dump Ihrer Datenbank exportieren, das Sie dann in der neuen
Version laden, oder Sie benutzen dafür die Anwendung @command{pg_upgrade}.
Siehe @url{https://www.postgresql.org/docs/current/upgrading.html} für weitere
Informationen.")
         (fr "\
Ce message concerne les utilisateurs du service-type PostgreSQL.

La précédente version par défaut de PostgreSQL utilisée dans
@code{postgresqsl-configuration} est obsolète et sera supprimée dans quelques
mois.  Cependant, la valeur de la configuration par défaut
@code{postgresql-configuration-postgresql} ne peut pas être changée
directement pour une version majeure prise en charge de PostgreSQL, car le
passage à une nouvelle version majeure nécessite actuellement une mise à jour
manuelle de la base de données.

Pour cette raison, la valeur par défaut de
@code{postgresql-configuration-postgresql} a été supprimée et les utilisateurs
actuels du service doivent la configurer manuellement. Si elle n’était pas
définie, utilisez @code{postgresql-10} et prévoyez une mise à jour dans le
mois à venir vers une version plus récente de PostgreSQL.  Pour effectuer la
mise à jour, vous devrez soit exporter votre base de données sous une version
de PostgreSQL puis la réimporter sous une nouvelle version, soit utiliser
l'application @command{pg_upgrade}. Pour plus d'informations, consultez
@url{https://www.postgresql.org/docs/current/upgrading.html}.")))

 (entry (commit "cfc85eb0c67a5cf10a3fbe2531b926cbb8c62489")
        (title
         (en "Linux-libre 6.10 removed due to end of upstream support")
         (de "Linux-libre 6.10 wurde entfernt"))
        (body
         (en "The linux-libre 6.10 kernel series has reached the end of
             its life, and is no longer supported upstream.  For this
             reason, it has been removed from GNU Guix.")
         (de "Die @code{linux-libre} 6.10-Versionsreihe hat ihr
Supportende erreicht und wird nicht mehr unterstützt („end of life“). Daher ist die
Versionsreihe aus GNU Guix entfernt worden.")))

 (entry (commit "5966e0fdc78771c562e0f484a22f381a77908be0")
        (title
         (en "Daemon vulnerability allowing takeover of build users fixed")
         (de "Schwachstelle im Daemon behoben, durch die Übernahme von Erstellungsbenutzern möglich ist"))
        (body
         (en "A vulnerability allowing a local user to execute arbitrary code
as any of the build users has been identified and fixed.  Most notably, this
allows any local user to alter the result of any local build, even if it
happens inside a container.  The only requirements to exploit this
vulnerability are the ability to start a derivation build and the ability to
run arbitrary code with access to the store in the root PID namespace on the
machine that build occurs on.  This largely limits the vulnerability to
multi-user systems.

This vulnerability is caused by the fact that @command{guix-daemon} does not
change ownership and permissions on the outputs of failed builds when it moves
them to the store, and is also caused by there being a window of time between
when it moves outputs of successful builds to the store and when it changes
their ownership and permissions.  Because of this, a build can create a binary
with both setuid and setgid bits set and have it become visible to the outside
world once the build ends.  At that point any process that can access the
store can execute it and gain the build user's privileges.  From there any
process owned by that build user can be manipulated via procfs and signals at
will, allowing the attacker to control the output of its builds.

You are advised to upgrade @command{guix-daemon}.  Run @command{info \"(guix)
Upgrading Guix\"}, for info on how to do that.  Additionally, if there is any
risk that a builder may have already created these setuid binaries (for
example on accident), run @command{guix gc} to remove all failed build
outputs.

See @uref{https://issues.guix.gnu.org/73919} for more information on this
vulnerability.")
         (de "Eine Sicherheitslücke, durch die ein lokaler Benutzer beliebigen
Code als jeder der Erstellungsbenutzer ausführen kann, wurde gefunden und
behoben.  Diese hat zur Folge, dass jeder lokale Benutzer das Ergebnis jeder
lokalen Erstellung verändern kann, selbst wenn sie in einem Container isoliert
stattfindet.  Um die Lücke auszunutzen, wird nur vorausgesetzt, dass er
Ableitungen erstellen lassen kann und beliebigen Code mit Store-Zugriff im
Wurzel-PID-Namensraum auf der Maschine laufen lassen kann, wo die Erstellung
abläuft.  Somit sind vor allem Mehrbenutzersysteme betroffen.

Ursache der Lücke ist, dass @command{guix-daemon} Besitzer und Berechtigungen
der Ausgaben einer fehlgeschlagenen Erstellung nicht ändert, wenn er sie in den
Store verschiebt.  Auch bei erfolgreichen Erstellungen gibt es ein Zeitfenster
nachdem Ausgaben in den Store gelangen und bevor ihr Besitzer und
Berechtigungen angeglichen werden.  So kann eine Erstellung eine Binärdatei
erzeugen, bei der die Bits für setuid und setgid gesetzt sind, die dann für die
Außenwelt sichtbar wird, wenn die Erstellung fertig ist.  Ab dann kann jeder
Prozess mit Zugriff auf den Store diese ausführen und die Berechtigungen des
Erstellungsbenutzers erlangen, so dass jeder Prozess im Besitz des
Erstellungsbenutzers über procfs und Signale beeinflussbar ist und der
Angreifer Kontrolle darüber hat, welche Ausgabe Erstellungen haben.

Wir raten Ihnen, @command{guix-daemon} zu aktualisieren.  Führen Sie
@command{info \"(guix.de) Aktualisieren von Guix\"} aus für Erklärungen, wie
Sie ihn aktualisieren können.  Wenn zudem Gefahr besteht, dass ein
Erstellungsprogramm bereits setuid-gesetzte Binärdateien angelegt hat (etwa
versehentlich), führen Sie @command{guix gc} aus, um alle fehlgeschlagenen
Erstellungsausgaben zu entfernen.

Siehe @uref{https://issues.guix.gnu.org/73919} für weitere Details zu dieser
Sicherheitslücke.")))

 (entry (commit "2fae63df2138b74d30e120364f0f272871595862")
        (title
         (en "Core packages updated")
         (de "Kernpakete aktualisiert")
         (fr "Logiciels fondamentaux mis à jour"))
        (body
         (en "Core packages have been updated, in particular those that
are used to build every other package in the distribution.  Noteworthy
upgrades include:

@itemize
@item @code{glibc} 2.39 (was 2.35);
@item @code{gcc} 11.4.0 as the default compiler (was 11.3.0);
@item @code{binutils} 2.41 (was 2.38);
@item @code{make} 4.4.1 (was 4.3);
@item TeX@tie{}Live 2024.2 (was 20230313; note that due to the new
versioning scheme, @command{guix upgrade} will consider the new packages
as ``older'' than the previous ones so you may need to use
@command{guix install} to upgrade them).
@end itemize

Additional improvements were made to build systems and related packages and
tools:

@itemize
@item
the @code{glibc} package now includes the @code{C.UTF-8} locale,
suitable for use when a UTF-8 locale is necessary regardless of
any language or regional convention;
@item
origins that include patches are now repacked with zstd instead of xz,
which uses less CPU power and memory, both when compressing and when
decompressing;
@item
performance issues with the modular TeX@tie{}Live package set have
been fixed.
@end itemize

If you encounter any problem, please check
@url{https://issues.guix.gnu.org} for existing reports and resolutions;
email @email{bug-guix@@gnu.org} to report new bugs.")
         (de "Pakete, die den Kern der Distribution ausmachen, wurden
aktualisiert, insbesondere solche Pakete, aus denen heraus alle anderen Pakete
der Distribution erstellt werden.  Zu den nennenswerten Neuerungen gehören:

@itemize
@item @code{glibc} 2.39 (war 2.35),
@item @code{gcc} 11.4.0 ist der voreingestellte Compiler (war 11.3.0),
@item @code{binutils} 2.41 (war 2.38),
@item @code{make} 4.4.1 (war 4.3),
@item TeX@tie{}Live 2024.2 (war 20230313; das bedeutet, dass wegen der neuen
Versionsbezeichnungen @command{guix upgrade} die neuen Pakete für „älter“ als
die vorherigen hält und eine Aktualisierung unter Umständen nur zulässt, indem
Sie @command{guix install} benutzen).
@end itemize

Weitere Verbesserungen wurden an Erstellungssystemen und zugehörigen Paketen
und Werkzeugen vorgenommen:

@itemize
@item
Zu dem Paket @code{glibc} gehört jetzt die Locale für @code{C.UTF-8}, die
geeignet ist, wenn eine UTF-8-Locale gebraucht wird, aber Sprache und regionale
Konventionen unwichtig sind.
@item
Paketursprünge mit Patches werden jetzt in Archive mit zstd anstelle von xz
neu gepackt, wodurch weniger Rechenzeit und Speicher beim Komprimieren und
Dekomprimieren nötig sind.
@item
Performance-Probleme mit den modularen Paketsatz von TeX@tie{}Live wurden
behoben.
@end itemize

Wenn Sie Probleme feststellen, schauen Sie bitte auf
@url{https://issues.guix.gnu.org} nach bisherigen Fehlerberichten und Lösungen
und schicken Sie eine E-Mail an @email{bug-guix@@gnu.org}, um neue Fehler zu
melden.")
         (fr "Les logiciels fondamentaux on été mis à jour, en particulier
ceux qui servent à construire tous les autres logiciels de la distribution.
Les mises à jour notables sont :

@itemize
@item @code{glibc} 2.39 (au lieu de 2.35) ;
@item @code{gcc} 11.4.0 comme compilateur par défaut (au lieu de 11.3.0) ;
@item @code{binutils} 2.41 (au lieu de 2.38) ;
@item @code{make} 4.4.1 (au lieu de 4.3) ;
@item TeX@tie{}Live 2024.2 (au lieu de 20230313 ; compte tenu du changement de
numérotation des versions, @command{guix upgrade} va croire que les nouveaux
paquets sont « plus vieux » que les précédents et il faudra donc utiliser
@command{guix install} pour les mettre à jour).
@end itemize

Les systèmes de construction ainsi que les paquets et outils connexes ont été
améliorés :

@itemize
@item
le paquet @code{glibc} inclut dorénavant la locale @code{C.UTF-8} qui convient
chaque fois qu'on a besoin d'une locale UTF-8 indépendemment d'un langage ou
de conventions régionales ;
@item
les origines qui incluent des @i{patches} sont maintenant recompressées avec
zstd au lieu de xz, ce qui demande moins de temps de calcul et de mémoire, à
la fois en compression et en décompression ;
@item
des problèmes de performance avec les paquets TeX@tie{}Live modulaires ont été
résolus.
@end itemize

En cas de difficultés, merci de jeter un œil à
@url{https://issues.guix.gnu.org} pour voir la liste des problèmes qui ont été
remontés et les éventuelles solutions ; envoyer un courrier à
@email{bug-guix@@gnu.org} pour faire remonter de nouveaux bogues.")))

 (entry (commit "fc35b9fa6d6ed3583d4f3fc9214f657022d49678")
        (title
          (en "Linux-libre 6.9 removed due to end of upstream support")
          (de "Linux-libre 6.9 wurde entfernt"))
        (body
          (en "The linux-libre 6.9 kernel series has reached the end of
             its life, and is no longer supported upstream.  For this
             reason, it has been removed from GNU Guix.")
          (de "Die @code{linux-libre} 6.9-Versionsreihe hat ihr
Supportende erreicht und wird nicht mehr unterstützt („end of life“). Daher ist die
Versionsreihe aus GNU Guix entfernt worden.")))

 (entry (commit "4e58dfee6c7456d1e662f66041b8a157efe8710a")
        (title
         (en "More capable @code{privileged-programs} replace @code{setuid-programs}")
         (de "Befähigtere @code{privileged-programs} ersetzen @code{setuid-programs}")
         (nl "Capabelere @code{privileged-programs} vervangen @code{setuid-programs}"))
        (body
         (en "Where the kernel supports it, Guix System can now assign
POSIX@tie{}@dfn{capabilities} to trusted executables.  Capabilities offer a
more granular alternative to the traditional setuid and setgid permissions,
which remain available.

To reflect this, @code{(gnu system setuid)} has been renamed to @code{(gnu
system privilege)}.  @code{privileged-programs} replaces @code{setuid-programs}
as @code{operating-system} field and defaults to
@code{%default-privileged-programs}.  The executables themselves have moved from
@file{/run/setuid-programs} to @file{/run/privileged/bin}.")
         (de "Wo der Kernel dies unterstützt, kann Guix System nun
POSIX-@dfn{Capabilities} an die Anwendungen vergeben, denen besonders vertraut
wird.  Capabilities bieten eine feinmaschigere Alternative zu den klassischen
setuid- und setgid-Berechtigungen, die auch verfügbar bleiben.

Um dies deutlich zu machen, heißt @code{(gnu system setuid)} nun @code{(gnu
system privilege)}.  Das Feld @code{privileged-programs} ersetzt
@code{setuid-programs} in jedem @code{operating-system}-Objekt und sein
Vorgabewert ist @code{%default-privileged-programs}.  Die ausführbaren Dateien
wurden von @file{/run/setuid-programs} nach @file{/run/privileged/bin}
verschoben.")
         (nl "Waar de kernel dit toelaat kan Guix System nu
POSIX@tie{}@dfn{capabilities} toewijzen aan vertrouwde uitvoerbare bestanden.
``Capabilities'' zijn een fijnmaziger alternatief voor de klassieke setuid- en
setgid-rechten, die ook beschikbaar blijven.

Om dit duidelijk te maken heet @code{(gnu system setuid)} nu @code{(gnu system
privilege)}.  @code{privileged-programs} vervangt @code{setuid-programs} als
veld in het @code{operating-system} en heeft @code{%default-privileged-programs}
als standaardwaarde.  De uitvoerbare bestanden verhuizen van
@file{/run/setuid-programs} naar @file{/run/privileged/bin}.")))
 (entry (commit "26638b8e8129aa755586d017677b4cf076bafda6")
        (title
         (en "The containerd service is separated from @code{docker-service-type}")
         (ru "Сервис containerd отделен от @code{docker-service-type}")
         (de "containerd-Dienst wurde vom @code{docker-service-type} getrennt"))
        (body
         (en "containerd service has been decoupled from the
@code{docker-service-type}.  Moving forward, users are required to specify
containerd settings manually for their configurations.  The
@code{containerd-service-type} service need to be added to a system
configuration, otherwise a message about not any service provides
@code{containerd} will be displayed during @code{guix system reconfigure}.

Run @command{info \"(guix) Miscellaneous Services\"} for more info.")
         (ru "Сервис containerd был отделен от @code{docker-service-type}.
Впредь пользователям потребуется указывать параметры containerd вручную для
своих конфигураций.  Сервис @code{containerd-service-type} должен быть
добавлен в конфигурацию системы, в противном случае будет отображено сообщение
о том, что ни один сервис не предоставляет поддержку для @code{containerd} во
время выполнения команды @code{guix system reconfigure}.

Смотрите @command{info \"(guix.ru) Разнообразные службы\"} для получения более
детальных сведений.")
         (de "Es gibt einen eigenen containerd-Dienst losgelöst von
@code{docker-service-type}.  In Zukunft müssen Nutzer dort manuelle
Einstellungen für containerd vornehmen.  Der Dienst
@code{containerd-service-type} muss zur Systemkonfiguration hinzugefügt
werden, sonst wird durch @code{guix system reconfigure} eine Meldung
gezeigt, dass kein Dienst @code{containerd} zur Verfügung stellt.

Siehe @command{info \"(guix.de) Verschiedene Dienste\"} für genauere
Informationen.")))

 (entry (commit "ee7e5e00bf2b9257e67d785b37efddb008c5da37")
        (title
         (en "Plasma updated to version 6.1.2")
         (de "Plasma auf Version 6.1.2 aktualisiert")
         (fr "Plasma passe à la version 6.1.2")
         (zh "Plasma 更新到 6.1.2 版本"))
        (body
         (en "Plasma updated to 6.1.2, KDE Frameworks updated to 6.3.0, and
other KDE package updates.

With Plasma updates, SDDM has QT6 enabled by default. If you want to still use a
Qt5 theme, you need to set the field @code{sddm} in @code{sddm-configuration} to
@code{sddm-qt5}.")
         (de "Plasma wurde auf 6.1.2 aktualisiert, KDE Frameworks wurde
auf 6.3.0 aktualisiert und andere KDE-Pakete wurden aktualisiert.

Mit der Aktualisierung von Plasma ist in SDDM die Version qt6
vorgegeben.  Wenn Sie ein Qt5-Thema benutzen möchten, müssen Sie
in der @code{sddm-configuration} das Feld @code{sddm} auf
@code{sddm-qt5} setzen.")
         (fr "Plasma passe à la version 6.1.2, KDE Frameworks à la 6.3.0, et
  d’autres logiciels KDE sont mis à jour.

  Avec ces mises à jour de Plasma, sddm utilise Qt 6 par défaut.  Pour
  utiliser un thème Qt 5, il faut mettre le champ @code{sddm} de
  @code{sddm-configuration} à @code{sddm-qt5}.")
         (zh "Plasma 更新到 6.1.2, KDE Frameworks 更新到 6.3.0, 及其他 KDE 软件包更新。

随着 Plasma 更新, SDDM 默认启用 Qt6, 如果您还想使用 Qt5 主题, 需要将 @code{sddm-configuration} 中的
@code{sddm} 字段设置为 @code{sddm-qt5}.")))

 (entry (commit "a46908620fac09bd8ccd0f587a27e86035d3b1d7")
        (title
         (en "@code{stumpwm:lib} removed")
         (de "@code{stumpwm:lib} wurde entfernt")
         (fr "@code{stumpwm:lib} supprimé"))
        (body
         (en "The @code{lib} output of the @code{stumpwm} package has been
removed.  If you have some personal package definitions depending on
@code{stumpwm:lib}, they should be updated to depend on @code{stumpwm}
instead.")
         (de "Die Ausgabe @code{lib} des Pakets @code{stumpwm} gibt es nicht
mehr.  Wenn Sie eigene Paketdefinitionen haben, die von @code{stumpwm:lib}
abhängen, müssen sie angepasst werden, um stattdessen von @code{stumpwm}
abzuhängen.")
         (fr "La sortie @code{lib} du paquet @code{stumpwm} a été supprimée.
Si vous avez des définitions de paquets personnels dépendantes de
@code{stumpwm:lib}, elle doivent être modifiées pour dépendre de
@code{stumpwm} à la place.")))

 (entry (commit "6fad0fd1c32db2cb25447b694f08d5c7836536ad")
        (title
          (en "Linux-libre 6.8 removed due to end of upstream support")
          (de "Linux-libre 6.8 wurde entfernt"))
        (body
          (en "The linux-libre 6.8 kernel series has reached the end of
             its life, and is no longer supported upstream.  For this
             reason, it has been removed from GNU Guix.")
          (de "Die @code{linux-libre} 6.8-Versionsreihe hat ihr
Supportende erreicht und wird nicht mehr unterstützt („end of life“). Daher ist die
Versionsreihe aus GNU Guix entfernt worden.")))

 (entry (commit "8d1d98a3aa3448b9d983e4bd64243a938b96e8ab")
        (title
         (en "@command{guix git authenticate} usage simplified")
         (de "@command{guix git authenticate} ist leichter nutzbar")
         (fr "@command{guix git authenticate} simplifiée"))
        (body
         (en "Usage of the @command{guix git authenticate} command has been
simplified.  The command is useful to channel authors and to developers
willing to validate the provenance of their code.

On your first use, @command{guix git authenticate} will now record the commit
and signer (the @dfn{introduction}) in the @file{.git/config} file of your
repository so that you don't have to pass them on the command line in
subsequent runs.  It will also install pre-push and post-merge hooks,
unless preexisting hooks are found.

Run @command{info \"(guix) Invoking guix authenticate\"} for more info.")
         (de "Der Befehl @command{guix git authenticate} kann jetzt einfacher
benutzt werden.  Mit dem Befehl können Kanalautoren und Entwickler die
Provenienz ihres Codes überprüfen.

Beim ersten Gebrauch speichert @command{guix git authenticate} Commit und
Unterzeichner (wie in der @dfn{Kanaleinführung}) in der Datei
@file{.git/config} Ihres Repositorys, so dass Sie sie bei späteren
Ausführungen nicht mehr auf der Befehlszeile angeben müssen.  Auch werden
Git-Hooks für pre-push und post-merge installiert, wenn es bisher keine
Hooks dieser Art gibt.

Führen Sie @command{info \"(guix.de) Aufruf von guix git authenticate\"}
aus, wenn Sie mehr wissen wollen.")
         (fr "L'utilisation de la commande @command{guix git authenticate} a
été simplifiée.  Cette commande est utile aux auteur·rices de canaux et aux
développeur·euses souhaitant pouvoir valider l'origine de leur code.

À la première utilisation, @command{guix git authenticate} enregistre
désormais le commit et signataire (l'@dfn{introduction}) dans le fichier
@file{.git/config} du dépôt, ce qui permet de ne pas avoir à les spécifier sur
la ligne de commande les fois suivantes.  La commande installe aussi des
crochets « pre-push » et « post-merge », sauf si des crochets préexistants
sont trouvés.

Lancer @command{info \"(guix.fr) Invoquer guix git authenticate\"} pour en
savoir plus.")))

 (entry (commit "238a74c7dfd1469af064b445abcee38fd7408d5b")
        (title
          (en "Linux-libre 6.7 removed due to end of upstream support")
          (de "Linux-libre 6.7 wurde entfernt"))
        (body
          (en "The linux-libre 6.7 kernel series has reached the end of
             its life, and is no longer supported upstream.  For this
             reason, it has been removed from GNU Guix.")
          (de "Die @code{linux-libre} 6.7-Versionsreihe hat ihr
Supportende erreicht und wird nicht mehr unterstützt („end of life“). Daher ist die
Versionsreihe aus GNU Guix entfernt worden.")))

 (entry (commit "67a3a83170c038d2eb084d3f53a7ea7b033aea74")
        (title
         (en "@code{nss-certs} is now included in @code{%base-packages}")
         (de "@code{nss-certs} ist jetzt Teil von @code{%base-packages}")
         (fr "@code{nss-certs} est maintenant inclus dans @code{%base-packages}"))
        (body
         (en "The @code{nss-certs} package is now included in the
@code{%base-packages}, the default value for the @code{packages} field of the
@code{operating-system} record.

If you are a Guix System user, in your operating system configuration file,
please no longer add @code{(specification->package \"nss-certs\")} to
@code{%base-packages}.")
         (de "Das Paket @code{nss-certs} ist jetzt in @code{%base-packages}
enthalten, dem Vorgabewert des @code{packages}-Felds im
@code{operating-system}-Verbundstyp.

Wenn Sie ein Nutzer von Guix System sind, fügen Sie bitte in Ihrer
Betriebssystemkonfigurationsdatei nicht mehr
@code{(specification->package \"nss-certs\")} zu @code{%base-packages} hinzu.")
         (fr "Le paquet @code{nss-certs} est maintenant inclus dans
@code{%base-packages}, la valeur par défaut du champ @code{packages} de
l'enregistrement @code{operating-system}.

Si vous êtes une utilisatrice ou un utilisateur du système Guix, dans le
fichier de configuration du système d'exploitation, veuillez ne plus ajouter
@code{(specification->package \"nss-certs\")} à @code{%base-packages}.")))

 (entry (commit "b4aed68e960116b2b60f68ea1468d7a526149823")
        (title
         (en "Linux-libre LTS kernel updated to 6.6")
         (de "Linux-libre LTS Kernel wird auf 6.6 aktualisiert"))
        (body
         (en "The default version of the @code{linux-libre-lts} kernel has been
             updated to the 6.6 longterm release series.")
         (de "Der standardmäßig verwendete @code{linux-libre-lts}-Kernel basiert
              jetzt auf der 6.6-Versionsreihe (Langzeitunterstützung).")))

 (entry (commit "523f3def65ab061a87f4fc9e6f9008e6a78fafb5")
        (title
         (en "GNOME updated to version 44 with a more modular desktop service")
         (de "GNOME auf Version 44 aktualisiert mit modularem Dienst")
         (fr "Mise à jour de GNOME en version 44 avec un service plus modulaire")
         (zh "GNOME 44 更新,帶來更加模塊化的桌面服務"))
        (body
         (en "The @code{gnome-desktop-service-type} now differentiates between
shell, utilities, and extra-packages among other fields to bring more structure
in its configuration.

With the update to GNOME 44, some shell extensions have been deprecated and
others removed.  If any @code{gnome-shell-extension-@dots{}} package causes
an error while running your usual update routine, make sure to remove it from
your profile.")
         (de "Der Dienst @code{gnome-desktop-service-type} unterscheidet nun
unter anderem zwischen den Feldern shell, utilities und extra-packages, und
bringt so etwas mehr Struktur in die Konfiguration.

Mit dem Update zu GNOME 44 wurden einige Erweiterungen als obsolet deklariert
und andere entfernt.  Falls ein Paket, dessen Name mit
@code{gnome-shell-extension-} beginnt, zu einem Fehler während Ihrer
Update-Routine führt, entfernen Sie es von Ihrem Profil.")
         (fr "Le service @code{gnome-desktop-service-type} sépare
maintenant les champs @code{shell}, @code{utilities} et @code{extra-
packages} (entre autres) pour donner plus de structure à sa
configuration.

Pendant la mise à jour vers GNOME 44, certaines extensions du shell ont
été dépréciées et d’autres supprimées. Si un paquet nommé
@code{gnome-shell-extension-@dots{}} émet une erreur quand vous
effectuez la mise à jour, vous devriez l’enlever de votre profil.")
         (zh "@code{gnome-desktop-service-type} 設置新增 @code{shell}、
@code{utilities}、@code{extra-packages} 等字段,使得 GNOME 桌面配置更加模塊化。

隨着 GNOME 44 更新,一些 GNOME Shell 拓展已被棄用或刪除。更新中若有關於
@code{gnome-shell-extension-@dots{}} 軟件包的錯誤,請將對應軟件包從 profile 中
刪除。")))

 (entry (commit "06d01c610e3bee61e38a177aecda5982d5b338ae")
        (title
         (en "The GNOME Display Manager uses Wayland by default")
         (de "GNOME Display Manager nutzt nun Wayland als Vorgabe")
         (fr "GDM utilise Wayland par défaut")
         (zh "GNOME 顯示管理器(GDM)服務默認啓用 Wayland 支持"))
        (body
         (en "The @code{gdm-service-type} is configured to use Wayland instead
of Xorg by default.")
         (de "Der Dienst @code{gdm-service-type} verwendet nun Wayland
als Vorgabe anstelle von Xorg.")
         (fr "Le service @code{gdm-service-type} est configuré par défaut pour
utiliser Wayland au lieu de Xorg.")
         (zh "@code{gdm-service-type} 預設已由 Xorg 改爲 Wayland。")))

 (entry (commit "498db4de1f09414adf68a3a383f0178434035179")
        (title
         (en "The udev service also manages hardware configuration files")
         (de "Udev verwaltet nun auch Hardwarekonfigurationen")
         (fr "Le service udev gère maintenant les configurations de matériel")
         (zh "udev 服務現可管理硬件配置文件"))
        (body
         (en "The @code{udev-service-type} can now be configured and extended
with eudev hardware configuration files (named @dfn{hwdb} by the eudev
project).")
         (de "Der Udev-Dienst kann nun mit Hardwaredatenbanken (auch als
@dfn{hwdb} bekannt) konfiguriert und erweitert werden.")
         (fr "Le type de service @code{udev-service-type} peut maintenant être
configuré et étendu avec des fichiers de configuration de matériel (appelés
@dfn{hwdb} par le projet eudev).")
         (zh "現可使用 eudev 的硬件配置文件(@dfn{hwdb})設置及拓展
@code{udev-service-type}。")))

 (entry (commit "ff1251de0bc327ec478fc66a562430fbf35aef42")
        (title
         (en "Daemon vulnerability allowing store corruption has been fixed")
         (de "Schwachstelle im Daemon behoben, durch die der Store verfälscht werden konnte")
         (fr "Une faille du démon permettant de corrompre le dépôt a été corrigée"))
        (body
         (en "A vulnerability in the build daemon, @command{guix-daemon}, was
identified and fixed.  The vulnerability would allow unprivileged users to
corrupt the result of @dfn{fixed-output derivations} such as source code
tarballs and Git checkouts, which in turn could lead to local privilege
escalation.

This bug is fixed and Guix System users are advised to upgrade their system,
with a command along the lines of:

@example
sudo guix system reconfigure /run/current-system/configuration.scm
sudo herd restart guix-daemon
@end example

If you are using Guix on another distro, run @command{info \"(guix) Upgrading
Guix\"} or visit
@uref{https://guix.gnu.org/manual/devel/en/html_node/Upgrading-Guix.html} to
learn how to upgrade Guix.

See @uref{https://issues.guix.gnu.org/69728} for more information on this
issue.")
         (de "Eine Sicherheitslücke im Erstellungs-Daemon,
@command{guix-daemon}, wurde gefunden und geschlossen.  Sie hatte es
unprivilegierten Nutzern ermöglicht, das Ergebnis einer @dfn{Ableitung mit
fester Ausgabe}, wie Quellcode-Tarballs und Git-Checkouts, zu manipulieren.
So war eine lokale Rechteausweitung möglich.

Der Fehler ist behoben und wir raten Nutzern von Guix System, ihr System zu
aktualisieren mit einem Befehl wie:

@example
sudo guix system reconfigure /run/current-system/configuration.scm
sudo herd restart guix-daemon
@end example

Wenn Sie Guix auf einer anderen Distribution verwenden, erfahren Sie mit dem
Befehl @command{info \"(guix.de) Aktualisieren von Guix\"} oder auf
@uref{https://guix.gnu.org/manual/devel/de/html_node/Aktualisieren-von-Guix.html},
wie Sie Guix aktualisieren.

Siehe @uref{https://issues.guix.gnu.org/69728} für mehr Informationen zu dem
Fehler.")
         (fr "Une faille de sécurité du démon de compilation,
@command{guix-daemon}, a été identifiée et corrigée.  La faille permettait à
un·e utilisateur·rice sans privilège de corrompre le résultat d'une
@dfn{dérivation à sortie fixe} telle qu'une archive ou un @i{checkout} Git, ce
qui peut ensuite permettre une élévation locale de privilèges.

Ce problème est corrigé et les utilisateur·rices de Guix System sont invité·es
à mettre à jour leur système avec une commande telle que :

@example
sudo guix system reconfigure /run/current-system/configuration.scm
sudo herd restart guix-daemon
@end example

Pour voir comment mettre à jour Guix sur une autre distribution, lancer
@command{info \"(guix.fr) Mettre à niveau Guix\"} ou visiter
@uref{https://guix.gnu.org/manual/devel/fr/html_node/Mettre-a-niveau-Guix.html}.

Voir @uref{https://issues.guix.gnu.org/69728} pour plus d'informations sur
cette anomalie.")))

 (entry (commit "10a193596368443f441077525ebbddf787d91e4b")
        (title
          (en "Linux-libre 4.14 removed due to end of upstream support")
          (de "Linux-libre 4.14 wurde entfernt"))
        (body
          (en "The linux-libre 4.14 kernel series has reached the end of
             its life, and is no longer supported upstream.  For this
             reason, it has been removed from GNU Guix.")
          (de "Die @code{linux-libre} 4.14-Versionsreihe hat ihr
Supportende erreicht und wird nicht mehr unterstützt („end of life“). Daher ist die
Versionsreihe aus GNU Guix entfernt worden.")))

 (entry (commit "519e1e3eb88ec532fc83ebb742d9919269b57c87")
        (title
         (de "Neue Option @samp{--max-layers=N} für den Befehl @command{guix pack}")
         (en "New @samp{--max-layers=N} option for the @command{guix pack} command")
         (ru "Новая опция @samp{--max-layers=N} для @command{guix pack} команды"))
        (body
         (de "Sie können jetzt auch mehrschichtige Docker-Abbilder mit dem Befehl
@command{guix pack --format=docker --max-layers=N} erzeugen. Damit bekommen Sie ein
Docker-Abbild, bei dem Store-Pfade auf getrennten Schichten („Layer“)
untergebracht sind, die sich mehrere Abbilder teilen können.  Das Abbild wird
im Store als gzip-komprimierter Tarball erzeugt.  Hier ist ein einfaches
Beispiel, wo ein mehrschichtiges Docker-Abbild für das Paket @code{hello}
angelegt wird:

@example
guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello
@end example

@command{guix system image} kann jetzt geschichtete Docker-Abbilder erzeugen,
indem Sie @code{--max-layers=N} übergeben.

Siehe @command{info \"(guix.de) Aufruf von guix pack\"} und
@command{info \"(guix.de) Systemabbilder\"} für weitere Informationen.")
         (en "Docker layered images can now be produced via the @command{guix
pack --format=docker --max-layers=N} command, providing a Docker image with
many of the store paths being on their own layer to improve sharing between
images.  The image is realized into the GNU store as a gzipped tarball.  Here
is a simple example that generates a layered Docker image for the @code{hello}
package:

@example
guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello
@end example

The @command{guix system image} can now produce layered Docker image by passing
@code{--max-layers=N}.

See @command{info \"(guix) Invoking guix pack\"} and
@command{info \"(guix) System Images\"} for more information.")
         (ru "Появилась команда создания многослойных Docker образов с помощью
@command{guix pack --format=docker --max-layers=N}, которая соберет Docker образ с
путями в store расположенными на отдельных слоях, ускоряя таким образом
передачу образов.  Образ будет создан в GNU store в качестве gzipped tarball.

Пример создания Docker layered образ с @code{hello} пакетом:
@example
guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello
@end example

@command{guix system image} теперь может создавать layered Docker образ путем
указания опции @option{--max-layers=N}.

Смотрите @command{info \"(guix) Invoking guix pack\"} и
@command{info \"(guix) System Images\"} для получения более детальных
сведений.")))

 (entry (commit "953c65ffdd43c02c934518fb7a1c68542584b223")
        (title
         (en "Declarative offloading on Guix System and childhurds")
         (de "Auslagern kann deklariert werden auf Guix System und Childhurds")
         (fr "Déclaration du déchargement dans Guix System et childhurds"))
        (body
         (en "When configuring Guix System, it is now possible to declare
build machines to offload to directly from the @code{operating-system}
declaration by specifying the @code{build-machines} field of
@code{guix-configuration}.  When you do this, @command{guix system} generates
a @file{/etc/guix/machines.scm} file by concatenating the @code{(build-machine
@dots{})} expressions you specified.

This mechanism is used by @code{hurd-vm-service-type}, also known as
``childhurd'', to create virtual machines running the GNU/Hurd operating
system one can offload to, without additional configuration steps.

Run @command{info \"(guix) Daemon Offload Setup\"} for more info on
offloading; run @command{info \"(guix) Virtualization Services\"} for info on
@code{hurd-vm-service-type}.")
         (de "In der Betriebssystemkonfiguration von Guix System können jetzt
auch die Erstellungsmaschinen deklariert werden, an die Erstellungen ausgelagert
werden.  Diese geben Sie im Feld @code{build-machines} einer
@code{guix-configuration} an.  In diesem Fall wird @command{guix system} eine
Datei @file{/etc/guix/machines.scm} anlegen, die der Aneinanderreihung der
angegebenen @code{(build-machine @dots{})}-Ausdrücke entspricht.

Der Mechanismus wird für @code{hurd-vm-service-type} eingesetzt, auch bekannt
als „Childhurd“, um virtuelle Maschinen anzulegen, auf denen das
GNU/Hurd-Betriebssystem läuft und auf die man auslagern kann, ohne weitere
Einstellungen vorzunehmen.

Führen Sie @command{info \"(guix.de) Auslagern des Daemons einrichten\"} aus, um
mehr Informationen über das Auslagern zu bekommen; führen Sie
@command{info \"(guix.de) Virtualisierungsdienste\"} aus für Informationen zu
@code{hurd-vm-service-type}.")
         (fr "Dans sa configuration Guix System, il est désormais possible de
déclarer les machines de construction vers lesquelles se décharger directement
dans la déclaration @code{operating-system} en spécifiant le champ
@code{build-machines} de @code{guix-configuration}.  Quand on fait cela,
@command{guix system} produit un fichier @file{/etc/guix/machines.scm} en
concaténant les expressions @code{(build-machine @dots{})} fournies.

Ce mécanisme est utilisé par @code{hurd-vm-service-type}, également appelé
« childhurd », pour créer des machines virtuelles faisant tourner le système
d'exploitation GNU/Hurd vers lesquelles se décharger, sans étape
supplémentaire de configuration.

Lancer @command{info \"(guix.fr) Réglages du déchargement du démon\"} pour
plus d'informations sur le délestage ; lancer @command{info \"(guix.fr)
Services de virtualisation\"} pour en apprendre sur
@code{hurd-vm-service-type}.")))

 (entry (commit "db775e7367e8deffb513aad94f4afb875d796d0b")
        (title
          (en "Linux-libre 6.3 removed due to end of upstream support")
          (de "Linux-libre 6.3 wurde entfernt"))
        (body
          (en "The linux-libre 6.3 kernel series has reached the end of
             its life, and is no longer supported upstream.  For this
             reason, it has been removed from GNU Guix.")
          (de "Vom Kernel @code{linux-libre} wird die 6.3-Versionsreihe keine
Unterstützung von dessen Anbieter mehr erfahren („end of life“).  Daher ist es
aus GNU Guix entfernt worden.")))

 (entry (commit "bff1f2d4d07e934ea296f9c724b5337996a27c44")
        (title
         (en "Linux-libre kernel updated to 6.4")
         (de "Linux-libre-Kernel wird auf 6.4 aktualisiert")
         (fr "Le noyau linux-libre est mis à jour vers la 6.4")
         (pt "Kernel linux-libre atualizado para 6.4"))
        (body
         (en "The default version of the linux-libre kernel has been updated to
              the 6.4 release series.")
         (de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
              jetzt auf der 6.4-Versionsreihe.")
         (fr "La version par défaut du noyau linux-libre est mise à jour
              vers la série des 6.4.")
         (pt "A versão padrão do kernel linux-libre foi atualizada para a
              série do kernel 6.4.")))

 (entry (commit "1b7aabbc79969a89141aadd3d41d7a5329a3462e")
        (title
         (en "New @command{guix locate} command")
         (de "Neuer Befehl @command{guix locate}")
         (fr "Nouvelle commande @command{guix locate}"))
        (body
         (en "The new @command{guix locate} command lets you search for
packages containing a given file---at long last!  For instance, to find which
package(s) provide a file named @file{ls}, run:

@example
guix locate ls
@end example

Currently the command relies on purely local information.  It is thus unable
to find packages that have not reached your store.  This limitation will be
lifted in a future revision.

Run @command{info \"(guix) Invoking guix locate\"} for more info.")
         (de "Mit dem neuen Befehl @command{guix locate} können Sie nach
Paketen suchen, die eine angegebene Datei enthalten — endlich ist es
soweit!  Um zum Beispiel das Paket bzw.@: die Pakete zu finden, die eine
Datei namens @file{ls} bereitstellen, führen Sie aus:

@example
guix locate ls
@end example

Derzeit benutzt der Befehl ausschließlich lokal vorliegende
Informationen.  Daher können Sie damit nur Pakete finden, die sich in
Ihrem Store-Verzeichnis befinden.  Diese Einschränkung werden wir in
einer zukünftigen Version aufheben.

Führen Sie @command{info \"(guix) Invoking guix locate\"} aus, um mehr zu
erfahren.")
         (fr "La nouvelle commande @command{guix locate} permet de chercher le
ou les paquets contenant un fichier donné---enfin !  Par exemple, pour trouver
quel paquet fournit un fichier nommé @file{ls}, on lance :

@example
guix locate ls
@end example

Pour le moment la commande se base uniquement sur des informations locales.
Elle ne peut donc pas trouver des paquets absents de votre dépôt.  Cette limitation
sera levée dans une prochaine version.

Lancer @command{info \"(guix) Invoking guix locate\"} pour plus d'informations.")))

 (entry (commit "ba5da5125a81307500982517e2f458d57b024668")
        (title
         (en "New @code{arguments} rule for @command{guix style}")
         (de "Neue Stilregel @code{arguments} für @command{guix style}")
         (fr "Nouvelle règle @code{arguments} pour @command{guix style}"))
        (body
         (en "The @command{guix style} command has a new @dfn{styling rule}
for package definitions.  Package writers may now run the following command:

@example
guix style -L /path/to/channel -S arguments @var{package}
@end example

This command rewrites the @code{arguments} field of @var{package} so that it
uses G-expressions instead of classical quasiquotation.

Run @command{info \"(guix) Invoking guix style\"} for more info.")
         (de "Der Befehl @command{guix style} verfügt über eine neue @dfn{Stilregel}
für Paketdefinitionen.  Paketautoren können jetzt folgenden Befehl benutzen:

@example
guix style -L /pfad/zum/kanal -S arguments @var{Paket}
@end example

Dadurch wird das Feld @code{arguments} in @var{Paket} so umgeschrieben, dass
G-Ausdrücke (gexps) anstelle von klassischer Quasiquotierung verwendet
werden.

Führen Sie @command{info \"(guix.de) Aufruf von guix style\"} aus, um
mehr Informationen zu erhalten.")
         (fr "La commande @command{guix style} a une nouvelle @dfn{règle de
style} pour les définitions de paquets.  Les auteurices de paquets peuvent
maintenant lancer la commande suivante :

@example
guix style -L /chemin/vers/canal -S arguments @var{paquet}
@end example

Cette commande réécrit le champ @code{arguments} de @var{paquet} pour qu'il
utilise des G-expressions plutôt que des quasicitations classiques.

Lancer @command{info \"(guix.fr) Invoquer guix style\"} pour plus
d'informations.")))

 (entry (commit "ae11fcb84ac478dfa56d322ef08890645183a087")
        (title
         (en "New @option{--with-configure-flag} transformation option")
         (de "Neue Paketumwandlungsoption @option{--with-configure-flag}")
         (fr "Nouvelle option de transformation @option{--with-configure-flag}"))
        (body
         (en "The new @option{--with-configure-flag} package transformation
option lets you pass an additional configure flag to the build system of a
package.  For instance, here is how you would pass a flag to @command{cmake},
the build system of the @code{lapack} package:

@example
guix build lapack \\
  --with-configure-flag=lapack=-DBUILD_SHARED_LIBS=OFF
@end example

Run @command{info \"(guix) Package Transformation Options\"} for more info.")
         (de "Die neue Paketumwandlungsoption @option{--with-configure-flag}
macht es möglich, dem Erstellungssystem eines Pakets eine zusätzliche
Befehlszeilenoption für configure mitzugeben.  Zum Beispiel können Sie dem
@command{cmake}-Erstellungssystem des @code{lapack}-Pakets eine Option mitgeben:

@example
guix build lapack \\
  --with-configure-flag=lapack=-DBUILD_SHARED_LIBS=OFF
@end example

Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
         (fr "La nouvelle option de transformation de paquets
@option{--with-configure-flag} permet de passer un drapeau supplémentaire au
système de construction d'un paquet.  Par exemple, voici comment on passerait
un drapeau à @command{cmake}, le système de construction du logiciel
@code{lapack} :

@example
guix build lapack \\
  --with-configure-flag=lapack=-DBUILD_SHARED_LIBS=OFF
@end example

Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))

 (entry (commit "c919bfefd98bf2e29549539b4e28e6dc2a8a6f32")
        (title
         (en "Core packages updated")
         (de "Kern-Pakete aktualisiert")
         (fr "Mise à jour des logiciels importants"))
        (body
         (en "Core packages have been updated, following months of hard work
by contributors.  Noteworthy package upgrades include:

@itemize
@item glibc 2.35;
@item Python 3.10;
@item Perl 5.36;
@item Mesa 22;
@item GCC 11 is now used as the default compiler.
@end itemize

A major highlight is the introduction of the so-called @dfn{full-source
bootstrap}: packages are all built starting from a 500-byte program called
stage0, which is then used to build a higher-level interpreter, a basic Scheme
interpreter and C compiler (GNU Mes), and so on, until @acronym{GCC, the GNU
Compiler Collection} is finally built.  This is a premiere and a huge step
forward in terms of transparency of auditability.")
         (de "Die Pakete, die den Kern der Distribution ausmachen, haben eine
Aktualisierung bekommen.  Dies ist das Ergebnis monatelanger harter Arbeit
unserer Mitwirkenden.  Zu den wichtigen Paketaktualisierungen gehören:

@itemize
@item glibc 2.35,
@item Python 3.10,
@item Perl 5.36,
@item Mesa 22,
@item GCC 11 wird jetzt standardmäßig als Compiler benutzt.
@end itemize

Eine große Neuigkeit ist, dass Guix jetzt auf „Bootstrapping aus dem Quellcode
allein“ basiert: Grundlage der Pakete ist ein 500 Byte großes Programm namens
stage0, womit ein weiter abstrahierter Interpretierer kompiliert wird, dann ein
grundlegender Scheme-Interpretierer und C-Compiler (GNU Mes), und so geht es
weiter, bis endlich @acronym{GCC, die GNU Compiler Collection} erstellt wird. Es
ist eine Premiere und ein großer Schritt nach vorne, was Transparenz und
Auditierbarkeit angeht.")
         (fr "Les logiciels de base ont été mis à jour, après des mois de dur
labeur par les contributeur·rices du projet.  Parmi les mises à jour notables,
il y a :

@itemize
@item glibc 2.35 ;
@item Python 3.10 ;
@item Perl 5.36 ;
@item Mesa 22 ;
@item GCC 11 est dorénavant le compilateur par défaut.
@end itemize

Une autre nouveauté importante est l'introduction de @dfn{l'amorçage intégral
depuis le source} (@i{full-source bootstrap} en anglais) : les logiciels sont
compilés en partant d'un programme de 500 octets appelé stage0, à partir
duquel on compile un interprète de plus haut niveau, un interprète Scheme et
un compilateur C de base (GNU Mes), et ainsi de suite, jusqu'à ce que
@acronym{GCC, the GNU Compiler Collection} soit enfin compilé.  C'est une
première et un grand pas en avant en termes de transparence et
d'auditabilité.")))

 (entry (commit "21564fada141bfba25d471518b293b6004244c3a")
        (title
         (en "Linux-libre LTS kernel updated to 6.1")
         (de "Linux-libre LTS Kernel wird auf 6.1 aktualisiert"))
        (body
         (en "The default version of the @code{linux-libre-lts} kernel has been
             updated to the 6.1 longterm release series.")
         (de "Der standardmäßig verwendete @code{linux-libre-lts}-Kernel basiert
              jetzt auf der 6.1-Versionsreihe (Langzeitunterstützung).")))

 (entry (commit "57db09aae73e3713a10c5253758d84e1046f80dc")
        (title
         (en "Using Guix within @command{guix shell --container}")
         (de "Guix innerhalb @command{guix shell --container} nutzen")
         (fr "Utilisation de Guix dans @command{guix shell --container}"))
        (body
         (en "The @option{--container} (or @option{-C}) option lets you spawn
a container---an isolated software environment.  In some cases, it is useful
to use Guix from within the container, something that is normally not
possible.

The new @option{--nesting} (or @option{-W}) option lets you do exactly that: a
container created with that option will let you use @command{guix} commands,
including @command{guix shell -C}, @emph{inside} of it.

The example below shows how to evaluate a @file{guix.scm} file to build a
package from within an isolated container, which is useful if @file{guix.scm}
is untrusted:

@example
guix shell -CW -- guix build -f guix.scm
@end example

Run @command{info \"(guix) Invoking guix shell\"} for more information.")
         (de "Mit der Befehlszeilenoption @option{--container} (oder
@option{-C}) können Sie Container anlegen, also isolierte
Software-Umgebungen.  Allerdings will man manchmal Guix innerhalb eines
Containers nutzen, was unmöglich ist, wenn Sie es normal aufrufen.

Die neue Befehlszeilenoption @option{--nesting} (oder @option{-W}) ergänzt
genau das: In einem damit angelegten Container lassen sich
@command{guix}-Befehle, einschließlich @command{guix shell -C}, @emph{im
Container} benutzen.

Folgendes Beispiel zeigt, wie Sie eine Datei @file{guix.scm} auswerten lassen,
um ein Paket aus dem isolierten Container heraus erstellen zu lassen. Das
können Sie gebrauchen, wenn Sie @file{guix.scm} @emph{nicht} vertrauen:

@example
guix shell -CW -- guix build -f guix.scm
@end example

Führen Sie @command{info \"(guix.de) Aufruf von guix shell\"} aus, um mehr
zu erfahren.")
         (fr "L'option @option{--container} (ou @option{-C}) permet de
démarrer un conteneur---un environnement logiciel isolé.  Dans certains cas,
il peut être utile d'utiliser Guix à l'intérieur du conteneur, ce qui n'est
normalement pas possible.

La nouvelle option @option{--nesting} (ou @option{-W}) résoud ce problème : un
conteneur créé avec cette option permet d'utiliser des commandes
@command{guix} à l'intérieur, y compris @command{guix shell -C}.

L'exemple ci-dessous montre comment évaluer un fichier @file{guix.scm} pour
construire un paquet depuis un conteneur isolé, ce qui est utile si
@file{guix.scm} n'est pas de confiance :

@example
guix shell -CW -- guix build -f guix.scm
@end example

Lancer @command{info \"(guix.fr) Invoquer guix shell\"} pour plus
d'informations.")))

 (entry (commit "0e18c5e5bcb9204c278cfc75493d3b02b746d5c3")
        (title
         (en "Linux-libre kernel updated to 6.2")
         (de "Linux-libre-Kernel wird auf 6.2 aktualisiert")
         (fr "Le noyau linux-libre est mis à jour vers la 6.2")
         (pt "Kernel linux-libre atualizado para 6.2"))
        (body
         (en "The default version of the linux-libre kernel has been updated to
              the 6.2 release series.")
         (de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
              jetzt auf der 6.2-Versionsreihe.")
         (fr "La version par défaut du noyau linux-libre est mise à jour
              vers la série des 6.2.")
         (pt "A versão padrão do kernel linux-libre foi atualizada para a
              série do kernel 6.2.")))

 (entry (commit "598f4c509bbfec2b983a8ee246cce0a0fe45ec7f")
        (title
         (de "Neues Format @samp{rpm} für den Befehl @command{guix pack}")
         (en "New @samp{rpm} format for the @command{guix pack} command")
         (fr "Nouveau format @samp{rpm} pour la commande @command{guix pack}"))
        (body
         (de "Sie können jetzt auch RPM-Archive (mit der Dateinamenserweiterung
.rpm) erzeugen mit dem Befehl @command{guix pack --format=rpm}.  Damit
haben Sie einen alternativen Distributionsweg für mit Guix erstellte
Software.  Hier sehen Sie ein einfaches Beispiel, wie Sie ein
RPM-Archiv für das Paket @code{hello} erzeugen:

@example
guix pack --format=rpm --symlink=/usr/bin/hello=bin/hello hello
@end example

Siehe @command{info \"(guix.de) Aufruf von guix pack\"} für mehr
Informationen.")
         (en "RPM archives (with the .rpm file extension) can now be produced
via the @command{guix pack --format=rpm} command, providing an alternative
distribution path for software built with Guix.  Here is a simple example that
generates an RPM archive for the @code{hello} package:

@example
guix pack --format=rpm --symlink=/usr/bin/hello=bin/hello hello
@end example

See @command{info \"(guix) Invoking guix pack\"} for more information.")
         (fr "Vous pouvez désormais produire une archive RPM (avec l'extension
.rpm) avec la commande @command{guix pack --format=rpm} qui propose
donc une nouvelle manière de distribuer les logiciels construits avec
Guix.  Voici un exemple permettant de générer une archive RPM pour le
paquet @code{hello} :

@example
guix pack --format=rpm --symlink=/usr/bin/hello=bin/hello hello
@end example

Consultez @command{info \"(guix.fr) Invoquer guix pack\"} pour plus
d'informations.")))

 (entry (commit "137b91f03bbb7f1df71cf10c4f79ae57fbcea400")
        (title
         (en "New @option{--with-version} package transformation option")
         (de "Neue Paketumwandlungsoption @option{--with-version}")
         (fr "Nouvelle option de transformation @option{--with-version}"))
        (body
         (en "The new @option{--with-ver