aboutsummaryrefslogtreecommitdiff
path: root/guix.scm
diff options
context:
space:
mode:
authorAndré A. Gomes <andremegafone@gmail.com>2022-09-05 23:34:34 +0300
committerGuillaume Le Vaillant <glv@posteo.net>2022-09-06 10:18:26 +0200
commitcb1d9486356edd0dc7e9585df7275a0bc2bfe593 (patch)
tree4bc2a80f3a5c72e8e58f5e18f28a8d6a099b3405 /guix.scm
parentb04541869aff5864c1d14f2e86bb9432d86091d6 (diff)
downloadguix-cb1d9486356edd0dc7e9585df7275a0bc2bfe593.tar.gz
guix-cb1d9486356edd0dc7e9585df7275a0bc2bfe593.zip
gnu: cl-webkit: Update to 3.5.4.
* gnu/packages/lisp-xyz.scm (sbcl-cl-webkit): Update to 3.5.4. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
Diffstat (limited to 'guix.scm')
0 files changed, 0 insertions, 0 deletions
/code-of-conduct} sowie eine mitgelieferte, englische Fassung in der Datei @file{CODE-OF-CONDUCT} im Quellbaum." #. type: Plain text #: guix-git/doc/contributing.texi:21 msgid "Contributors are not required to use their legal name in patches and on-line communication; they can use any name or pseudonym of their choice." msgstr "Von Mitwirkenden wird nicht erwartet, dass sie in Patches oder in der Online-Kommunikation ihre echten Namen preisgeben. Sie können einen beliebigen Namen oder ein Pseudonym ihrer Wahl verwenden." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:44 #: guix-git/doc/contributing.texi:45 #, no-wrap msgid "Requirements" msgstr "Voraussetzungen" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Software needed to build and run Guix." msgstr "Zum Erstellen und Benutzen von Guix nötige Software." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:132 #: guix-git/doc/contributing.texi:133 #, no-wrap msgid "Building from Git" msgstr "Erstellung aus dem Git" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "The latest and greatest." msgstr "Das Neueste und Beste." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:324 #: guix-git/doc/contributing.texi:325 #, no-wrap msgid "Running the Test Suite" msgstr "Den Testkatalog laufen lassen" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Testing Guix." msgstr "Guix testen." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:435 #: guix-git/doc/contributing.texi:436 #, no-wrap msgid "Running Guix Before It Is Installed" msgstr "Guix vor der Installation ausführen" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Hacker tricks." msgstr "Hacker-Tricks." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:525 #: guix-git/doc/contributing.texi:526 #, no-wrap msgid "The Perfect Setup" msgstr "Perfekt eingerichtet" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "The right tools." msgstr "Die richtigen Werkzeuge." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:702 #: guix-git/doc/contributing.texi:703 #, no-wrap msgid "Alternative Setups" msgstr "Alternativ eingerichtet" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Other possible tools that do the job." msgstr "Mit diesen Werkzeugen geht es auch." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:779 #: guix-git/doc/contributing.texi:780 #, no-wrap msgid "Source Tree Structure" msgstr "Aufbau des Quellbaums" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Source code guided tour." msgstr "Führung um den Quellbaum." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:1030 #: guix-git/doc/contributing.texi:1031 #, no-wrap msgid "Packaging Guidelines" msgstr "Paketrichtlinien" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Growing the distribution." msgstr "Die Distribution wachsen lassen." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:1751 #: guix-git/doc/contributing.texi:1752 #, no-wrap msgid "Coding Style" msgstr "Programmierstil" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Hygiene of the contributor." msgstr "Wie Mitwirkende hygienisch arbeiten." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:1858 #: guix-git/doc/contributing.texi:1859 #, no-wrap msgid "Submitting Patches" msgstr "Einreichen von Patches" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Share your work." msgstr "Teilen Sie Ihre Arbeit." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2228 #: guix-git/doc/contributing.texi:2229 #, no-wrap msgid "Tracking Bugs and Changes" msgstr "Überblick über gemeldete Fehler und Änderungen" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Keeping it all organized." msgstr "Die Ordnung bewahren." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2633 #: guix-git/doc/contributing.texi:2634 #, no-wrap msgid "Teams" msgstr "Teams" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Coordinating efforts." msgstr "Arbeit abstimmen." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2710 #: guix-git/doc/contributing.texi:2711 #, no-wrap msgid "Making Decisions" msgstr "Entscheidungen treffen" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Collectively choosing the way forward." msgstr "Gemeinsam den Weg bestimmen." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2729 #: guix-git/doc/contributing.texi:2730 #, no-wrap msgid "Commit Access" msgstr "Commit-Zugriff" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Pushing to the official repository." msgstr "Auf die offiziellen Repositorys pushen." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2959 #: guix-git/doc/contributing.texi:2960 #, no-wrap msgid "Reviewing the Work of Others" msgstr "Beiträge von anderen überprüfen" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Some guidelines for sharing reviews." msgstr "Wie man für Reviews zusammenarbeitet." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3058 #: guix-git/doc/contributing.texi:3059 #, no-wrap msgid "Updating the Guix Package" msgstr "Das Guix-Paket aktualisieren" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Updating the Guix package definition." msgstr "Die Paketdefinition für Guix erneuern." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3095 #: guix-git/doc/contributing.texi:3096 #, no-wrap msgid "Deprecation Policy" msgstr "Richtlinie zu Veraltetem" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Commitments and tools for deprecation." msgstr "Wann und wie wir Zöpfe abschneiden." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3286 #: guix-git/doc/contributing.texi:3287 #, no-wrap msgid "Writing Documentation" msgstr "Dokumentation schreiben" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Improving documentation in GNU Guix." msgstr "Die Dokumentation in GNU Guix verbessern." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3330 #: guix-git/doc/contributing.texi:3331 #, no-wrap msgid "Translating Guix" msgstr "Guix übersetzen" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Make Guix speak your native language." msgstr "Bring Guix deine Muttersprache bei." #. type: Plain text #: guix-git/doc/contributing.texi:49 msgid "You can easily hack on Guix itself using Guix and Git, which we use for version control (@pxref{Building from Git})." msgstr "Sie können Guix selbst problemlos anpassen, wenn Sie Guix und Git benutzen, was wir zur Versionskontrolle benutzen (siehe @ref{Building from Git})." #. type: Plain text #: guix-git/doc/contributing.texi:54 msgid "But when packaging Guix for foreign distros or when bootstrapping on systems without Guix, and if you decide to not just trust and install our readily made binary (@pxref{Binary Installation}), you can download a release version of our reproducible source tarball and read on." msgstr "Wenn Sie jedoch Guix für Fremddistributionen paketieren oder wenn Sie ein Bootstrapping auf Systemen ohne Guix durchführen und dabei nicht einfach unserer fertigen Binärdatei vertrauen möchten (siehe @ref{Binary Installation}, dann können Sie eine veröffentlichte Version unseres reproduzierbaren Quell-Tarballs herunterladen und weiterlesen." #. type: Plain text #: guix-git/doc/contributing.texi:59 msgid "This section lists requirements when building Guix from source. The build procedure for Guix is the same as for other GNU software, and is not covered here. Please see the files @file{README} and @file{INSTALL} in the Guix source tree for additional details." msgstr "Dieser Abschnitt listet Voraussetzungen auf, um Guix aus seinem Quellcode zu erstellen. Der Erstellungsprozess für Guix ist derselbe wie für andere GNU-Software und wird hier nicht beschrieben. Bitte lesen Sie die Dateien @file{README} und @file{INSTALL} im Guix-Quellbaum, um weitere Details zu erfahren." #. type: cindex #: guix-git/doc/contributing.texi:60 #, no-wrap msgid "official website" msgstr "Offizieller Webauftritt" #. type: Plain text #: guix-git/doc/contributing.texi:63 msgid "GNU Guix is available for download from its website at @url{https://www.gnu.org/software/guix/}." msgstr "GNU Guix kann von seinem Webauftritt unter @url{http://www.gnu.org/software/guix/} heruntergeladen werden." #. type: Plain text #: guix-git/doc/contributing.texi:65 msgid "GNU Guix depends on the following packages:" msgstr "GNU Guix hat folgende Pakete als Abhängigkeiten:" #. type: item #: guix-git/doc/contributing.texi:67 #, no-wrap msgid "@url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x," msgstr "@url{https://gnu.org/software/guile/, GNU Guile}, Version 3.0.x," #. type: itemize #: guix-git/doc/contributing.texi:69 msgid "version 3.0.3 or later;" msgstr "Version 3.0.3 oder neuer," #. type: item #: guix-git/doc/contributing.texi:69 #, no-wrap msgid "@url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version" msgstr "@url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, Version" #. type: itemize #: guix-git/doc/contributing.texi:71 msgid "0.1.0 or later;" msgstr "0.1.0 oder neuer," #. type: itemize #: guix-git/doc/contributing.texi:77 msgid "@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to @uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS until version 3.7.8 included.};" msgstr "@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (siehe die @ref{Guile Preparations, Installationsanleitung der GnuTLS-Anbindungen für Guile,, gnutls-guile, GnuTLS-Guile})@footnote{Bis einschließlich Version 3.7.8 wurden die Guile-Anbindungen für @uref{https://gnutls.org/, GnuTLS} bei GnuTLS mitgeliefert.}," #. type: itemize #: guix-git/doc/contributing.texi:80 msgid "@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0 or later;" msgstr "@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, Version 0.1.0 oder neuer," #. type: item #: guix-git/doc/contributing.texi:80 #, no-wrap msgid "@uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib}," msgstr "@uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib}," #. type: itemize #: guix-git/doc/contributing.texi:82 msgid "version 0.1.0 or later;" msgstr "Version 0.1.0 oder neuer," #. type: item #: guix-git/doc/contributing.texi:82 #, no-wrap msgid "@uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};" msgstr "@uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib}," #. type: item #: guix-git/doc/contributing.texi:83 #, no-wrap msgid "@uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};" msgstr "@uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi}," #. type: itemize #: guix-git/doc/contributing.texi:87 msgid "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.5.0 or later;" msgstr "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, Version 0.5.0 oder neuer," #. type: item #: guix-git/doc/contributing.texi:87 #, no-wrap msgid "@uref{https://git-scm.com, Git} (yes, both!);" msgstr "@uref{https://git-scm.com, Git} (ja, beide!)," #. type: item #: guix-git/doc/contributing.texi:88 #, no-wrap msgid "@uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}" msgstr "@uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}" #. type: itemize #: guix-git/doc/contributing.texi:90 msgid "4.3.0 or later;" msgstr "4.3.0 oder später," #. type: item #: guix-git/doc/contributing.texi:90 #, no-wrap msgid "@url{https://www.gnu.org/software/make/, GNU Make}." msgstr "@url{https://www.gnu.org/software/make/, GNU Make}." #. type: Plain text #: guix-git/doc/contributing.texi:94 msgid "The following dependencies are optional:" msgstr "Folgende Abhängigkeiten sind optional:" #. type: itemize #: guix-git/doc/contributing.texi:102 msgid "Support for build offloading (@pxref{Daemon Offload Setup}) and @command{guix copy} (@pxref{Invoking guix copy}) depends on @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.13.0 or later." msgstr "Unterstützung für das Auslagern von Erstellungen (siehe @ref{Daemon Offload Setup}) und @command{guix copy} (siehe @ref{Invoking guix copy}) hängt von @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, Version 0.13.0 oder neuer, ab." #. type: itemize #: guix-git/doc/contributing.texi:107 msgid "@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd compression and decompression in @command{guix publish} and for substitutes (@pxref{Invoking guix publish})." msgstr "@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, für die Kompression und Dekompression mit zstd in @command{guix publish} und für Substitute (siehe @ref{Invoking guix publish})." #. type: itemize #: guix-git/doc/contributing.texi:111 msgid "@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} for the @code{crate} importer (@pxref{Invoking guix import})." msgstr "@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} für den @code{crate}-Importer (siehe @ref{Invoking guix import})." #. type: itemize #: guix-git/doc/contributing.texi:116 msgid "@uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} for the @code{go} importer (@pxref{Invoking guix import}) and for some of the ``updaters'' (@pxref{Invoking guix refresh})." msgstr "@uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} für den @code{go}-Importer (siehe @ref{Invoking guix import}) und für einige der Aktualisierungsprogramme (siehe @ref{Invoking guix refresh})." #. type: itemize #: guix-git/doc/contributing.texi:120 msgid "When @url{http://www.bzip.org, libbz2} is available, @command{guix-daemon} can use it to compress build logs." msgstr "Wenn @url{http://www.bzip.org, libbz2} verfügbar ist, kann @command{guix-daemon} damit Erstellungsprotokolle komprimieren." #. type: Plain text #: guix-git/doc/contributing.texi:124 msgid "Unless @option{--disable-daemon} was passed to @command{configure}, the following packages are also needed:" msgstr "Sofern nicht @option{--disable-daemon} beim Aufruf von @command{configure} übergeben wurde, benötigen Sie auch folgende Pakete:" #. type: item #: guix-git/doc/contributing.texi:126 #, no-wrap msgid "@url{https://gnupg.org/, GNU libgcrypt};" msgstr "@url{https://gnupg.org/, GNU libgcrypt}," #. type: item #: guix-git/doc/contributing.texi:127 #, no-wrap msgid "@url{https://sqlite.org, SQLite 3};" msgstr "@url{https://sqlite.org, SQLite 3}," #. type: item #: guix-git/doc/contributing.texi:128 #, no-wrap msgid "@url{https://gcc.gnu.org, GCC's g++}, with support for the" msgstr "@url{https://gcc.gnu.org, GCC's g++} mit Unterstützung für den" #. type: itemize #: guix-git/doc/contributing.texi:130 msgid "C++11 standard." msgstr "C++11-Standard." #. type: Plain text #: guix-git/doc/contributing.texi:137 msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:" msgstr "Wenn Sie an Guix selbst hacken wollen, ist es empfehlenswert, dass Sie die neueste Version aus dem Git-Softwarebestand verwenden:" #. type: example #: guix-git/doc/contributing.texi:140 #, no-wrap msgid "git clone https://git.savannah.gnu.org/git/guix.git\n" msgstr "git clone https://git.savannah.gnu.org/git/guix.git\n" #. type: cindex #: guix-git/doc/contributing.texi:142 #, no-wrap msgid "authentication, of a Guix checkout" msgstr "Authentifizieren, eines Guix-Checkouts" #. type: Plain text #: guix-git/doc/contributing.texi:147 msgid "How do you ensure that you obtained a genuine copy of the repository? To do that, run @command{guix git authenticate}, passing it the commit and OpenPGP fingerprint of the @dfn{channel introduction} (@pxref{Invoking guix git authenticate}):" msgstr "Doch wie können Sie sichergehen, dass sie eine unverfälschte Kopie des Repositorys erhalten haben? Dazu müssen Sie @command{guix git authenticate} ausführen, wobei Sie den Commit und den OpenPGP-Fingerabdruck der @dfn{Kanaleinführung} angeben (siehe @ref{Invoking guix git authenticate}):" #. type: example #: guix-git/doc/contributing.texi:154 #, no-wrap msgid "" "git fetch origin keyring:keyring\n" "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgstr "" "git fetch origin keyring:keyring\n" "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:159 msgid "This command completes with exit code zero on success; it prints an error message and exits with a non-zero code otherwise." msgstr "Dieser Befehl gibt bei Erfolg am Ende null als Exit-Status zurück, ansonsten wird eine Fehlermeldung ausgegeben und ein anderer Exit-Status zurückgegeben." #. type: Plain text #: guix-git/doc/contributing.texi:166 msgid "As you can see, there is a chicken-and-egg problem: you first need to have Guix installed. Typically you would install Guix System (@pxref{System Installation}) or Guix on top of another distro (@pxref{Binary Installation}); in either case, you would verify the OpenPGP signature on the installation medium. This ``bootstraps'' the trust chain." msgstr "Wie Sie sehen können, liegt hier ein Henne-Ei-Problem vor: Sie müssen Guix zuvor bereits installiert haben. Üblicherweise würden Sie Guix System erst auf einem anderen System installieren (siehe @ref{System Installation}) oder Guix auf einer anderen Distribution installieren (siehe @ref{Binary Installation}); in beiden Fällen würden Sie die OpenPGP-Signatur auf dem Installationsmedium prüfen. Damit haben Sie ein „Bootstrapping“ der Vertrauenskette durchgeführt." #. type: Plain text #: guix-git/doc/contributing.texi:171 msgid "The easiest way to set up a development environment for Guix is, of course, by using Guix! The following command starts a new shell where all the dependencies and appropriate environment variables are set up to hack on Guix:" msgstr "Der einfachste Weg, eine Entwicklungsumgebung für Guix einzurichten, ist natürlich, Guix zu benutzen! Der folgende Befehl startet eine neue Shell, in der alle Abhängigkeiten und Umgebungsvariablen bereits eingerichtet sind, um an Guix zu arbeiten:" #. type: example #: guix-git/doc/contributing.texi:174 #, no-wrap msgid "guix shell -D guix -CPW\n" msgstr "guix shell -D guix -CPW\n" #. type: Plain text #: guix-git/doc/contributing.texi:177 msgid "or even, from within a Git worktree for Guix:" msgstr "Oder kürzer, aus einem Git-Arbeitsverzeichnis von Guix heraus:" #. type: example #: guix-git/doc/contributing.texi:180 #, no-wrap msgid "guix shell -CPW\n" msgstr "guix shell -CPW\n" #. type: Plain text #: guix-git/doc/contributing.texi:185 msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command." msgstr "Wenn @option{-C} (die Kurzform von @option{--container}) auf Ihrem System nicht unterstützt wird, können Sie @command{--pure} statt @option{-CPW} schreiben. Siehe @ref{Invoking guix shell} für mehr Informationen, was Sie mit diesem Befehl tun." #. type: Plain text #: guix-git/doc/contributing.texi:189 msgid "If you are unable to use Guix when building Guix from a checkout, the following are the required packages in addition to those mentioned in the installation instructions (@pxref{Requirements})." msgstr "Wenn Sie Guix nicht benutzen können, wenn Sie es aus einem Checkout erstellen, werden die folgenden Pakete zusätzlich zu denen benötigt, die in den Installationsanweisungen angegeben sind (siehe @ref{Requirements})." #. type: item #: guix-git/doc/contributing.texi:191 #, no-wrap msgid "@url{https://gnu.org/software/autoconf/, GNU Autoconf};" msgstr "@url{https://gnu.org/software/autoconf/, GNU Autoconf}," #. type: item #: guix-git/doc/contributing.texi:192 #, no-wrap msgid "@url{https://gnu.org/software/automake/, GNU Automake};" msgstr "@url{https://gnu.org/software/automake/, GNU Automake}," #. type: item #: guix-git/doc/contributing.texi:193 #, no-wrap msgid "@url{https://gnu.org/software/gettext/, GNU Gettext};" msgstr "@url{https://gnu.org/software/gettext/, GNU Gettext}," #. type: item #: guix-git/doc/contributing.texi:194 #, no-wrap msgid "@url{https://gnu.org/software/texinfo/, GNU Texinfo};" msgstr "@url{https://gnu.org/software/texinfo/, GNU Texinfo}," #. type: item #: guix-git/doc/contributing.texi:195 #, no-wrap msgid "@url{https://www.graphviz.org/, Graphviz};" msgstr "@url{https://www.graphviz.org/, Graphviz}," #. type: item #: guix-git/doc/contributing.texi:196 #, no-wrap msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}." msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}." #. type: Plain text #: guix-git/doc/contributing.texi:201 msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:" msgstr "Auf Guix können zusätzliche Abhängigkeiten hinzugefügt werden, indem Sie stattdessen @command{guix shell} ausführen:" #. type: example #: guix-git/doc/contributing.texi:204 #, no-wrap msgid "guix shell -D guix help2man git strace --pure\n" msgstr "guix shell -D guix help2man git strace --pure\n" #. type: Plain text #: guix-git/doc/contributing.texi:208 msgid "From there you can generate the build system infrastructure using Autoconf and Automake:" msgstr "Damit können Sie die Infrastruktur des Erstellungssystems mit Autoconf und Automake erzeugen." #. type: example #: guix-git/doc/contributing.texi:211 #, no-wrap msgid "./bootstrap\n" msgstr "./bootstrap\n" #. type: Plain text #: guix-git/doc/contributing.texi:214 msgid "If you get an error like this one:" msgstr "Möglicherweise erhalten Sie eine Fehlermeldung wie diese:" #. type: example #: guix-git/doc/contributing.texi:217 #, no-wrap msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" msgstr "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" #. type: Plain text #: guix-git/doc/contributing.texi:226 msgid "it probably means that Autoconf couldn’t find @file{pkg.m4}, which is provided by pkg-config. Make sure that @file{pkg.m4} is available. The same holds for the @file{guile.m4} set of macros provided by Guile. For instance, if you installed Automake in @file{/usr/local}, it wouldn’t look for @file{.m4} files in @file{/usr/share}. In that case, you have to invoke the following command:" msgstr "Das bedeutet wahrscheinlich, dass Autoconf @file{pkg.m4} nicht finden konnte, welches von pkg-config bereitgestellt wird. Stellen Sie sicher, dass @file{pkg.m4} verfügbar ist. Gleiches gilt für den von Guile bereitgestellten Makrosatz @file{guile.m4}. Wenn Sie beispielsweise Automake in @file{/usr/local} installiert haben, würde in @file{/usr/share} nicht nach @file{.m4}-Dateien geschaut. In einem solchen Fall müssen Sie folgenden Befehl aufrufen:" #. type: example #: guix-git/doc/contributing.texi:229 #, no-wrap msgid "export ACLOCAL_PATH=/usr/share/aclocal\n" msgstr "export ACLOCAL_PATH=/usr/share/aclocal\n" #. type: Plain text #: guix-git/doc/contributing.texi:233 msgid "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more information." msgstr "In @ref{Macro Search Path,,, automake, The GNU Automake Manual} finden Sie weitere Informationen." #. type: cindex #: guix-git/doc/contributing.texi:234 #, no-wrap msgid "state directory" msgstr "Zustandsverzeichnis" #. type: cindex #: guix-git/doc/contributing.texi:235 #, no-wrap msgid "localstatedir" msgstr "localstatedir" #. type: cindex #: guix-git/doc/contributing.texi:236 #, no-wrap msgid "system configuration directory" msgstr "Systemkonfigurationsverzeichnis" #. type: cindex #: guix-git/doc/contributing.texi:237 #, no-wrap msgid "sysconfdir" msgstr "sysconfdir" #. type: Plain text #: guix-git/doc/contributing.texi:239 msgid "Then, run:" msgstr "Anschließend führen Sie dies aus:" #. type: example #: guix-git/doc/contributing.texi:242 #, no-wrap msgid "./configure\n" msgstr "./configure\n" #. type: Plain text #: guix-git/doc/contributing.texi:252 msgid "Optionally, @code{--localstatedir} and @code{--sysconfdir} can also be provided as arguments. By default, @code{localstatedir} is @file{/var} (@pxref{The Store}, for information about this) and @code{sysconfdir} is @file{/etc}. Note that you will probably not run @command{make install} at the end (you don't have to) but it's still important to pass the right @code{localstatedir} and @code{sysconfdir} values, which get recorded in the @code{(guix config)} Guile module." msgstr "Optional können auch @code{--localstatedir} und @code{--sysconfdir} als Argumente angegeben werden. Vorgegeben ist, dass @file{/var} als @code{localstatedir}-Wert benutzt wird (weitere Informationen siehe @ref{The Store}) und @file{/etc} für @code{sysconfdir}. Denken Sie daran, dass Sie am Ende wahrscheinlich @emph{nicht} @command{make install} ausführen möchten (müssen Sie auch nicht), aber es ist dennoch wichtig, die richtige @code{localstatedir} und @code{sysconfdir} zu übergeben, welche im Guile-Modul @code{(guix config)} festgehalten werden." #. type: Plain text #: guix-git/doc/contributing.texi:255 msgid "Finally, you can build Guix and, if you feel so inclined, run the tests (@pxref{Running the Test Suite}):" msgstr "Schließlich können Sie Guix erstellen und, wenn Sie möchten, die Tests ausführen (siehe @ref{Running the Test Suite}):" #. type: example #: guix-git/doc/contributing.texi:259 #, no-wrap msgid "" "make\n" "make check\n" msgstr "" "make\n" "make check\n" #. type: Plain text #: guix-git/doc/contributing.texi:265 msgid "If anything fails, take a look at installation instructions (@pxref{Installation}) or send a message to the @email{guix-devel@@gnu.org, mailing list}." msgstr "Falls etwas fehlschlägt, werfen Sie einen Blick auf die Installationsanweisungen (siehe @ref{Installation}) oder senden Sie eine E-Mail an die @email{guix-devel@@gnu.org, Mailingliste}." #. type: Plain text #: guix-git/doc/contributing.texi:268 msgid "From there on, you can authenticate all the commits included in your checkout by running:" msgstr "Von da an können Sie alle Commits in Ihrem Checkout authentifizieren, indem Sie dies ausführen:" #. type: example #: guix-git/doc/contributing.texi:273 #, no-wrap msgid "" "guix git authenticate \\\n" " 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgstr "" "guix git authenticate \\\n" " 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:280 msgid "The first run takes a couple of minutes, but subsequent runs are faster. On subsequent runs, you can run the command without any arguments since the @dfn{introduction} (the commit ID and OpenPGP fingerprints above) will have been recorded@footnote{This requires a recent version of Guix, from May 2024 or more recent.}:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:283 guix-git/doc/contributing.texi:2844 #, no-wrap msgid "guix git authenticate\n" msgstr "guix git authenticate\n" #. type: Plain text #: guix-git/doc/contributing.texi:290 msgid "When your configuration for your local Git repository doesn't match the default one, you can provide the reference for the @code{keyring} branch @i{via} the @option{-k} option. The following example assumes that you have a Git remote called @samp{myremote} pointing to the official repository:" msgstr "Für den Fall, dass die Konfiguration Ihres lokal verfügbaren Git-Repositorys nicht der voreingestellten entspricht, können Sie die Referenz für den @code{keyring}-Branch über die Option @option{-k} angeben. Im folgenden Beispiel nehmen wir an, Sie haben ein Remote-Repository namens @samp{myremote} eingerichtet, das auf das offizielle Guix-Repository verweist:" #. type: example #: guix-git/doc/contributing.texi:296 #, no-wrap msgid "" "guix git authenticate \\\n" " -k myremote/keyring \\\n" " 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgstr "" "guix git authenticate \\\n" " -k myremote/keyring \\\n" " 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:300 msgid "@xref{Invoking guix git authenticate}, for more information on this command." msgstr "Siehe @ref{Invoking guix git authenticate} für weitere Informationen zu diesem Befehl." #. type: quotation #: guix-git/doc/contributing.texi:301 guix-git/doc/contributing.texi:1489 #: guix-git/doc/contributing.texi:2101 guix-git/doc/contributing.texi:2146 #: guix-git/doc/contributing.texi:2169 guix-git/doc/contributing.texi:2817 #: guix-git/doc/guix.texi:808 guix-git/doc/guix.texi:834 #: guix-git/doc/guix.texi:1205 guix-git/doc/guix.texi:1230 #: guix-git/doc/guix.texi:1303 guix-git/doc/guix.texi:1690 #: guix-git/doc/guix.texi:1906 guix-git/doc/guix.texi:1981 #: guix-git/doc/guix.texi:2169 guix-git/doc/guix.texi:2391 #: guix-git/doc/guix.texi:3687 guix-git/doc/guix.texi:4092 #: guix-git/doc/guix.texi:4612 guix-git/doc/guix.texi:4626 #: guix-git/doc/guix.texi:4701 guix-git/doc/guix.texi:4716 #: guix-git/doc/guix.texi:4779 guix-git/doc/guix.texi:5009 #: guix-git/doc/guix.texi:5923 guix-git/doc/guix.texi:5956 #: guix-git/doc/guix.texi:6584 guix-git/doc/guix.texi:6863 #: guix-git/doc/guix.texi:6997 guix-git/doc/guix.texi:7026 #: guix-git/doc/guix.texi:7067 guix-git/doc/guix.texi:7113 #: guix-git/doc/guix.texi:7120 guix-git/doc/guix.texi:7164 #: guix-git/doc/guix.texi:8797 guix-git/doc/guix.texi:11137 #: guix-git/doc/guix.texi:11286 guix-git/doc/guix.texi:11356 #: guix-git/doc/guix.texi:13327 guix-git/doc/guix.texi:13367 #: guix-git/doc/guix.texi:13467 guix-git/doc/guix.texi:13692 #: guix-git/doc/guix.texi:13704 guix-git/doc/guix.texi:14607 #: guix-git/doc/guix.texi:16583 guix-git/doc/guix.texi:17113 #: guix-git/doc/guix.texi:17171 guix-git/doc/guix.texi:17204 #: guix-git/doc/guix.texi:17282 guix-git/doc/guix.texi:17683 #: guix-git/doc/guix.texi:18698 guix-git/doc/guix.texi:19261 #: guix-git/doc/guix.texi:19766 guix-git/doc/guix.texi:19827 #: guix-git/doc/guix.texi:22376 guix-git/doc/guix.texi:23294 #: guix-git/doc/guix.texi:23477 guix-git/doc/guix.texi:23538 #: guix-git/doc/guix.texi:24014 guix-git/doc/guix.texi:29038 #: guix-git/doc/guix.texi:29655 guix-git/doc/guix.texi:33109 #: guix-git/doc/guix.texi:37536 guix-git/doc/guix.texi:40913 #: guix-git/doc/guix.texi:42574 guix-git/doc/guix.texi:42648 #: guix-git/doc/guix.texi:42690 guix-git/doc/guix.texi:43036 #: guix-git/doc/guix.texi:43206 guix-git/doc/guix.texi:43374 #: guix-git/doc/guix.texi:43481 guix-git/doc/guix.texi:43527 #: guix-git/doc/guix.texi:43584 guix-git/doc/guix.texi:43611 #: guix-git/doc/guix.texi:43949 guix-git/doc/guix.texi:45361 #: guix-git/doc/guix.texi:45411 guix-git/doc/guix.texi:45467 #: guix-git/doc/guix.texi:45575 guix-git/doc/guix.texi:47477 #: guix-git/doc/guix.texi:47523 guix-git/doc/guix.texi:47617 #: guix-git/doc/guix.texi:47682 guix-git/doc/guix.texi:48078 #: guix-git/doc/guix.texi:48122 #, no-wrap msgid "Note" msgstr "Anmerkung" #. type: quotation #: guix-git/doc/contributing.texi:305 msgid "By default, hooks are installed such that @command{guix git authenticate} is invoked anytime you run @command{git pull} or @command{git push}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:309 msgid "After updating the repository, @command{make} might fail with an error similar to the following example:" msgstr "Wenn Sie das Repository einmal aktualisieren, kann es passieren, dass @command{make} mit einer Fehlermeldung ähnlich wie dieser fehlschlägt:" #. type: example #: guix-git/doc/contributing.texi:313 #, no-wrap msgid "" "error: failed to load 'gnu/packages/linux.scm':\n" "ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed\n" msgstr "" "error: failed to load 'gnu/packages/linux.scm':\n" "ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed\n" #. type: Plain text #: guix-git/doc/contributing.texi:319 msgid "This means that one of the record types that Guix defines (in this example, the @code{origin} record) has changed, and all of guix needs to be recompiled to take that change into account. To do so, run @command{make clean-go} followed by @command{make}." msgstr "Das bedeutet, dass sich einer der in Guix definierten Verbundstypen (in diesem Beispiel der @code{origin}-Verbundstyp) geändert hat und alle Teile von Guix für diese Änderung neu kompiliert werden müssen. Um das zu veranlassen, führen Sie @command{make clean-go} aus, gefolgt von @command{make}." #. type: Plain text #: guix-git/doc/contributing.texi:323 msgid "Should @command{make} fail with an Automake error message after updating, you need to repeat the steps outlined in this section, commencing with @command{./bootstrap}." msgstr "Falls @command{make} mit einer Automake-Fehlermeldung fehlschlägt, nachdem Sie aktualisiert haben, müssen Sie die in diesem Abschnitt geschilderten Schritte wiederholen, angefangen mit @command{./bootstrap}." #. type: cindex #: guix-git/doc/contributing.texi:327 #, no-wrap msgid "test suite" msgstr "Testkatalog" #. type: Plain text #: guix-git/doc/contributing.texi:333 msgid "After a successful @command{configure} and @code{make} run, it is a good idea to run the test suite. It can help catch issues with the setup or environment, or bugs in Guix itself---and really, reporting test failures is a good way to help improve the software. To run the test suite, type:" msgstr "Nachdem @command{configure} und @code{make} erfolgreich durchgelaufen sind, ist es ratsam, den Testkatalog auszuführen. Er kann dabei helfen, Probleme mit der Einrichtung oder Systemumgebung zu finden, oder auch Probleme in Guix selbst@tie{}– und Testfehler zu melden ist eine wirklich gute Art und Weise, bei der Verbesserung von Guix mitzuhelfen. Um den Testkatalog auszuführen, geben Sie Folgendes ein:" #. type: example #: guix-git/doc/contributing.texi:336 #, no-wrap msgid "make check\n" msgstr "make check\n" #. type: Plain text #: guix-git/doc/contributing.texi:343 msgid "Test cases can run in parallel: you can use the @code{-j} option of GNU@tie{}make to speed things up. The first run may take a few minutes on a recent machine; subsequent runs will be faster because the store that is created for test purposes will already have various things in cache." msgstr "Testfälle können parallel ausgeführt werden. Sie können die Befehlszeiltenoption @code{-j} von GNU@tie{}make benutzen, damit es schneller geht. Der erste Durchlauf kann auf neuen Maschinen ein paar Minuten dauern, nachfolgende Ausführungen werden schneller sein, weil der für die Tests erstellte Store schon einige Dinge zwischengespeichert haben wird." #. type: Plain text #: guix-git/doc/contributing.texi:346 msgid "It is also possible to run a subset of the tests by defining the @code{TESTS} makefile variable as in this example:" msgstr "Es ist auch möglich, eine Teilmenge der Tests laufen zu lassen, indem Sie die @code{TESTS}-Variable des Makefiles ähnlich wie in diesem Beispiel definieren:" #. type: example #: guix-git/doc/contributing.texi:349 #, no-wrap msgid "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n" msgstr "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:354 msgid "By default, tests results are displayed at a file level. In order to see the details of every individual test cases, it is possible to define the @code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:" msgstr "Standardmäßig werden Testergebnisse pro Datei angezeigt. Um die Details jedes einzelnen Testfalls zu sehen, können Sie wie in diesem Beispiel die @code{SCM_LOG_DRIVER_FLAGS}-Variable des Makefiles definieren:" #. type: example #: guix-git/doc/contributing.texi:357 #, no-wrap msgid "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:365 msgid "The underlying SRFI 64 custom Automake test driver used for the 'check' test suite (located at @file{build-aux/test-driver.scm}) also allows selecting which test cases to run at a finer level, via its @option{--select} and @option{--exclude} options. Here's an example, to run all the test cases from the @file{tests/packages.scm} test file whose names start with ``transaction-upgrade-entry'':" msgstr "Mit dem eigens geschriebenen SRFI-64-Testtreiber für Automake, über den der „@code{check}“-Testkatalog läuft (zu finden in @file{build-aux/test-driver.scm}), können auch die Testfälle genauer ausgewählt werden, die ausgeführt werden sollen. Dazu dienen dessen Befehlszeilenoptionen @option{--select} und @option{--exclude}. Hier ist ein Beispiel, um alle Testfälle aus der Testdatei @file{tests/packages.scm} auszuführen, deren Name mit „transaction-upgrade-entry“ beginnt:" #. type: example #: guix-git/doc/contributing.texi:369 #, no-wrap msgid "" "export SCM_LOG_DRIVER_FLAGS=\"--select=^transaction-upgrade-entry\"\n" "make check TESTS=\"tests/packages.scm\"\n" msgstr "" "export SCM_LOG_DRIVER_FLAGS=\"--select=^transaction-upgrade-entry\"\n" "make check TESTS=\"tests/packages.scm\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:375 msgid "Those wishing to inspect the results of failed tests directly from the command line can add the @option{--errors-only=yes} option to the @code{SCM_LOG_DRIVER_FLAGS} makefile variable and set the @code{VERBOSE} Automake makefile variable, as in:" msgstr "Möchte man die Ergebnisse fehlgeschlagener Tests direkt über die Befehlszeile einsehen, fügt man die Befehlszeilenoption @option{--errors-only=yes} in die Makefile-Variable @code{SCM_LOG_DRIVER_FLAGS} ein und setzt Automakes Makefile-Variable @code{VERBOSE}, etwa so:" #. type: example #: guix-git/doc/contributing.texi:378 #, no-wrap msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --errors-only=yes\" VERBOSE=1\n" msgstr "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --errors-only=yes\" VERBOSE=1\n" #. type: Plain text #: guix-git/doc/contributing.texi:383 msgid "The @option{--show-duration=yes} option can be used to print the duration of the individual test cases, when used in combination with @option{--brief=no}:" msgstr "Sie können die Befehlszeilenoption @option{--show-duration=yes} benutzen, damit ausgegeben wird, wie lange jeder einzelne Testfall gebraucht hat, in Kombination mit @option{--brief=no}:" #. type: example #: guix-git/doc/contributing.texi:386 #, no-wrap msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --show-duration=yes\"\n" msgstr "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --show-duration=yes\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:390 msgid "@xref{Parallel Test Harness,,,automake,GNU Automake} for more information about the Automake Parallel Test Harness." msgstr "Siehe @ref{Parallel Test Harness,,,automake,GNU Automake} für mehr Informationen über den parallelen Testrahmen von Automake." #. type: Plain text #: guix-git/doc/contributing.texi:395 msgid "Upon failure, please email @email{bug-guix@@gnu.org} and attach the @file{test-suite.log} file. Please specify the Guix version being used as well as version numbers of the dependencies (@pxref{Requirements}) in your message." msgstr "Kommt es zum Fehlschlag, senden Sie bitte eine E-Mail an @email{bug-guix@@gnu.org} und fügen Sie die Datei @file{test-suite.log} als Anhang bei. Bitte geben Sie dabei in Ihrer Nachricht die benutzte Version von Guix an sowie die Versionsnummern der Abhängigkeiten (siehe @ref{Requirements})." #. type: Plain text #: guix-git/doc/contributing.texi:399 msgid "Guix also comes with a whole-system test suite that tests complete Guix System instances. It can only run on systems where Guix is already installed, using:" msgstr "Guix wird auch mit einem Testkatalog für das ganze System ausgeliefert, der vollständige Instanzen des „Guix System“-Betriebssystems testet. Er kann nur auf Systemen benutzt werden, auf denen Guix bereits installiert ist, mit folgendem Befehl:" #. type: example #: guix-git/doc/contributing.texi:402 #, no-wrap msgid "make check-system\n" msgstr "make check-system\n" #. type: Plain text #: guix-git/doc/contributing.texi:406 msgid "or, again, by defining @code{TESTS} to select a subset of tests to run:" msgstr "Oder, auch hier, indem Sie @code{TESTS} definieren, um eine Teilmenge der auszuführenden Tests anzugeben:" #. type: example #: guix-git/doc/contributing.texi:409 #, no-wrap msgid "make check-system TESTS=\"basic mcron\"\n" msgstr "make check-system TESTS=\"basic mcron\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:417 msgid "These system tests are defined in the @code{(gnu tests @dots{})} modules. They work by running the operating systems under test with lightweight instrumentation in a virtual machine (VM). They can be computationally intensive or rather cheap, depending on whether substitutes are available for their dependencies (@pxref{Substitutes}). Some of them require a lot of storage space to hold VM images." msgstr "Diese Systemtests sind in den @code{(gnu tests …)}-Modulen definiert. Sie funktionieren, indem Sie das getestete Betriebssystem mitsamt schlichter Instrumentierung in einer virtuellen Maschine (VM) ausführen. Die Tests können aufwendige Berechnungen durchführen oder sie günstig umgehen, je nachdem, ob für ihre Abhängigkeiten Substitute zur Verfügung stehen (siehe @ref{Substitutes}). Manche von ihnen nehmen viel Speicherplatz in Anspruch, um die VM-Abbilder zu speichern." #. type: Plain text #: guix-git/doc/contributing.texi:419 msgid "If you encounter an error like:" msgstr "Wenn Sie eine Fehlermeldung wie diese sehen:" #. type: example #: guix-git/doc/contributing.texi:425 #, no-wrap msgid "" "Compiling Scheme modules...\n" "ice-9/eval.scm:142:16: In procedure compile-top-call:\n" "error: all-system-tests: unbound variable\n" "hint: Did you forget `(use-modules (gnu tests))'?\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:431 msgid "there may be inconsistencies in the work tree from previous builds. To resolve this, try running @command{make clean-go} followed by @command{make}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:434 msgid "Again in case of test failures, please send @email{bug-guix@@gnu.org} all the details." msgstr "Auch hier gilt: Falls Testfehler auftreten, senden Sie bitte alle Details an @email{bug-guix@@gnu.org}." #. type: Plain text #: guix-git/doc/contributing.texi:442 msgid "In order to keep a sane working environment, you will find it useful to test the changes made in your local source tree checkout without actually installing them. So that you can distinguish between your ``end-user'' hat and your ``motley'' costume." msgstr "Um eine gesunde Arbeitsumgebung zu erhalten, ist es hilfreich, die im lokalen Quellbaum vorgenommenen Änderungen zunächst zu testen, ohne sie tatsächlich zu installieren. So können Sie zwischen Ihrem Endnutzer-„Straßenanzug“ und Ihrem „Faschingskostüm“ unterscheiden." #. type: Plain text #: guix-git/doc/contributing.texi:452 msgid "To that end, all the command-line tools can be used even if you have not run @code{make install}. To do that, you first need to have an environment with all the dependencies available (@pxref{Building from Git}), and then simply prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} script lives in the top build tree of Guix; @pxref{Building from Git} to generate it). As an example, here is how you would build the @code{hello} package as defined in your working tree (this assumes @command{guix-daemon} is already running on your system; it's OK if it's a different version):" msgstr "Zu diesem Zweck können alle Befehlszeilenwerkzeuge auch schon benutzt werden, ohne dass Sie @code{make install} laufen lassen. Dazu müssen Sie sich in einer Umgebung befinden, in der alle Abhängigkeiten von Guix verfügbar sind (siehe @ref{Building from Git}) und darin einfach vor jeden Befehl @command{./pre-inst-env} schreiben (das Skript @file{pre-inst-env} befindet sich auf oberster Ebene im Verzeichnis, wo Guix erstellt wird; siehe @ref{Building from Git}, wo beschrieben ist, wie Sie es erzeugen). Zum Beispiel würden Sie so das Paket @code{hello} erstellen lassen, so wie es in der gegenwärtigen Kopie des Guix-Quellbaums definiert wurde (es wird angenommen, dass @command{guix-daemon} auf Ihrem System bereits läuft, auch wenn es eine andere Version ist):" #. type: example #: guix-git/doc/contributing.texi:455 #, no-wrap msgid "$ ./pre-inst-env guix build hello\n" msgstr "$ ./pre-inst-env guix build hello\n" #. type: Plain text #: guix-git/doc/contributing.texi:459 msgid "Similarly, an example for a Guile session using the Guix modules:" msgstr "Entsprechend würden Sie dies eingeben, um eine Guile-Sitzung zu öffnen, die die Guix-Module benutzt:" #. type: example #: guix-git/doc/contributing.texi:462 #, no-wrap msgid "" "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" "\n" msgstr "" "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" "\n" #. type: example #: guix-git/doc/contributing.texi:464 #, no-wrap msgid ";;; (\"x86_64-linux\")\n" msgstr ";;; (\"x86_64-linux\")\n" #. type: cindex #: guix-git/doc/contributing.texi:467 #, no-wrap msgid "REPL" msgstr "REPL" #. type: cindex #: guix-git/doc/contributing.texi:468 #, no-wrap msgid "read-eval-print loop" msgstr "Lese-Auswerten-Schreiben-Schleife" #. type: Plain text #: guix-git/doc/contributing.texi:470 msgid "@dots{} and for a REPL (@pxref{Using Guix Interactively}):" msgstr "…@: und auf einer REPL (siehe @ref{Using Guix Interactively}):" #. type: example #: guix-git/doc/contributing.texi:485 #, no-wrap msgid "" "$ ./pre-inst-env guile\n" "scheme@@(guile-user)> ,use(guix)\n" "scheme@@(guile-user)> ,use(gnu)\n" "scheme@@(guile-user)> (define snakes\n" " (fold-packages\n" " (lambda (package lst)\n" " (if (string-prefix? \"python\"\n" " (package-name package))\n" " (cons package lst)\n" " lst))\n" " '()))\n" "scheme@@(guile-user)> (length snakes)\n" "$1 = 361\n" msgstr "" "$ ./pre-inst-env guile\n" "scheme@@(guile-user)> ,use(guix)\n" "scheme@@(guile-user)> ,use(gnu)\n" "scheme@@(guile-user)> (define snakes\n" " (fold-packages\n" " (lambda (package lst)\n" " (if (string-prefix? \"python\"\n" " (package-name package))\n" " (cons package lst)\n" " lst))\n" " '()))\n" "scheme@@(guile-user)> (length snakes)\n" "$1 = 361\n" #. type: Plain text #: guix-git/doc/contributing.texi:493 msgid "If you are hacking on the daemon and its supporting code or if @command{guix-daemon} is not already running on your system, you can launch it straight from the build tree@footnote{The @option{-E} flag to @command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and the tools it uses can find the Guile modules they need.}:" msgstr "Wenn Sie am Daemon und damit zu tun habendem Code hacken oder wenn @command{guix-daemon} nicht bereits auf Ihrem System läuft, können Sie ihn direkt aus dem Verzeichnis heraus starten, wo Sie Guix erstellen lassen@footnote{Die Befehlszeilenoption @option{-E} von @command{sudo} stellt sicher, dass @code{GUILE_LOAD_PATH} richtig gesetzt wird, damit @command{guix-daemon} und die davon benutzten Werkzeuge die von ihnen benötigten Guile-Module finden können.}:" #. type: example #: guix-git/doc/contributing.texi:496 #, no-wrap msgid "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" msgstr "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" #. type: Plain text #: guix-git/doc/contributing.texi:500 msgid "The @command{pre-inst-env} script sets up all the environment variables necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}." msgstr "Das @command{pre-inst-env}-Skript richtet alle Umgebungsvariablen ein, die nötig sind, um dies zu ermöglichen, einschließlich @env{PATH} und @env{GUILE_LOAD_PATH}." #. type: Plain text #: guix-git/doc/contributing.texi:505 msgid "Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the local source tree; it simply updates the @file{~/.config/guix/current} symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if you want to upgrade your local source tree." msgstr "Beachten Sie, dass @command{./pre-inst-env guix pull} den lokalen Quellbaum @emph{nicht} aktualisiert; es aktualisiert lediglich die symbolische Verknüpfung @file{~/.config/guix/current} (siehe @ref{Invoking guix pull}). Um Ihren lokalen Quellbaum zu aktualisieren, müssen Sie stattdessen @command{git pull} benutzen." #. type: Plain text #: guix-git/doc/contributing.texi:509 msgid "Sometimes, especially if you have recently updated your repository, running @command{./pre-inst-env} will print a message similar to the following example:" msgstr "Manchmal, insbesondere wenn Sie das Repository aktualisiert haben, wird beim Ausführen mit @command{./pre-inst-env} eine Nachricht ähnlich wie in diesem Beispiel erscheinen:" #. type: example #: guix-git/doc/contributing.texi:513 #, no-wrap msgid "" ";;; note: source file /home/user/projects/guix/guix/progress.scm\n" ";;; newer than compiled /home/user/projects/guix/guix/progress.go\n" msgstr "" ";;; note: source file /home/user/projects/guix/guix/progress.scm\n" ";;; newer than compiled /home/user/projects/guix/guix/progress.go\n" #. type: Plain text #: guix-git/doc/contributing.texi:519 msgid "This is only a note and you can safely ignore it. You can get rid of the message by running @command{make -j4}. Until you do, Guile will run slightly slower because it will interpret the code instead of using prepared Guile object (@file{.go}) files." msgstr "Es handelt sich lediglich um einen Hinweis und Sie können ihn getrost ignorieren. Los werden Sie die Nachricht, indem Sie @command{make -j4} ausführen. Bis dahin läuft Guile etwas langsamer als sonst, weil es den Quellcode interpretieren muss und nicht auf vorbereitete Guile-Objekt-Dateien (@file{.go}) zurückgreifen kann." #. type: Plain text #: guix-git/doc/contributing.texi:524 msgid "You can run @command{make} automatically as you work using @command{watchexec} from the @code{watchexec} package. For example, to build again each time you update a package file, run @samp{watchexec -w gnu/packages -- make -j4}." msgstr "Sie können @command{make} automatisch ausführen lassen, während Sie am Code arbeiten, nämlich mit @command{watchexec} aus dem Paket @code{watchexec}. Um zum Beispiel jedes Mal neu zu erstellen, wenn Sie etwas an einer Paketdatei ändern, führen Sie @samp{watchexec -w gnu/packages -- make -j4} aus." #. type: Plain text #: guix-git/doc/contributing.texi:533 msgid "The Perfect Setup to hack on Guix is basically the perfect setup used for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference Manual}). First, you need more than an editor, you need @url{https://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run:" msgstr "Um perfekt für das Hacken an Guix eingerichtet zu sein, brauchen Sie an sich dasselbe wie um perfekt für das Hacken mit Guile (siehe @ref{Using Guile in Emacs,,, guile, Guile-Referenzhandbuch}). Zunächst brauchen Sie mehr als ein Textverarbeitungsprogramm, Sie brauchen @url{https://www.gnu.org/software/emacs, Emacs} zusammen mit den vom wunderbaren @url{https://nongnu.org/geiser/, Geiser} verliehenen Kräften. Um diese zu installieren, können Sie Folgendes ausführen:" #. type: example #: guix-git/doc/contributing.texi:536 #, no-wrap msgid "guix install emacs guile emacs-geiser emacs-geiser-guile\n" msgstr "guix install emacs guile emacs-geiser emacs-geiser-guile\n" #. type: Plain text #: guix-git/doc/contributing.texi:546 msgid "Geiser allows for interactive and incremental development from within Emacs: code compilation and evaluation from within buffers, access to on-line documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump to an object definition, a REPL to try out your code, and more (@pxref{Introduction,,, geiser, Geiser User Manual}). If you allow Emacs to load the @file{.dir-locals.el} file at the root of the project checkout, it will cause Geiser to automatically add the local Guix sources to the Guile load path." msgstr "Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu Online-Dokumentation (Docstrings) steht ebenso zur Verfügung wie kontextabhängige Vervollständigung, @kbd{M-.} um zu einer Objektdefinition zu springen, eine REPL, um Ihren Code auszuprobieren, und mehr (siehe @ref{Introduction,,, geiser, Geiser User Manual}). Wenn Sie Emacs die Erlaubnis erteilen, die Datei @file{.dir-locals.el} im obersten Verzeichnis Ihres Guix-Checkouts zu laden, wird Geiser die lokalen Guix-Quelldateien automatisch zu Guiles Ladepfad ergänzen." #. type: Plain text #: guix-git/doc/contributing.texi:553 msgid "To actually edit the code, Emacs already has a neat Scheme mode. But in addition to that, you must not miss @url{https://www.emacswiki.org/emacs/ParEdit, Paredit}. It provides facilities to directly operate on the syntax tree, such as raising an s-expression or wrapping it, swallowing or rejecting the following s-expression, etc." msgstr "Um den Code tatsächlich zu bearbeiten, bietet Emacs schon einen netten Scheme-Modus. Aber Sie dürfen auch @url{https://www.emacswiki.org/emacs/ParEdit, Paredit} nicht verpassen. Es bietet Hilfsmittel, um direkt mit dem Syntaxbaum zu arbeiten, und kann so zum Beispiel einen S-Ausdruck hochheben oder ihn umhüllen, ihn verschlucken oder den nachfolgenden S-Ausdruck verwerfen, etc." #. type: cindex #: guix-git/doc/contributing.texi:554 #, no-wrap msgid "code snippets" msgstr "Code-Schnipsel" #. type: cindex #: guix-git/doc/contributing.texi:555 #, no-wrap msgid "templates" msgstr "Vorlagen" #. type: cindex #: guix-git/doc/contributing.texi:556 #, no-wrap msgid "reducing boilerplate" msgstr "Tipparbeit sparen" #. type: Plain text #: guix-git/doc/contributing.texi:566 msgid "We also provide templates for common git commit messages and package definitions in the @file{etc/snippets} directory. These templates can be used to expand short trigger strings to interactive text snippets. If you use @url{https://joaotavora.github.io/yasnippet/, YASnippet}, you may want to add the @file{etc/snippets/yas} snippets directory to the @var{yas-snippet-dirs} variable. If you use @url{https://github.com/minad/tempel/, Tempel}, you may want to add the @file{etc/snippets/tempel/*} path to the @var{tempel-path} variable in Emacs." msgstr "Wir bieten auch Vorlagen an für häufige Git-Commit-Nachrichten und Paketdefinitionen im Verzeichnis @file{etc/snippets}. Diese Vorlagen können benutzt werden, um kurze Auslöse-Zeichenketten zu interaktiven Textschnipseln umzuschreiben. Wenn Sie dazu @url{https://joaotavora.github.io/yasnippet/, YASnippet} verwenden, möchten Sie vielleicht das Schnipselverzeichnis @file{etc/snippets/yas} zu Ihrer @var{yas-snippet-dirs}-Variablen in Emacs hinzufügen. Wenn Sie @url{https://github.com/minad/tempel/, Tempel} verwenden, fügen Sie stattdessen den Pfad @file{etc/snippets/tempel/*} zur Emacs-Variablen @var{tempel-path} hinzu." #. type: lisp #: guix-git/doc/contributing.texi:578 #, no-wrap msgid "" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" ";; @r{Yasnippet configuration}\n" "(with-eval-after-load 'yasnippet\n" " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets/yas\"))\n" ";; @r{Tempel configuration}\n" "(with-eval-after-load 'tempel\n" " ;; Ensure tempel-path is a list -- it may also be a string.\n" " (unless (listp 'tempel-path)\n" " (setq tempel-path (list tempel-path)))\n" " (add-to-list 'tempel-path \"~/src/guix/etc/snippets/tempel/*\"))\n" msgstr "" ";; @r{Angenommen das Guix-Checkout ist in ~/src/guix.}\n" ";; @r{Yasnippet-Konfiguration}\n" "(with-eval-after-load 'yasnippet\n" " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets/yas\"))\n" ";; @r{Tempel-Konfiguration}\n" "(with-eval-after-load 'tempel\n" " ;; Wenn tempel-path noch keine Liste ist, sondern eine Zeichenkette\n" " (unless (listp 'tempel-path)\n" " (setq tempel-path (list tempel-path)))\n" " (add-to-list 'tempel-path \"~/src/guix/etc/snippets/tempel/*\"))\n" #. type: Plain text #: guix-git/doc/contributing.texi:586 msgid "The commit message snippets depend on @url{https://magit.vc/, Magit} to display staged files. When editing a commit message type @code{add} followed by @kbd{TAB} to insert a commit message template for adding a package; type @code{update} followed by @kbd{TAB} to insert a template for updating a package; type @code{https} followed by @kbd{TAB} to insert a template for changing the home page URI of a package to HTTPS." msgstr "Die Schnipsel für Commit-Nachrichten setzen @url{https://magit.vc/, Magit} voraus, um zum Commit vorgemerkte Dateien anzuzeigen. Wenn Sie eine Commit-Nachricht bearbeiten, können Sie @code{add} gefolgt von @kbd{TAB} eintippen, um eine Commit-Nachrichten-Vorlage für das Hinzufügen eines Pakets zu erhalten; tippen Sie @code{update} gefolgt von @kbd{TAB} ein, um eine Vorlage zum Aktualisieren eines Pakets zu bekommen; tippen Sie @code{https} gefolgt von @kbd{TAB} ein, um eine Vorlage zum Ändern der Homepage-URI eines Pakets auf HTTPS einzufügen." #. type: Plain text #: guix-git/doc/contributing.texi:592 msgid "The main snippet for @code{scheme-mode} is triggered by typing @code{package...} followed by @kbd{TAB}. This snippet also inserts the trigger string @code{origin...}, which can be expanded further. The @code{origin} snippet in turn may insert other trigger strings ending on @code{...}, which also can be expanded further." msgstr "Das Hauptschnipsel für @code{scheme-mode} wird ausgelöst, indem Sie @code{package...} gefolgt von @kbd{TAB} eintippen. Dieses Snippet fügt auch die Auslöse-Zeichenkette @code{origin...} ein, die danach weiter umgeschrieben werden kann. Das @code{origin}-Schnipsel kann wiederum andere Auslöse-Zeichenketten einfügen, die alle auf @code{...} enden, was selbst wieder weiter umgeschrieben werden kann." #. type: cindex #: guix-git/doc/contributing.texi:593 #, no-wrap msgid "insert or update copyright" msgstr "Copyright einfügen oder aktualisieren" #. type: code{#1} #: guix-git/doc/contributing.texi:594 #, no-wrap msgid "M-x guix-copyright" msgstr "M-x guix-copyright" #. type: code{#1} #: guix-git/doc/contributing.texi:595 #, no-wrap msgid "M-x copyright-update" msgstr "M-x copyright-update" #. type: Plain text #: guix-git/doc/contributing.texi:599 msgid "We additionally provide insertion and automatic update of a copyright in @file{etc/copyright.el}. You may want to set your full name, mail, and load a file." msgstr "Außerden stellen wir automatisches Einfügen und Aktualisieren von Urheberrechtsinformationen („Copyright“) über @file{etc/copyright.el} zur Verfügung. Dazu müssten Sie Ihren vollständigen Namen mit E-Mail-Adresse festlegen und eine Datei laden." #. type: lisp #: guix-git/doc/contributing.texi:605 #, no-wrap msgid "" "(setq user-full-name \"Alice Doe\")\n" "(setq user-mail-address \"alice@@mail.org\")\n" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" "(load-file \"~/src/guix/etc/copyright.el\")\n" msgstr "" "(setq user-full-name \"Alice Doe\")\n" "(setq user-mail-address \"alice@@mail.org\")\n" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" "(load-file \"~/src/guix/etc/copyright.el\")\n" #. type: Plain text #: guix-git/doc/contributing.texi:608 msgid "To insert a copyright at the current line invoke @code{M-x guix-copyright}." msgstr "Um an der aktuellen Zeile Copyright-Informationen einzufügen, rufen Sie @code{M-x guix-copyright} auf." #. type: Plain text #: guix-git/doc/contributing.texi:610 msgid "To update a copyright you need to specify a @code{copyright-names-regexp}." msgstr "Um Copyright-Informationen aktualisieren zu können, müssen Sie einen regulären Ausdruck @code{copyright-names-regexp} angeben." #. type: lisp #: guix-git/doc/contributing.texi:614 #, no-wrap msgid "" "(setq copyright-names-regexp\n" " (format \"%s <%s>\" user-full-name user-mail-address))\n" msgstr "" "(setq copyright-names-regexp\n" " (format \"%s <%s>\" user-full-name user-mail-address))\n" #. type: Plain text #: guix-git/doc/contributing.texi:620 msgid "You can check if your copyright is up to date by evaluating @code{M-x copyright-update}. If you want to do it automatically after each buffer save then add @code{(add-hook 'after-save-hook 'copyright-update)} in Emacs." msgstr "Sie können prüfen, ob Ihre Urheberrechtsinformationen aktuell sind, indem Sie @code{M-x copyright-update} auswerten. Wenn Sie möchten, dass dies automatisch nach jedem Speichern des Puffers geschieht, fügen Sie @code{(add-hook 'after-save-hook 'copyright-update)} in Emacs hinzu." #. type: subsection #: guix-git/doc/contributing.texi:621 guix-git/doc/contributing.texi:622 #, no-wrap msgid "Viewing Bugs within Emacs" msgstr "Bugs mit Emacs anschauen" #. type: Plain text #: guix-git/doc/contributing.texi:632 msgid "Emacs has a nice minor mode called @code{bug-reference}, which, when combined with @samp{emacs-debbugs} (the Emacs package), can be used to open links such as @samp{<https://bugs.gnu.org/58697>} or @samp{<https://issues.guix.gnu.org/58697>} as bug report buffers. From there you can easily consult the email thread via the Gnus interface, reply or modify the bug status, all without leaving the comfort of Emacs! Below is a sample configuration to add to your @file{~/.emacs} configuration file:" msgstr "Emacs hat einen nützlichen Minor-Mode namens @code{bug-reference}, mit dem man, zusammen mit @samp{emacs-debbugs} (dem Paket für Emacs), URLs wie @samp{<https://bugs.gnu.org/58697>} oder @samp{<https://issues.guix.gnu.org/58697>} als Buffer mit dem Fehlerbericht öffnen kann. Von diesem aus kann man leicht den E-Mail-Thread in Gnus lesen, antworten oder den Status des Bugs ändern ohne Emacs zu verlassen! Sie sehen im Folgenden eine Beispielkonfiguration, die Sie in Ihre @file{~/.emacs}-Konfigurationsdatei übernehmen können:" #. type: lisp #: guix-git/doc/contributing.texi:641 #, no-wrap msgid "" ";;; Bug references.\n" "(require 'bug-reference)\n" "(add-hook 'prog-mode-hook #'bug-reference-prog-mode)\n" "(add-hook 'gnus-mode-hook #'bug-reference-mode)\n" "(add-hook 'erc-mode-hook #'bug-reference-mode)\n" "(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)\n" "(add-hook 'gnus-article-mode-hook #'bug-reference-mode)\n" "\n" msgstr "" ";;; Verweise auf Bugs.\n" "(require 'bug-reference)\n" "(add-hook 'prog-mode-hook #'bug-reference-prog-mode)\n" "(add-hook 'gnus-mode-hook #'bug-reference-mode)\n" "(add-hook 'erc-mode-hook #'bug-reference-mode)\n" "(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)\n" "(add-hook 'gnus-article-mode-hook #'bug-reference-mode)\n" "\n" #. type: lisp #: guix-git/doc/contributing.texi:673 #, no-wrap msgid "" ";;; This extends the default expression (the top-most, first expression\n" ";;; provided to 'or') to also match URLs such as\n" ";;; <https://issues.guix.gnu.org/58697> or <https://bugs.gnu.org/58697>.\n" ";;; It is also extended to detect \"Fixes: #NNNNN\" git trailers.\n" "(setq bug-reference-bug-regexp\n" " (rx (group (or (seq word-boundary\n" " (or (seq (char \"Bb\") \"ug\"\n" " (zero-or-one \" \")\n" " (zero-or-one \"#\"))\n" " (seq (char \"Pp\") \"atch\"\n" " (zero-or-one \" \")\n" " \"#\")\n" " (seq (char \"Ff\") \"ixes\"\n" " (zero-or-one \":\")\n" " (zero-or-one \" \") \"#\")\n" " (seq \"RFE\"\n" " (zero-or-one \" \") \"#\")\n" " (seq \"PR \"\n" " (one-or-more (char \"a-z+-\")) \"/\"))\n" " (group (one-or-more (char \"0-9\"))\n" " (zero-or-one\n" " (seq \"#\" (one-or-more\n" " (char \"0-9\"))))))\n" " (seq (? \"<\") \"https://bugs.gnu.org/\"\n" " (group-n 2 (one-or-more (char \"0-9\")))\n" " (? \">\"))\n" " (seq (? \"<\") \"https://issues.guix.gnu.org/\"\n" " (? \"issue/\")\n" " (group-n 2 (one-or-more (char \"0-9\")))\n" " (? \">\"))))))\n" "(setq bug-reference-url-format \"https://issues.guix.gnu.org/%s\")\n" "\n" msgstr "" ";;; Dies erweitert die „default expression“ (den obersten, ersten\n" ";;; Ausdruck für 'or') so, dass er auch auf URLs wie\n" ";;; <https://issues.guix.gnu.org/58697> oder\n" ";;; <https://bugs.gnu.org/58697> passt.\n" ";;; Auch werden so \"Fixes: #NNNNN\" in Git-Anhangszeilen erkannt.\n" "(setq bug-reference-bug-regexp\n" " (rx (group (or (seq word-boundary\n" " (or (seq (char \"Bb\") \"ug\"\n" " (zero-or-one \" \")\n" " (zero-or-one \"#\"))\n" " (seq (char \"Pp\") \"atch\"\n" " (zero-or-one \" \")\n" " \"#\")\n" " (seq (char \"Ff\") \"ixes\"\n" " (zero-or-one \":\")\n" " (zero-or-one \" \") \"#\")\n" " (seq \"RFE\"\n" " (zero-or-one \" \") \"#\")\n" " (seq \"PR \"\n" " (one-or-more (char \"a-z+-\")) \"/\"))\n" " (group (one-or-more (char \"0-9\"))\n" " (zero-or-one\n" " (seq \"#\" (one-or-more\n" " (char \"0-9\"))))))\n" " (seq (? \"<\") \"https://bugs.gnu.org/\"\n" " (group-n 2 (one-or-more (char \"0-9\")))\n" " (? \">\"))\n" " (seq (? \"<\") \"https://issues.guix.gnu.org/\"\n" " (? \"issue/\")\n" " (group-n 2 (one-or-more (char \"0-9\")))\n" " (? \">\"))))))\n" "(setq bug-reference-url-format \"https://issues.guix.gnu.org/%s\")\n" "\n" #. type: lisp #: guix-git/doc/contributing.texi:678 #, no-wrap msgid "" "(require 'debbugs)\n" "(require 'debbugs-browse)\n" "(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)\n" "(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)\n" "\n" msgstr "" "(require 'debbugs)\n" "(require 'debbugs-browse)\n" "(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)\n" "(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)\n" "\n" #. type: lisp #: guix-git/doc/contributing.texi:689 #, no-wrap msgid "" ";; The following allows Emacs Debbugs user to open the issue directly within\n" ";; Emacs.\n" "(setq debbugs-browse-url-regexp\n" " (rx line-start\n" " \"http\" (zero-or-one \"s\") \"://\"\n" " (or \"debbugs\" \"issues.guix\" \"bugs\")\n" " \".gnu.org\" (one-or-more \"/\")\n" " (group (zero-or-one \"cgi/bugreport.cgi?bug=\"))\n" " (group-n 3 (one-or-more digit))\n" " line-end))\n" "\n" msgstr "" ";; Mit folgendem Code kann man mit Emacs Debbugs Fehlerberichte direkt\n" ";; in Emacs öffnen.\n" "(setq debbugs-browse-url-regexp\n" " (rx line-start\n" " \"http\" (zero-or-one \"s\") \"://\"\n" " (or \"debbugs\" \"issues.guix\" \"bugs\")\n" " \".gnu.org\" (one-or-more \"/\")\n" " (group (zero-or-one \"cgi/bugreport.cgi?bug=\"))\n" " (group-n 3 (one-or-more digit))\n" " line-end))\n" "\n" #. type: lisp #: guix-git/doc/contributing.texi:692 #, no-wrap msgid "" ";; Change the default when run as 'M-x debbugs-gnu'.\n" "(setq debbugs-gnu-default-packages '(\"guix\" \"guix-patches\"))\n" "\n" msgstr "" ";; Ändern, welche Fehlerberichte uns 'M-x debbugs-gnu' anzeigt.\n" "(setq debbugs-gnu-default-packages '(\"guix\" \"guix-patches\"))\n" "\n" #. type: lisp #: guix-git/doc/contributing.texi:696 #, no-wrap msgid "" ";; Show feature requests.\n" "(setq debbugs-gnu-default-severities\n" " '(\"serious\" \"important\" \"normal\" \"minor\" \"wishlist\"))\n" msgstr "" ";; Auch Bitten um neue Funktionalität zeigen.\n" "(setq debbugs-gnu-default-severities\n" " '(\"serious\" \"important\" \"normal\" \"minor\" \"wishlist\"))\n" #. type: Plain text #: guix-git/doc/contributing.texi:701 msgid "For more information, refer to @ref{Bug Reference,,, emacs, The GNU Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User Guide}." msgstr "Mehr Informationen finden Sie im @ref{Bug Reference,,, emacs, Handbuch zu GNU Emacs} und in der @ref{Minor Mode,,, debbugs-ug, Bedienungsanleitung zu Debbugs}." #. type: Plain text #: guix-git/doc/contributing.texi:708 msgid "Alternative setups than Emacs may let you work on Guix with a similar development experience and they might work better with the tools you currently use or help you make the transition to Emacs." msgstr "Andere Entwicklungswerkzeuge als Emacs sind zum Entwickeln an Guix ähnlich gut nutzbar und sie gliedern sich vielleicht besser in Ihren bisherigen Werkzeugkasten ein. Vielleicht helfen sie Ihnen auch beim Wechsel auf Emacs." #. type: Plain text #: guix-git/doc/contributing.texi:714 msgid "The options listed below only provide the alternatives to the Emacs based setup, which is the most widely used in the Guix community. If you want to really understand how is the perfect setup for Guix development supposed to work, we encourage you to read the section before this regardless the editor you choose to use." msgstr "Die folgend aufgelisteten Programme sind die Alternativen zu einer Emacs-basierten Programmierumgebung, die die am häufigsten benutzte Wahl unter Guix-Nutzern ist. Wenn Sie wirklich verstehen wollen, wie perfekt eingerichtetes Arbeiten mit Guix aussehen soll, möchten wir dazu anhalten, den vorherigen Abschnitt trotzdem zu lesen, auch wenn Sie sich lieber für einen anderen Editor entscheiden." #. type: subsection #: guix-git/doc/contributing.texi:718 guix-git/doc/contributing.texi:720 #: guix-git/doc/contributing.texi:721 #, no-wrap msgid "Guile Studio" msgstr "Guile Studio" #. type: menuentry #: guix-git/doc/contributing.texi:718 msgid "First step in your transition to Emacs." msgstr "Ein erster Schritt in Richtung Emacs." #. type: subsection #: guix-git/doc/contributing.texi:718 guix-git/doc/contributing.texi:733 #: guix-git/doc/contributing.texi:734 #, no-wrap msgid "Vim and NeoVim" msgstr "Vim und NeoVim" #. type: menuentry #: guix-git/doc/contributing.texi:718 msgid "When you are evil to the root." msgstr "Völlig indiskutabel (Scherz)." #. type: Plain text #: guix-git/doc/contributing.texi:726 msgid "Guile Studio is a pre-configured Emacs with mostly everything you need to start hacking in Guile. If you are not familiar with Emacs it makes the transition easier for you." msgstr "Guile Studio ist ein voreingestellter Emacs mit ziemlich allem, um in Guile loszulegen. Wenn Sie Emacs nicht kennen, ist es ein leichterer Einstieg." #. type: example #: guix-git/doc/contributing.texi:729 #, no-wrap msgid "guix install guile-studio\n" msgstr "guix install guile-studio\n" #. type: Plain text #: guix-git/doc/contributing.texi:732 msgid "Guile Studio comes with Geiser preinstalled and prepared for action." msgstr "In Guile Studio ist Geiser vorinstalliert und einsatzbereit." #. type: Plain text #: guix-git/doc/contributing.texi:739 msgid "Vim (and NeoVim) are also packaged in Guix, just in case you decided to go for the evil path." msgstr "Für Vim (und NeoVim) gibt es Pakete in Guix, falls Sie sich dem Bösen verschrieben haben." #. type: example #: guix-git/doc/contributing.texi:742 #, no-wrap msgid "guix install vim\n" msgstr "guix install vim\n" #. type: Plain text #: guix-git/doc/contributing.texi:750 msgid "If you want to enjoy a similar development experience to that in the perfect setup, you should install several plugins to configure the editor. Vim (and NeoVim) have the equivalent to Paredit, @uref{https://www.vim.org/scripts/script.php?script_id=3998, @code{paredit.vim}}, that will help you with the structural editing of Scheme files (the support for very large files is not great, though)." msgstr "Wenn Sie ähnlich bequem wie in der perfekten Einrichtung arbeiten möchten, empfehlen wir einige Plugins zur Konfiguration des Editors. Vim (und NeoVim) haben ein Gegenstück zu Paredit, nämlich @uref{https://www.vim.org/scripts/script.php?script_id=3998, @code{paredit.vim}}, mit dem Sie beim Bearbeiten von Scheme-Dateien deren Struktur einhalten können (bei sehr großen Dateien funktioniert es jedoch nicht gut)." #. type: example #: guix-git/doc/contributing.texi:753 #, no-wrap msgid "guix install vim-paredit\n" msgstr "guix install vim-paredit\n" #. type: Plain text #: guix-git/doc/contributing.texi:757 msgid "We also recommend that you run @code{:set autoindent} so that your code is automatically indented as you type." msgstr "Wir raten auch dazu, dass Sie @code{:set autoindent} ausführen, wodurch Ihr Code beim Tippen automatisch eingerückt wird." #. type: Plain text #: guix-git/doc/contributing.texi:761 msgid "For the interaction with Git, @uref{https://www.vim.org/scripts/script.php?script_id=2975, @code{fugitive.vim}} is the most commonly used plugin:" msgstr "Zur Interaktion mit Git ist @uref{https://www.vim.org/scripts/script.php?script_id=2975, @code{fugitive.vim}} das beliebteste Plugin:" #. type: example #: guix-git/doc/contributing.texi:764 #, no-wrap msgid "guix install vim-fugitive\n" msgstr "guix install vim-fugitive\n" #. type: Plain text #: guix-git/doc/contributing.texi:769 msgid "And of course if you want to interact with Guix directly from inside of vim, using the built-in terminal emulator, we have our very own @code{guix.vim} package!" msgstr "Und selbstverständlich haben wir zum direkten Arbeiten mit Guix in Vim mit dem eingebauten Terminal-Emulator unser @code{guix.vim}-Paket im Angebot!" #. type: example #: guix-git/doc/contributing.texi:772 #, no-wrap msgid "guix install vim-guix-vim\n" msgstr "guix install vim-guix-vim\n" #. type: Plain text #: guix-git/doc/contributing.texi:777 msgid "In NeoVim you can even make a similar setup to Geiser using @url{https://conjure.fun/, Conjure} that lets you connect to a running Guile process and inject your code there live (sadly it's not packaged in Guix yet)." msgstr "Für NeoVim können Sie sogar ähnliche Funktionen wie Geiser bekommen mit @url{https://conjure.fun/, Conjure}, wodurch Sie sich mit einem laufenden Guile-Prozess verbinden und Ihren Code dort live einschleusen können (leider fehlt Conjure noch unter den Paketen von Guix)." #. type: cindex #: guix-git/doc/contributing.texi:782 #, no-wrap msgid "structure, of the source tree" msgstr "Struktur, des Quellbaums" #. type: Plain text #: guix-git/doc/contributing.texi:786 msgid "If you're willing to contribute to Guix beyond packages, or if you'd like to learn how it all fits together, this section provides a guided tour in the code base that you may find useful." msgstr "Wenn Sie zu Guix etwas anderes als Pakete beitragen möchten oder um sich besser auszukennen, wie alles zusammenhält, führt Sie dieser Abschnitt im Quellcode herum, was Ihnen helfen kann." #. type: Plain text #: guix-git/doc/contributing.texi:790 msgid "Overall, the Guix source tree contains almost exclusively Guile @dfn{modules}, each of which can be seen as an independent library (@pxref{Modules,,, guile, GNU Guile Reference Manual})." msgstr "Allgemein enthält Guix’ Quellbaum fast ausschließlich @dfn{Guile-Module}, von denen jedes für sich als eine Bibliothek aufgefasst werden kann (siehe @ref{Modules,,, guile, Referenzhandbuch zu GNU Guile})." #. type: Plain text #: guix-git/doc/contributing.texi:795 msgid "The following table gives an overview of the main directories and what they contain. Remember that in Guile, each module name is derived from its file name---e.g., the module in file @file{guix/packages.scm} is called @code{(guix packages)}." msgstr "Die folgende Tabelle bietet einen Überblick über die wichtigsten Verzeichnisse und was jeweils dort untergebracht ist. Denken Sie daran, dass sich in Guile der Modulname aus dem Dateinamen ableitet. Zum Beispiel heißt das Modul in der Datei @file{guix/packages.scm} folglich @code{(guix packages)}." #. type: item #: guix-git/doc/contributing.texi:797 guix-git/doc/contributing.texi:3408 #: guix-git/doc/guix.texi:11315 #, no-wrap msgid "guix" msgstr "guix" #. type: table #: guix-git/doc/contributing.texi:801 msgid "This is the location of core Guix mechanisms. To illustrate what is meant by ``core'', here are a few examples, starting from low-level tools and going towards higher-level tools:" msgstr "An diesem Ort liegen die Mechanismen im Kern von Guix. Um klarzumachen, was wir mit Kern meinen, sind hier ein paar Beispiele, angefangen mit grundlegenden Werkzeugen bis hin zu abstrahierenden, hochsprachlichen Werkzeugen:" #. type: item #: guix-git/doc/contributing.texi:803 #, no-wrap msgid "(guix store)" msgstr "(guix store)" #. type: table #: guix-git/doc/contributing.texi:805 msgid "Connecting to and interacting with the build daemon (@pxref{The Store})." msgstr "Verbinden und kommunizieren mit dem Erstellungs-Daemon (siehe @ref{The Store})." #. type: item #: guix-git/doc/contributing.texi:805 #, no-wrap msgid "(guix derivations)" msgstr "(guix derivations)" #. type: table #: guix-git/doc/contributing.texi:807 msgid "Creating derivations (@pxref{Derivations})." msgstr "Ableitungen erzeugen (siehe @ref{Derivations})." #. type: item #: guix-git/doc/contributing.texi:807 #, no-wrap msgid "(guix gexps)" msgstr "(guix gexps)" #. type: table #: guix-git/doc/contributing.texi:809 msgid "Writing G-expressions (@pxref{G-Expressions})." msgstr "G-Ausdrücke schreiben (siehe @ref{G-Expressions})." #. type: item #: guix-git/doc/contributing.texi:809 #, no-wrap msgid "(guix packages)" msgstr "(guix packages)" #. type: table #: guix-git/doc/contributing.texi:811 msgid "Defining packages and origins (@pxref{package Reference})." msgstr "Pakete und Paketursprünge (@code{origin}) definieren (siehe @ref{package Reference})." #. type: item #: guix-git/doc/contributing.texi:811 #, no-wrap msgid "(guix download)" msgstr "(guix download)" #. type: itemx #: guix-git/doc/contributing.texi:812 #, no-wrap msgid "(guix git-download)" msgstr "(guix git-download)" #. type: table #: guix-git/doc/contributing.texi:815 msgid "The @code{url-fetch} and @code{git-fetch} origin download methods (@pxref{origin Reference})." msgstr "Die Methoden @code{url-fetch} und @code{git-fetch}, mit denen für Paketursprünge etwas heruntergeladen wird (siehe @ref{origin Reference})." #. type: item #: guix-git/doc/contributing.texi:815 #, no-wrap msgid "(guix swh)" msgstr "(guix swh)" #. type: table #: guix-git/doc/contributing.texi:818 msgid "Fetching source code from the @uref{https://archive.softwareheritage.org,Software Heritage archive}." msgstr "Quellcode aus dem @uref{https://archive.softwareheritage.org,Software-Heritage-Archiv} herunterladen." #. type: item #: guix-git/doc/contributing.texi:818 #, no-wrap msgid "(guix search-paths)" msgstr "(guix search-paths)" #. type: table #: guix-git/doc/contributing.texi:820 msgid "Implementing search paths (@pxref{Search Paths})." msgstr "Suchpfade implementieren (siehe @ref{Search Paths})." #. type: item #: guix-git/doc/contributing.texi:820 #, no-wrap msgid "(guix build-system)" msgstr "(guix build-system)" #. type: table #: guix-git/doc/contributing.texi:822 msgid "The build system interface (@pxref{Build Systems})." msgstr "Die Schnittstelle für Erstellungssysteme (siehe @ref{Build Systems})." #. type: item #: guix-git/doc/contributing.texi:822 #, no-wrap msgid "(guix profiles)" msgstr "(guix profiles)" #. type: table #: guix-git/doc/contributing.texi:824 msgid "Implementing profiles." msgstr "Profile implementieren." #. type: cindex #: guix-git/doc/contributing.texi:826 #, no-wrap msgid "build system, directory structure" msgstr "Erstellungssystem, Verzeichnisstruktur" #. type: item #: guix-git/doc/contributing.texi:827 #, no-wrap msgid "guix/build-system" msgstr "guix/build-system" #. type: table #: guix-git/doc/contributing.texi:830 msgid "This directory contains specific build system implementations (@pxref{Build Systems}), such as:" msgstr "Dieses Verzeichnis enthält die einzelnen Implementierungen jedes Erstellungssystems (siehe @ref{Build Systems}), etwa:" #. type: item #: guix-git/doc/contributing.texi:832 #, no-wrap msgid "(guix build-system gnu)" msgstr "(guix build-system gnu)" #. type: table #: guix-git/doc/contributing.texi:834 msgid "the GNU build system;" msgstr "das GNU-Erstellungssystem," #. type: item #: guix-git/doc/contributing.texi:834 #, no-wrap msgid "(guix build-system cmake)" msgstr "(guix build-system cmake)" #. type: table #: guix-git/doc/contributing.texi:836 msgid "the CMake build system;" msgstr "das CMake-Erstellungssystem," #. type: item #: guix-git/doc/contributing.texi:836 #, no-wrap msgid "(guix build-system pyproject)" msgstr "(guix build-system pyproject)" #. type: table #: guix-git/doc/contributing.texi:838 msgid "The Python ``pyproject'' build system." msgstr "für Python das „pyproject“-Erstellungssystem." #. type: item #: guix-git/doc/contributing.texi:840 #, no-wrap msgid "guix/build" msgstr "guix/build" #. type: table #: guix-git/doc/contributing.texi:845 msgid "This contains code generally used on the ``build side'' (@pxref{G-Expressions, strata of code}). This includes code used to build packages or other operating system components, as well as utilities:" msgstr "Hier ist Code zu finden, der allgemein auf der „Erstellungsseite“ verwendet wird (siehe @ref{G-Expressions, Schichten von Code}). Dazu gehört Code zum Erstellen von Paketen oder anderen Bestandteilen von Betriebssystemen sowie Werkzeuge:" #. type: item #: guix-git/doc/contributing.texi:847 #, no-wrap msgid "(guix build utils)" msgstr "(guix build utils)" #. type: table #: guix-git/doc/contributing.texi:849 msgid "Utilities for package definitions and more (@pxref{Build Utilities})." msgstr "Werkzeuge, die in Paketdefinitionen und mehr helfen können (siehe @ref{Build Utilities})." #. type: item #: guix-git/doc/contributing.texi:849 #, no-wrap msgid "(guix build gnu-build-system)" msgstr "(guix build gnu-build-system)" #. type: itemx #: guix-git/doc/contributing.texi:850 #, no-wrap msgid "(guix build cmake-build-system)" msgstr "(guix build cmake-build-system)" #. type: itemx #: guix-git/doc/contributing.texi:851 #, no-wrap msgid "(guix build pyproject-build-system)" msgstr "(guix build pyproject-build-system)" #. type: table #: guix-git/doc/contributing.texi:854 msgid "Implementation of build systems, and in particular definition of their build phases (@pxref{Build Phases})." msgstr "Implementierungen von Erstellungssystemen, insbesondere die Definition der Erstellungsphasen (siehe @ref{Build Phases})." #. type: item #: guix-git/doc/contributing.texi:854 #, no-wrap msgid "(guix build syscalls)" msgstr "(guix build syscalls)" #. type: table #: guix-git/doc/contributing.texi:856 msgid "Interface to the C library and to Linux system calls." msgstr "Schnittstelle zur C-Bibliothek und zu Linux-Betriebssystemaufrufen." #. type: cindex #: guix-git/doc/contributing.texi:858 #, no-wrap msgid "command-line tools, as Guile modules" msgstr "Befehlszeilenwerkzeuge, als Guile-Module" #. type: cindex #: guix-git/doc/contributing.texi:859 #, no-wrap msgid "command modules" msgstr "Befehlsmodule" #. type: item #: guix-git/doc/contributing.texi:860 #, no-wrap msgid "guix/scripts" msgstr "guix/scripts" #. type: table #: guix-git/doc/contributing.texi:865 msgid "This contains modules corresponding to @command{guix} sub-commands. For example, the @code{(guix scripts shell)} module exports the @code{guix-shell} procedure, which directly corresponds to the @command{guix shell} command (@pxref{Invoking guix shell})." msgstr "Hierin sind Module enthalten, die Unterbefehlen des @command{guix}-Befehls entsprechen. Zum Beispiel exportiert das Modul @code{(guix scripts shell)} die Prozedur @code{guix-shell}, die direkt dem Befehl @command{guix shell} entspricht (siehe @ref{Invoking guix shell})." #. type: cindex #: guix-git/doc/contributing.texi:866 #, no-wrap msgid "importer modules" msgstr "Importer-Module" #. type: item #: guix-git/doc/contributing.texi:867 #, no-wrap msgid "guix/import" msgstr "guix/import" #. type: table #: guix-git/doc/contributing.texi:872 msgid "This contains supporting code for the importers and updaters (@pxref{Invoking guix import}, and @pxref{Invoking guix refresh}). For example, @code{(guix import pypi)} defines the interface to PyPI, which is used by the @command{guix import pypi} command." msgstr "Hierin ist unterstützender Code für die Importer und Aktualisierungsprogramme enthalten (siehe @ref{Invoking guix import} und @ref{Invoking guix refresh}). Zum Beispiel definiert @code{(guix import pypi)} die Schnittstelle zu PyPI, die der Befehl @command{guix import pypi} benutzt." #. type: Plain text #: guix-git/doc/contributing.texi:887 msgid "The directories we have seen so far all live under @file{guix/}. The other important place is the @file{gnu/} directory, which contains primarily package definitions as well as libraries and tools for Guix System (@pxref{System Configuration}) and Guix Home (@pxref{Home Configuration}), all of which build upon functionality provided by @code{(guix @dots{})} modules@footnote{For this reason, @code{(guix @dots{})} modules must generally not depend on @code{(gnu @dots{})} modules, with notable exceptions: @code{(guix build-system @dots{})} modules may look up packages at run time---e.g., @code{(guix build-system cmake)} needs to access the @code{cmake} variable at run time---, @code{(guix scripts @dots{})} often rely on @code{(gnu @dots{})} modules, and the same goes for some of the @code{(guix import @dots{})} modules.}." msgstr "Die bisher vorgestellten Verzeichnisse befinden sich allesamt in @file{guix/}. Der andere wichtige Platz ist das Verzeichnis @file{gnu/}, an dem in erster Linie Paketdefinitionen sowie Bibliotheken und Werkzeuge für Guix System (siehe @ref{System Configuration}) und Guix Home (siehe @ref{Home Configuration}) liegen, die alle auf von @code{(guix …)}-Modulen verfügbar gemachten Funktionalitäten aufbauen@footnote{Aus diesem Grund dürfen @code{(guix …)}-Module allgemein @emph{nicht} von @code{(gnu …)}-Modulen abhängen, mit nennenswerten Ausnahmen: @code{(guix build-system …)}-Module dürfen Pakete zur Laufzeit auflösen, z.B.@: benötigt @code{(guix build-system cmake)} zur Laufzeit Zugriff auf die Variable @code{cmake}, und @code{(guix scripts …)} brauchen oft @code{(gnu …)}-Module, genau wie manche @code{(guix import …)}-Module.}." #. type: cindex #: guix-git/doc/contributing.texi:889 #, no-wrap msgid "package modules" msgstr "Paketmodule" #. type: item #: guix-git/doc/contributing.texi:890 #, no-wrap msgid "gnu/packages" msgstr "gnu/packages" #. type: table #: guix-git/doc/contributing.texi:894 msgid "This is by far the most crowded directory of the source tree: it contains @dfn{package modules} that export package definitions (@pxref{Package Modules}). A few examples:" msgstr "In diesem Verzeichnis kommen bei weitem die meisten Module zusammen, nämlich sind hier @dfn{Paketmodule}, die Paketdefinitionen exportieren (siehe @ref{Package Modules}). Einige Beispiele:" #. type: item #: guix-git/doc/contributing.texi:896 #, no-wrap msgid "(gnu packages base)" msgstr "(gnu packages base)" #. type: table #: guix-git/doc/contributing.texi:899 msgid "Module providing ``base'' packages: @code{glibc}, @code{coreutils}, @code{grep}, etc." msgstr "Module, die grundlegende Pakete bereitstellen: @code{glibc}, @code{coreutils}, @code{grep}, etc." #. type: item #: guix-git/doc/contributing.texi:899 #, no-wrap msgid "(gnu packages guile)" msgstr "(gnu packages guile)" #. type: table #: guix-git/doc/contributing.texi:901 msgid "Guile and core Guile packages." msgstr "Guile und zentrale Guile-Pakete." #. type: item #: guix-git/doc/contributing.texi:901 #, no-wrap msgid "(gnu packages linux)" msgstr "(gnu packages linux)" #. type: table #: guix-git/doc/contributing.texi:903 msgid "The Linux-libre kernel and related packages." msgstr "Der Linux-libre-Kernel und damit zusammenhängende Pakete." #. type: item #: guix-git/doc/contributing.texi:903 #, no-wrap msgid "(gnu packages python)" msgstr "(gnu packages python)" #. type: table #: guix-git/doc/contributing.texi:905 msgid "Python and core Python packages." msgstr "Python und zentrale Python-Pakete." #. type: item #: guix-git/doc/contributing.texi:905 #, no-wrap msgid "(gnu packages python-xyz)" msgstr "(gnu packages python-xyz)" #. type: table #: guix-git/doc/contributing.texi:907 msgid "Miscellaneous Python packages (we were not very creative)." msgstr "Sonstige Python-Pakete (wir waren wenig einfallsreich)." #. type: table #: guix-git/doc/contributing.texi:912 msgid "In any case, you can jump to a package definition using @command{guix edit} (@pxref{Invoking guix edit}) and view its location with @command{guix show} (@pxref{Invoking guix package})." msgstr "Jedenfalls können Sie direkt zu beliebigen Paketdefinitionen navigieren, indem Sie @command{guix edit} benutzen (siehe @ref{Invoking guix edit}), und Sie können die Stelle mit einem Paket finden, indem Sie @command{guix show} aufrufen (siehe @ref{Invoking guix package})." #. type: findex #: guix-git/doc/contributing.texi:913 #, no-wrap msgid "search-patches" msgstr "search-patches" #. type: item #: guix-git/doc/contributing.texi:914 #, no-wrap msgid "gnu/packages/patches" msgstr "gnu/packages/patches" #. type: table #: guix-git/doc/contributing.texi:917 msgid "This directory contains patches applied against packages and obtained using the @code{search-patches} procedure." msgstr "In diesem Verzeichnis befinden sich Patches, die auf Pakete angewandt werden. Auf sie wird mit der Prozedur @code{search-patches} Bezug genommen." #. type: item #: guix-git/doc/contributing.texi:918 #, no-wrap msgid "gnu/services" msgstr "gnu/services" #. type: table #: guix-git/doc/contributing.texi:922 msgid "This contains service definitions, primarily for Guix System (@pxref{Services}) but some of them are adapted and reused for Guix Home as we will see below. Examples:" msgstr "In diesem sind Dienstdefinitionen, vor allem für Guix System (siehe @ref{Services}), wobei manche auch für Guix Home angepasst und wiederverwendet werden, wie wir weiter unten sehen werden. Beispiele:" #. type: item #: guix-git/doc/contributing.texi:924 #, no-wrap msgid "(gnu services)" msgstr "(gnu services)" #. type: table #: guix-git/doc/contributing.texi:927 msgid "The service framework itself, which defines the service and service type data types (@pxref{Service Composition})." msgstr "Der eigentliche Rahmen für Dienste. Dazu werden die Datentypen für Dienst und Diensttyp definiert (siehe @ref{Service Composition})." #. type: item #: guix-git/doc/contributing.texi:927 #, no-wrap msgid "(gnu services base)" msgstr "(gnu services base)" #. type: table #: guix-git/doc/contributing.texi:929 msgid "``Base'' services (@pxref{Base Services})." msgstr "Grundlegende Dienste (siehe @ref{Base Services})." #. type: item #: guix-git/doc/contributing.texi:929 #, no-wrap msgid "(gnu services desktop)" msgstr "(gnu services desktop)" #. type: table #: guix-git/doc/contributing.texi:931 msgid "``Desktop'' services (@pxref{Desktop Services})." msgstr "„Desktop“-Dienste (siehe @ref{Desktop Services})." #. type: item #: guix-git/doc/contributing.texi:931 #, no-wrap msgid "(gnu services shepherd)" msgstr "(gnu services shepherd)" #. type: table #: guix-git/doc/contributing.texi:933 msgid "Support for Shepherd services (@pxref{Shepherd Services})." msgstr "Unterstützung für Shepherd-Dienste (siehe @ref{Shepherd Services})." #. type: table #: guix-git/doc/contributing.texi:938 msgid "You can jump to a service definition using @command{guix system edit} and view its location with @command{guix system search} (@pxref{Invoking guix system})." msgstr "Sie können direkt zu Dienstdefinitionen navigieren, indem Sie @command{guix system edit} benutzen, und Sie können die Stelle mit einem Dienst finden, indem Sie @command{guix system search} aufrufen (siehe @ref{Invoking guix system})." #. type: item #: guix-git/doc/contributing.texi:939 #, no-wrap msgid "gnu/system" msgstr "gnu/system" #. type: table #: guix-git/doc/contributing.texi:941 msgid "These are core Guix System modules, such as:" msgstr "Dort sind für Guix System zentrale Module wie:" #. type: item #: guix-git/doc/contributing.texi:943 #, no-wrap msgid "(gnu system)" msgstr "(gnu system)" #. type: table #: guix-git/doc/contributing.texi:945 msgid "Defines @code{operating-system} (@pxref{operating-system Reference})." msgstr "Definiert @code{operating-system} (siehe @ref{operating-system Reference})." #. type: item #: guix-git/doc/contributing.texi:945 #, no-wrap msgid "(gnu system file-systems)" msgstr "(gnu system file-systems)" #. type: table #: guix-git/doc/contributing.texi:947 msgid "Defines @code{file-system} (@pxref{File Systems})." msgstr "Definiert @code{file-system} (siehe @ref{File Systems})." #. type: item #: guix-git/doc/contributing.texi:947 #, no-wrap msgid "(gnu system mapped-devices)" msgstr "(gnu system mapped-devices)" #. type: table #: guix-git/doc/contributing.texi:949 msgid "Defines @code{mapped-device} (@pxref{Mapped Devices})." msgstr "Definiert @code{mapped-device} (siehe @ref{Mapped Devices})." #. type: item #: guix-git/doc/contributing.texi:951 #, no-wrap msgid "gnu/build" msgstr "gnu/build" #. type: table #: guix-git/doc/contributing.texi:955 msgid "These are modules that are either used on the ``build side'' when building operating systems or packages, or at run time by operating systems." msgstr "Diese Module werden entweder auf „Erstellungsseite“ beim Erstellen von Betriebssystemen oder Paketen benutzt oder zur Laufzeit durch Betriebssysteme." #. type: item #: guix-git/doc/contributing.texi:957 #, no-wrap msgid "(gnu build accounts)" msgstr "(gnu build accounts)" #. type: table #: guix-git/doc/contributing.texi:960 msgid "Creating @file{/etc/passwd}, @file{/etc/shadow}, etc. (@pxref{User Accounts})." msgstr "Erzeugen von @file{/etc/passwd}, @file{/etc/shadow}, etc.@: (siehe @ref{User Accounts})." #. type: item #: guix-git/doc/contributing.texi:960 #, no-wrap msgid "(gnu build activation)" msgstr "(gnu build activation)" #. type: table #: guix-git/doc/contributing.texi:962 msgid "Activating an operating system at boot time or reconfiguration time." msgstr "Ein Betriebssystem aktivieren, wenn der Rechner gestartet oder rekonfiguriert wird." #. type: item #: guix-git/doc/contributing.texi:962 #, no-wrap msgid "(gnu build file-systems)" msgstr "(gnu build file-systems)" #. type: table #: guix-git/doc/contributing.texi:964 msgid "Searching, checking, and mounting file systems." msgstr "Dateisysteme suchen, prüfen und einbinden." #. type: item #: guix-git/doc/contributing.texi:964 #, no-wrap msgid "(gnu build linux-boot)" msgstr "(gnu build linux-boot)" #. type: itemx #: guix-git/doc/contributing.texi:965 #, no-wrap msgid "(gnu build hurd-boot)" msgstr "(gnu build hurd-boot)" #. type: table #: guix-git/doc/contributing.texi:967 msgid "Booting GNU/Linux and GNU/Hurd operating systems." msgstr "Booten von GNU/Linux- und GNU/Hurd-Betriebssystemen." #. type: item #: guix-git/doc/contributing.texi:967 #, no-wrap msgid "(gnu build linux-initrd)" msgstr "(gnu build linux-initrd)" #. type: table #: guix-git/doc/contributing.texi:969 msgid "Creating a Linux initial RAM disk (@pxref{Initial RAM Disk})." msgstr "Erzeugen einer initialen RAM-Disk für Linux (siehe @ref{Initial RAM Disk})." #. type: item #: guix-git/doc/contributing.texi:971 #, no-wrap msgid "gnu/home" msgstr "gnu/home" #. type: table #: guix-git/doc/contributing.texi:974 msgid "This contains all things Guix Home (@pxref{Home Configuration}); examples:" msgstr "Hier ist alles, was mit Guix Home zu tun hat (siehe @ref{Home Configuration}). Beispiele:" #. type: item #: guix-git/doc/contributing.texi:976 #, no-wrap msgid "(gnu home services)" msgstr "(gnu home services)" #. type: table #: guix-git/doc/contributing.texi:978 msgid "Core services such as @code{home-files-service-type}." msgstr "Dienste im Kern von Guix Home wie @code{home-files-service-type}." #. type: item #: guix-git/doc/contributing.texi:978 #, no-wrap msgid "(gnu home services ssh)" msgstr "(gnu home services ssh)" #. type: table #: guix-git/doc/contributing.texi:980 msgid "SSH-related services (@pxref{Secure Shell})." msgstr "Mit SSH zu tun habende Dienste (siehe @ref{Secure Shell})." #. type: item #: guix-git/doc/contributing.texi:982 #, no-wrap msgid "gnu/installer" msgstr "gnu/installer" #. type: table #: guix-git/doc/contributing.texi:985 msgid "This contains the text-mode graphical system installer (@pxref{Guided Graphical Installation})." msgstr "Dies enthält das textuelle grafische Systeminstallationsprogramm (siehe @ref{Guided Graphical Installation})." #. type: item #: guix-git/doc/contributing.texi:986 #, no-wrap msgid "gnu/machine" msgstr "gnu/machine" #. type: table #: guix-git/doc/contributing.texi:989 msgid "These are the @dfn{machine abstractions} used by @command{guix deploy} (@pxref{Invoking guix deploy})." msgstr "Dies sind die @dfn{Maschinenabstraktionen}, die von @command{guix deploy} benutzt werden (siehe @ref{Invoking guix deploy})." #. type: item #: guix-git/doc/contributing.texi:990 #, no-wrap msgid "gnu/tests" msgstr "gnu/tests" #. type: table #: guix-git/doc/contributing.texi:993 msgid "This contains system tests---tests that spawn virtual machines to check that system services work as expected (@pxref{Running the Test Suite})." msgstr "Hier sind Systemtests enthalten, also Tests, die virtuelle Maschinen anlegen, mit denen Sie prüfen, dass sich Systemdienste wie erwartet verhalten (siehe @ref{Running the Test Suite})." #. type: Plain text #: guix-git/doc/contributing.texi:997 msgid "Last, there's also a few directories that contain files that are @emph{not} Guile modules:" msgstr "Zu guter Letzt gibt es noch ein paar Verzeichnisse, in denen Dateien zu finden sind, die @emph{keine} Guile-Module sind:" #. type: item #: guix-git/doc/contributing.texi:999 #, no-wrap msgid "nix" msgstr "nix" #. type: table #: guix-git/doc/contributing.texi:1002 msgid "This is the C++ implementation of @command{guix-daemon}, inherited from Nix (@pxref{Invoking guix-daemon})." msgstr "Dies ist die in C++ geschriebene Implementierung des @command{guix-daemon}, die wir von Nix geerbt haben (siehe @ref{Invoking guix-daemon})." #. type: item #: guix-git/doc/contributing.texi:1003 #, no-wrap msgid "tests" msgstr "tests" #. type: table #: guix-git/doc/contributing.texi:1007 msgid "These are unit tests, each file corresponding more or less to one module, in particular @code{(guix @dots{})} modules (@pxref{Running the Test Suite})." msgstr "Hier sind Modultests („Unit Tests“), wobei jede Datei ungefähr einem Modul entspricht, insbesondere bei @code{(guix …)}-Modulen (siehe @ref{Running the Test Suite})." #. type: item #: guix-git/doc/contributing.texi:1008 #, no-wrap msgid "doc" msgstr "doc" #. type: table #: guix-git/doc/contributing.texi:1012 msgid "This is the documentation in the form of Texinfo files: this manual and the Cookbook. @xref{Writing a Texinfo File,,, texinfo, GNU Texinfo}, for information on Texinfo markup language." msgstr "Dort befindet sich die Dokumentation in Form von Texinfo-Dateien, d.h.@: dieses Handbuch hier und das Kochbuch. Siehe @ref{Writing a Texinfo File,,, texinfo, GNU Texinfo} für Informationen zur Texinfo-Auszeichnungssprache." #. type: item #: guix-git/doc/contributing.texi:1013 #, no-wrap msgid "po" msgstr "po" #. type: table #: guix-git/doc/contributing.texi:1018 msgid "This is the location of translations of Guix itself, of package synopses and descriptions, of the manual, and of the cookbook. Note that @file{.po} files that live here are pulled directly from Weblate (@pxref{Translating Guix})." msgstr "An diesem Ort sind die Übersetzungen von Guix selbst, von Zusammenfassungen und Beschreibungen der Pakete, vom Handbuch und vom Kochbuch. Beachten Sie, dass die @file{.po}-Dateien hier direkt von Weblate heruntergeladen werden (siehe @ref{Translating Guix})." #. type: item #: guix-git/doc/contributing.texi:1019 #, no-wrap msgid "etc" msgstr "etc" #. type: table #: guix-git/doc/contributing.texi:1022 msgid "Miscellaneous files: shell completions, support for systemd and other init systems, Git hooks, etc." msgstr "Verschiedene Dateien: Shell-Komplettierungen, Dateien zur Unterstützung von systemd und anderen init-Systemen, Git-Hooks usw." #. type: Plain text #: guix-git/doc/contributing.texi:1029 msgid "With all this, a fair chunk of your operating system is at your fingertips! Beyond @command{grep} and @command{git grep}, @pxref{The Perfect Setup} on how to navigate code from your editor, and @pxref{Using Guix Interactively} for information on how to use Scheme modules interactively. Enjoy!" msgstr "Mit diesem Wissen sind Sie in der Lage, ein beachtliches Stück Ihres Betriebssystems anzupassen! Siehe neben @command{grep} und @command{git grep} auch den Abschnitt @ref{The Perfect Setup}, um zu lernen, wie Sie mit Ihrem Editor den Code anpassen, und siehe @ref{Using Guix Interactively}, um zu erfahren, wie Sie mit Scheme-Modulen interaktiv umgehen. Ein Genuss!" #. type: cindex #: guix-git/doc/contributing.texi:1033 #, no-wrap msgid "packages, creating" msgstr "Pakete definieren" #. type: Plain text #: guix-git/doc/contributing.texi:1037 msgid "The GNU distribution is nascent and may well lack some of your favorite packages. This section describes how you can help make the distribution grow." msgstr "Die GNU-Distribution ist noch sehr jung und einige Ihrer Lieblingspakete könnten noch fehlen. Dieser Abschnitt beschreibt, wie Sie dabei helfen können, die Distribution wachsen zu lassen." #. type: Plain text #: guix-git/doc/contributing.texi:1045 msgid "Free software packages are usually distributed in the form of @dfn{source code tarballs}---typically @file{tar.gz} files that contain all the source files. Adding a package to the distribution means essentially two things: adding a @dfn{recipe} that describes how to build the package, including a list of other packages required to build it, and adding @dfn{package metadata} along with that recipe, such as a description and licensing information." msgstr "Pakete mit freier Software werden normalerweise in Form von @dfn{Tarballs mit dem Quellcode} angeboten@tie{}– typischerweise in @file{tar.gz}-Archivdateien, in denen alle Quelldateien enthalten sind. Ein Paket zur Distribution hinzuzufügen, bedeutet also zweierlei Dinge: Zum einen fügt man ein @dfn{Rezept} ein, das beschreibt, wie das Paket erstellt werden kann, einschließlich einer Liste von anderen Paketen, die für diese Erstellung gebraucht werden, zum anderen fügt man @dfn{Paketmetadaten} zum Rezept hinzu, wie zum Beispiel eine Beschreibung und Lizenzinformationen." #. type: Plain text #: guix-git/doc/contributing.texi:1054 msgid "In Guix all this information is embodied in @dfn{package definitions}. Package definitions provide a high-level view of the package. They are written using the syntax of the Scheme programming language; in fact, for each package we define a variable bound to the package definition, and export that variable from a module (@pxref{Package Modules}). However, in-depth Scheme knowledge is @emph{not} a prerequisite for creating packages. For more information on package definitions, @pxref{Defining Packages}." msgstr "In Guix sind all diese Informationen ein Teil der @dfn{Paketdefinitionen}. In Paketdefinitionen hat man eine abstrahierte, hochsprachliche Sicht auf das Paket. Sie werden in der Syntax der Scheme-Programmiersprache verfasst; tatsächlich definieren wir für jedes Paket eine Variable und binden diese an dessen Definition, um die Variable anschließend aus einem Modul heraus zu exportieren (siehe @ref{Package Modules}). Allerdings ist @emph{kein} tiefgehendes Wissen über Scheme erforderlich, um Pakete zu erstellen. Mehr Informationen über Paketdefinitionen finden Sie im Abschnitt @ref{Defining Packages}." #. type: Plain text #: guix-git/doc/contributing.texi:1060 msgid "Once a package definition is in place, stored in a file in the Guix source tree, it can be tested using the @command{guix build} command (@pxref{Invoking guix build}). For example, assuming the new package is called @code{gnew}, you may run this command from the Guix build tree (@pxref{Running Guix Before It Is Installed}):" msgstr "Eine fertige Paketdefinition kann, nachdem sie in eine Datei im Quell-Verzeichnisbaum von Guix eingesetzt wurde, mit Hilfe des Befehls @command{guix build} getestet werden (siehe @ref{Invoking guix build}). Wenn das Paket zum Beispiel den Namen @code{gnew} trägt, können Sie folgenden Befehl aus dem Erstellungs-Verzeichnisbaum von Guix heraus ausführen (siehe @ref{Running Guix Before It Is Installed}):" #. type: example #: guix-git/doc/contributing.texi:1063 #, no-wrap msgid "./pre-inst-env guix build gnew --keep-failed\n" msgstr "./pre-inst-env guix build gnew --keep-failed\n" #. type: Plain text #: guix-git/doc/contributing.texi:1069 msgid "Using @code{--keep-failed} makes it easier to debug build failures since it provides access to the failed build tree. Another useful command-line option when debugging is @code{--log-file}, to access the build log." msgstr "Wenn Sie @code{--keep-failed} benutzen, ist es leichter, fehlgeschlagene Erstellungen zu untersuchen, weil dann der Verzeichnisbaum der fehlgeschlagenen Erstellung zugänglich bleibt. Eine andere nützliche Befehlszeilenoption bei der Fehlersuche ist @code{--log-file}, womit das Erstellungsprotokoll eingesehen werden kann." #. type: Plain text #: guix-git/doc/contributing.texi:1074 msgid "If the package is unknown to the @command{guix} command, it may be that the source file contains a syntax error, or lacks a @code{define-public} clause to export the package variable. To figure it out, you may load the module from Guile to get more information about the actual error:" msgstr "Wenn der @command{guix}-Befehl das Paket nicht erkennt, kann es daran liegen, dass die Quelldatei einen Syntaxfehler hat oder ihr eine @code{define-public}-Klausel fehlt, die die Paketvariable exportiert. Um das herauszufinden, können Sie das Modul aus Guile heraus laden, um mehr Informationen über den tatsächlichen Fehler zu bekommen:" #. type: example #: guix-git/doc/contributing.texi:1077 #, no-wrap msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n" msgstr "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n" #. type: Plain text #: guix-git/doc/contributing.texi:1084 msgid "Once your package builds correctly, please send us a patch (@pxref{Submitting Patches}). Well, if you need help, we will be happy to help you too. Once the patch is committed in the Guix repository, the new package automatically gets built on the supported platforms by @url{https://@value{SUBSTITUTE-SERVER-1}, our continuous integration system}." msgstr "Sobald Ihr Paket erfolgreich erstellt werden kann, schicken Sie uns bitte einen Patch (siehe @ref{Submitting Patches}). Wenn Sie dabei Hilfe brauchen sollten, helfen wir gerne. Ab dem Zeitpunkt, zu dem der Patch als Commit ins Guix-Repository eingepflegt wurde, wird das neue Paket automatisch durch @url{https://@value{SUBSTITUTE-SERVER-1}, unser System zur Kontinuierlichen Integration} auf allen unterstützten Plattformen erstellt." #. type: cindex #: guix-git/doc/contributing.texi:1085 #, no-wrap msgid "substituter" msgstr "Substituierer" #. type: Plain text #: guix-git/doc/contributing.texi:1092 msgid "Users can obtain the new package definition simply by running @command{guix pull} (@pxref{Invoking guix pull}). When @code{@value{SUBSTITUTE-SERVER-1}} is done building the package, installing the package automatically downloads binaries from there (@pxref{Substitutes}). The only place where human intervention is needed is to review and apply the patch." msgstr "Benutzern steht die neue Paketdefinition zur Verfügung, nachdem sie das nächste Mal @command{guix pull} ausgeführt haben (siehe @ref{Invoking guix pull}). Wenn @code{@value{SUBSTITUTE-SERVER-1}} selbst damit fertig ist, das Paket zu erstellen, werden bei der Installation automatisch Binärdateien von dort heruntergeladen (siehe @ref{Substitutes}). Menschliches Eingreifen muss nur stattfinden, um den Patch zu überprüfen und anzuwenden." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1110 #: guix-git/doc/contributing.texi:1111 #, no-wrap msgid "Software Freedom" msgstr "Software-Freiheit" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "What may go into the distribution." msgstr "Was in die Distribution aufgenommen werden darf." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1138 #: guix-git/doc/contributing.texi:1139 #, no-wrap msgid "Package Naming" msgstr "Paketbenennung" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "What's in a name?" msgstr "Was macht einen Namen aus?" #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1171 #: guix-git/doc/contributing.texi:1172 #, no-wrap msgid "Version Numbers" msgstr "Versionsnummern" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "When the name is not enough." msgstr "Wenn der Name noch nicht genug ist." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1278 #: guix-git/doc/contributing.texi:1279 #, no-wrap msgid "Synopses and Descriptions" msgstr "Zusammenfassungen und Beschreibungen" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Helping users find the right package." msgstr "Den Nutzern helfen, das richtige Paket zu finden." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1357 #: guix-git/doc/contributing.texi:1358 #, no-wrap msgid "Snippets versus Phases" msgstr "„Snippets“ oder Phasen" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Whether to use a snippet, or a build phase." msgstr "Benutzt man Code-Schnipsel oder eine Erstellungsphase?" #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1372 #: guix-git/doc/contributing.texi:1373 #, no-wrap msgid "Cyclic Module Dependencies" msgstr "Zyklische Modulabhängigkeiten" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Going full circle." msgstr "Sich selbst erkennen lassen." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1427 #: guix-git/doc/contributing.texi:1428 guix-git/doc/guix.texi:1887 #, no-wrap msgid "Emacs Packages" msgstr "Emacs-Pakete" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Your Elisp fix." msgstr "Für Ihren Elisp-Bedarf." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1467 #: guix-git/doc/contributing.texi:1468 #, no-wrap msgid "Python Modules" msgstr "Python-Module" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "A touch of British comedy." msgstr "Ein Touch britischer Comedy." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1562 #: guix-git/doc/contributing.texi:1563 #, no-wrap msgid "Perl Modules" msgstr "Perl-Module" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Little pearls." msgstr "Kleine Perlen." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1578 #: guix-git/doc/contributing.texi:1579 #, no-wrap msgid "Java Packages" msgstr "Java-Pakete" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Coffee break." msgstr "Kaffeepause." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1598 #: guix-git/doc/contributing.texi:1599 #, no-wrap msgid "Rust Crates" msgstr "Rust-Crates" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Beware of oxidation." msgstr "Umgang mit Oxidation." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1632 #: guix-git/doc/contributing.texi:1633 #, no-wrap msgid "Elm Packages" msgstr "Elm-Pakete" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Trees of browser code" msgstr "Bäume aus Browser-Code." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1713 #: guix-git/doc/contributing.texi:1714 #, no-wrap msgid "Fonts" msgstr "Schriftarten" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Fond of fonts." msgstr "Schriften verschriftlicht." #. type: cindex #: guix-git/doc/contributing.texi:1114 #, no-wrap msgid "free software" msgstr "freie Software" #. type: Plain text #: guix-git/doc/contributing.texi:1122 msgid "The GNU operating system has been developed so that users can have freedom in their computing. GNU is @dfn{free software}, meaning that users have the @url{https://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to run the program, to study and change the program in source code form, to redistribute exact copies, and to distribute modified versions. Packages found in the GNU distribution provide only software that conveys these four freedoms." msgstr "Das GNU-Betriebssystem wurde entwickelt, um Menschen Freiheit zu ermöglichen, wie sie ihre Rechengeräte benutzen. GNU ist @dfn{freie Software}, was bedeutet, dass Benutzer die @url{https://www.gnu.org/philosophy/free-sw.de.html,vier wesentlichen Freiheiten} haben: das Programm auszuführen, es zu untersuchen, das Programm in Form seines Quellcodes anzupassen und exakte Kopien ebenso wie modifizierte Versionen davon an andere weiterzugeben. Die Pakete, die Sie in der GNU-Distribution finden, stellen ausschließlich solche Software zur Verfügung, die Ihnen diese vier Freiheiten gewährt." #. type: Plain text #: guix-git/doc/contributing.texi:1128 msgid "In addition, the GNU distribution follow the @url{https://www.gnu.org/distros/free-system-distribution-guidelines.html,free software distribution guidelines}. Among other things, these guidelines reject non-free firmware, recommendations of non-free software, and discuss ways to deal with trademarks and patents." msgstr "Außerdem befolgt die GNU-Distribution die @url{https://www.gnu.org/distros/free-system-distribution-guidelines.de.html,Richtlinien für freie Systemverteilungen}. Unter anderem werden unfreie Firmware sowie Empfehlungen von unfreier Software abgelehnt und Möglichkeiten zum Umgang mit Markenzeichen und Patenten werden diskutiert." #. type: Plain text #: guix-git/doc/contributing.texi:1136 msgid "Some otherwise free upstream package sources contain a small and optional subset that violates the above guidelines, for instance because this subset is itself non-free code. When that happens, the offending items are removed with appropriate patches or code snippets in the @code{origin} form of the package (@pxref{Defining Packages}). This way, @code{guix build --source} returns the ``freed'' source rather than the unmodified upstream source." msgstr "Ansonsten freier Paketquellcode von manchen Anbietern enthält einen kleinen und optionalen Teil, der diese Richtlinien verletzt. Zum Beispiel kann dieser Teil selbst unfreier Code sein. Wenn das vorkommt, wird der sie verletzende Teil mit angemessenen Patches oder Code-Schnipseln innerhalb der @code{origin}-Form des Pakets entfernt (siehe @ref{Defining Packages}). Dadurch liefert Ihnen @code{guix build --source} nur den „befreiten“ Quellcode und nicht den unmodifizierten Quellcode des Anbieters." #. type: cindex #: guix-git/doc/contributing.texi:1141 #, no-wrap msgid "package name" msgstr "Paketname" #. type: Plain text #: guix-git/doc/contributing.texi:1149 msgid "A package actually has two names associated with it. First, there is the name of the @emph{Scheme variable}, the one following @code{define-public}. By this name, the package can be made known in the Scheme code, for instance as input to another package. Second, there is the string in the @code{name} field of a package definition. This name is used by package management commands such as @command{guix package} and @command{guix build}." msgstr "Tatsächlich sind mit jedem Paket zwei Namen assoziiert: Zum einen gibt es den Namen der @emph{Scheme-Variablen}, der direkt nach @code{define-public} im Code steht. Mit diesem Namen kann das Paket im Scheme-Code nutzbar gemacht und zum Beispiel als Eingabe eines anderen Pakets benannt werden. Zum anderen gibt es die Zeichenkette im @code{name}-Feld einer Paketdefinition. Dieser Name wird von Paketverwaltungsbefehlen wie @command{guix package} und @command{guix build} benutzt." #. type: Plain text #: guix-git/doc/contributing.texi:1154 msgid "Both are usually the same and correspond to the lowercase conversion of the project name chosen upstream, with underscores replaced with hyphens. For instance, GNUnet is available as @code{gnunet}, and SDL_net as @code{sdl-net}." msgstr "Meistens sind die beiden identisch und ergeben sich aus einer Umwandlung des vom Anbieter verwendeten Projektnamens in Kleinbuchstaben, bei der Unterstriche durch Bindestriche ersetzt werden. Zum Beispiel wird GNUnet unter dem Paketnamen @code{gnunet} angeboten und SDL_net als @code{sdl-net}." #. type: Plain text #: guix-git/doc/contributing.texi:1162 msgid "A noteworthy exception to this rule is when the project name is only a single character, or if an older maintained project with the same name already exists---regardless of whether it has already been packaged for Guix. Use common sense to make such names unambiguous and meaningful. For example, Guix's package for the shell called ``s'' upstream is @code{s-shell} and @emph{not} @code{s}. Feel free to ask your fellow hackers for inspiration." msgstr "Es gibt eine nennenswerte Ausnahme zu dieser Regel, nämlich wenn der Projektname nur ein einzelnes Zeichen ist oder auch wenn es bereits ein älteres, aktives Projekt mit demselben Namen gibt, egal ob es schon für Guix verpackt wurde. Lassen Sie Ihren gesunden Menschenverstand einen eindeutigen und sprechenden Namen auswählen. Zum Beispiel wurde die Shell, die bei ihrem Anbieter „s“ heißt, @code{s-shell} genannt und @emph{nicht} @code{s}. Sie sind eingeladen, Ihre Hackerkollegen um Inspiration zu bitten." #. type: Plain text #: guix-git/doc/contributing.texi:1167 msgid "We do not add @code{lib} prefixes for library packages, unless these are already part of the official project name. But @pxref{Python Modules} and @ref{Perl Modules} for special rules concerning modules for the Python and Perl languages." msgstr "An Bibliothekspakete hängen wir vorne kein @code{lib} als Präfix an, solange es nicht Teil des offiziellen Projektnamens ist. Beachten Sie aber die Abschnitte @ref{Python Modules} und @ref{Perl Modules}, in denen Sonderregeln für Module der Programmiersprachen Python und Perl beschrieben sind." #. type: Plain text #: guix-git/doc/contributing.texi:1169 msgid "Font package names are handled differently, @pxref{Fonts}." msgstr "Auch Pakete mit Schriftarten werden anders behandelt, siehe @ref{Fonts}." #. type: cindex #: guix-git/doc/contributing.texi:1174 #, no-wrap msgid "package version" msgstr "Paketversion" #. type: Plain text #: guix-git/doc/contributing.texi:1183 msgid "We usually package only the latest version of a given free software project. But sometimes, for instance for incompatible library versions, two (or more) versions of the same package are needed. These require different Scheme variable names. We use the name as defined in @ref{Package Naming} for the most recent version; previous versions use the same name, suffixed by @code{-} and the smallest prefix of the version number that may distinguish the two versions." msgstr "Normalerweise stellen wir nur für die neueste Version eines Freie-Software-Projekts ein Paket bereit. Manchmal gibt es allerdings Fälle wie zum Beispiel untereinander inkompatible Bibliotheksversionen, so dass zwei (oder mehr) Versionen desselben Pakets angeboten werden müssen. In diesem Fall müssen wir verschiedene Scheme-Variablennamen benutzen. Wir benutzen dann für die neueste Version den Namen, wie er im Abschnitt @ref{Package Naming} festgelegt wird, und geben vorherigen Versionen denselben Namen mit einem zusätzlichen Suffix aus @code{-} gefolgt vom kürzesten Präfix der Versionsnummer, mit dem noch immer zwei Versionen unterschieden werden können." #. type: Plain text #: guix-git/doc/contributing.texi:1186 msgid "The name inside the package definition is the same for all versions of a package and does not contain any version number." msgstr "Der Name innerhalb der Paketdefinition ist hingegen derselbe für alle Versionen eines Pakets und enthält keine Versionsnummer." #. type: Plain text #: guix-git/doc/contributing.texi:1188 msgid "For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as follows:" msgstr "Zum Beispiel können für GTK in den Versionen 2.24.20 und 3.9.12 Pakete wie folgt geschrieben werden:" #. type: lisp #: guix-git/doc/contributing.texi:1200 #, no-wrap msgid "" "(define-public gtk+\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.9.12\")\n" " ...))\n" "(define-public gtk+-2\n" " (package\n" " (name \"gtk+\")\n" " (version \"2.24.20\")\n" " ...))\n" msgstr "" "(define-public gtk+\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.9.12\")\n" " …))\n" "(define-public gtk+-2\n" " (package\n" " (name \"gtk+\")\n" " (version \"2.24.20\")\n" " …))\n" #. type: Plain text #: guix-git/doc/contributing.texi:1202 msgid "If we also wanted GTK+ 3.8.2, this would be packaged as" msgstr "Wenn wir auch GTK 3.8.2 wollten, würden wir das Paket schreiben als" #. type: lisp #: guix-git/doc/contributing.texi:1208 #, no-wrap msgid "" "(define-public gtk+-3.8\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.8.2\")\n" " ...))\n" msgstr "" "(define-public gtk+-3.8\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.8.2\")\n" " …))\n" #. type: cindex #: guix-git/doc/contributing.texi:1212 #, no-wrap msgid "version number, for VCS snapshots" msgstr "Versionsnummer, bei Snapshots aus Versionskontrolle" #. type: Plain text #: guix-git/doc/contributing.texi:1218 msgid "Occasionally, we package snapshots of upstream's version control system (VCS) instead of formal releases. This should remain exceptional, because it is up to upstream developers to clarify what the stable release is. Yet, it is sometimes necessary. So, what should we put in the @code{version} field?" msgstr "Gelegentlich fügen wir auch Pakete für Snapshots aus dem Versionskontrollsystem des Anbieters statt formaler Veröffentlichungen zur Distribution hinzu. Das sollte die Ausnahme bleiben, weil die Entwickler selbst klarstellen sollten, welche Version als die stabile Veröffentlichung gelten sollte, ab und zu ist es jedoch notwendig. Was also sollten wir dann im @code{version}-Feld eintragen?" #. type: Plain text #: guix-git/doc/contributing.texi:1226 msgid "Clearly, we need to make the commit identifier of the VCS snapshot visible in the version string, but we also need to make sure that the version string is monotonically increasing so that @command{guix package --upgrade} can determine which version is newer. Since commit identifiers, notably with Git, are not monotonically increasing, we add a revision number that we increase each time we upgrade to a newer snapshot. The resulting version string looks like this:" msgstr "Offensichtlich muss der Bezeichner des Commits, den wir als Snapshot aus dem Versionskontrollsystem nehmen, in der Versionszeichenkette zu erkennen sein, aber wir müssen auch sicherstellen, dass die Version monoton steigend ist, damit @command{guix package --upgrade} feststellen kann, welche Version die neuere ist. Weil Commit-Bezeichner, insbesondere bei Git, nicht monoton steigen, müssen wir eine Revisionsnummer hinzufügen, die wir jedes Mal erhöhen, wenn wir das Paket auf einen neueren Snapshot aktualisieren. Die sich ergebende Versionszeichenkette sieht dann so aus:" #. type: example #: guix-git/doc/contributing.texi:1235 #, no-wrap msgid "" "2.0.11-3.cabba9e\n" " ^ ^ ^\n" " | | `-- upstream commit ID\n" " | |\n" " | `--- Guix package revision\n" " |\n" "latest upstream version\n" msgstr "" "2.0.11-3.cabba9e\n" " ^ ^ ^\n" " | | `-- Commit-ID beim Anbieter\n" " | |\n" " | `--- Revisionsnummer des Guix-Pakets\n" " |\n" "die neueste Version, die der Anbieter veröffentlicht hat\n" #. type: Plain text #: guix-git/doc/contributing.texi:1245 msgid "It is a good idea to strip commit identifiers in the @code{version} field to, say, 7 digits. It avoids an aesthetic annoyance (assuming aesthetics have a role to play here) as well as problems related to OS limits such as the maximum shebang length (127 bytes for the Linux kernel). There are helper functions for doing this for packages using @code{git-fetch} or @code{hg-fetch} (see below). It is best to use the full commit identifiers in @code{origin}s, though, to avoid ambiguities. A typical package definition may look like this:" msgstr "Es ist eine gute Idee, die Commit-Bezeichner im @code{version}-Feld auf, sagen wir, 7 Ziffern zu beschränken. Das sieht besser aus (wenn das hier eine Rolle spielen sollte) und vermeidet Probleme, die mit der maximalen Länge von Shebangs zu tun haben (127 Bytes beim Linux-Kernel). Bei Paketen, die @code{git-fetch} oder @code{hg-fetch} benutzen, können Sie dafür Hilfsfunktionen nutzen (siehe unten). Am besten benutzen Sie in @code{origin}s jedoch den vollständigen Commit-Bezeichner, um Mehrdeutigkeiten zu vermeiden. Eine typische Paketdefinition könnte so aussehen:" #. type: lisp #: guix-git/doc/contributing.texi:1262 #, no-wrap msgid "" "(define my-package\n" " (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n" " (revision \"1\")) ;Guix package revision\n" " (package\n" " (version (git-version \"0.9\" revision commit))\n" " (source (origin\n" " (method git-fetch)\n" " (uri (git-reference\n" " (url \"git://example.org/my-package.git\")\n" " (commit commit)))\n" " (sha256 (base32 \"1mbikn@dots{}\"))\n" " (file-name (git-file-name name version))))\n" " ;; @dots{}\n" " )))\n" msgstr "" "(define mein-paket\n" " (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n" " (revision \"1\")) ;Guix-Paketrevision\n" " (package\n" " (version (git-version \"0.9\" revision commit))\n" " (source (origin\n" " (method git-fetch)\n" " (uri (git-reference\n" " (url \"git://example.org/mein-paket.git\")\n" " (commit commit)))\n" " (sha256 (base32 \"1mbikn…\"))\n" " (file-name (git-file-name name version))))\n" " ;; …\n" " )))\n" #. type: deffn #: guix-git/doc/contributing.texi:1264 #, no-wrap msgid "{Procedure} git-version @var{VERSION} @var{REVISION} @var{COMMIT}" msgstr "{Prozedur} git-version @var{VERSION} @var{REVISION} @var{COMMIT}" #. type: deffn #: guix-git/doc/contributing.texi:1266 msgid "Return the version string for packages using @code{git-fetch}." msgstr "Liefert die Zeichenkette für die Version bei Paketen, die @code{git-fetch} benutzen." #. type: lisp #: guix-git/doc/contributing.texi:1270 #, no-wrap msgid "" "(git-version \"0.2.3\" \"0\" \"93818c936ee7e2f1ba1b315578bde363a7d43d05\")\n" "@result{} \"0.2.3-0.93818c9\"\n" msgstr "" "(git-version \"0.2.3\" \"0\" \"93818c936ee7e2f1ba1b315578bde363a7d43d05\")\n" "@result{} \"0.2.3-0.93818c9\"\n" #. type: deffn #: guix-git/doc/contributing.texi:1273 #, no-wrap msgid "{Procedure} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET}" msgstr "{Prozedur} hg-version @var{VERSION} @var{REVISION} @var{ÄNDERUNGSSATZ}" #. type: deffn #: guix-git/doc/contributing.texi:1276 msgid "Return the version string for packages using @code{hg-fetch}. It works in the same way as @code{git-version}." msgstr "Liefert die Zeichenkette für die Version bei Paketen, die @code{hg-fetch} benutzen.<" #. type: cindex #: guix-git/doc/contributing.texi:1281 #, no-wrap msgid "package description" msgstr "Paketbeschreibung" #. type: cindex #: guix-git/doc/contributing.texi:1282 #, no-wrap msgid "package synopsis" msgstr "Paketzusammenfassung" #. type: Plain text #: guix-git/doc/contributing.texi:1289 msgid "As we have seen before, each package in GNU@tie{}Guix includes a synopsis and a description (@pxref{Defining Packages}). Synopses and descriptions are important: They are what @command{guix package --search} searches, and a crucial piece of information to help users determine whether a given package suits their needs. Consequently, packagers should pay attention to what goes into them." msgstr "Wie wir bereits gesehen haben, enthält jedes Paket in GNU@tie{}Guix eine (im Code englischsprachige) Zusammenfassung (englisch: Synopsis) und eine Beschreibung (englisch: Description; siehe @ref{Defining Packages}). Zusammenfassungen und Beschreibungen sind wichtig: Sie werden mit @command{guix package --search} durchsucht und stellen eine entscheidende Informationsquelle für Nutzer dar, die entscheiden wollen, ob das Paket Ihren Bedürfnissen entspricht, daher sollten Paketentwickler achtgeben, was sie dort eintragen." #. type: Plain text #: guix-git/doc/contributing.texi:1297 msgid "Synopses must start with a capital letter and must not end with a period. They must not start with ``a'' or ``the'', which usually does not bring anything; for instance, prefer ``File-frobbing tool'' over ``A tool that frobs files''. The synopsis should say what the package is---e.g., ``Core GNU utilities (file, text, shell)''---or what it is used for---e.g., the synopsis for GNU@tie{}grep is ``Print lines matching a pattern''." msgstr "Zusammenfassungen müssen mit einem Großbuchstaben beginnen und dürfen nicht mit einem Punkt enden. Sie dürfen nicht mit den Artikeln „a“ oder „the“ beginnen, die meistens ohnehin nichts zum Verständnis beitragen. Zum Beispiel sollte „File-frobbing tool“ gegenüber „A tool that frobs files“ vorgezogen werden. Die Zusammenfassung sollte aussagen, um was es sich beim Paket handelt@tie{}– z.B.@: „Core GNU utilities (file, text, shell)“@tie{}–, oder aussagen, wofür es benutzt wird@tie{}– z.B.@: ist die Zusammenfassung für GNU@tie{}grep „Print lines matching a pattern“." #. type: Plain text #: guix-git/doc/contributing.texi:1307 msgid "Keep in mind that the synopsis must be meaningful for a very wide audience. For example, ``Manipulate alignments in the SAM format'' might make sense for a seasoned bioinformatics researcher, but might be fairly unhelpful or even misleading to a non-specialized audience. It is a good idea to come up with a synopsis that gives an idea of the application domain of the package. In this example, this might give something like ``Manipulate nucleotide sequence alignments'', which hopefully gives the user a better idea of whether this is what they are looking for." msgstr "Beachten Sie, dass die Zusammenfassung für eine sehr große Leserschaft einen Sinn ergeben muss. Zum Beispiel würde „Manipulate alignments in the SAM format“ vielleicht von einem erfahrenen Forscher in der Bioinformatik verstanden, könnte für die Nicht-Spezialisten in Guix’ Zielgruppe aber wenig hilfreich sein oder würde diesen sogar eine falsche Vorstellung geben. Es ist eine gute Idee, sich eine Zusammenfassung zu überlegen, die eine Vorstellung von der Anwendungsdomäne des Pakets vermittelt. Im Beispiel hier würden sich die Nutzer mit „Manipulate nucleotide sequence alignments“ hoffentlich ein besseres Bild davon machen können, ob das Paket ist, wonach sie suchen." #. type: Plain text #: guix-git/doc/contributing.texi:1315 msgid "Descriptions should take between five and ten lines. Use full sentences, and avoid using acronyms without first introducing them. Please avoid marketing phrases such as ``world-leading'', ``industrial-strength'', and ``next-generation'', and avoid superlatives like ``the most advanced''---they are not helpful to users looking for a package and may even sound suspicious. Instead, try to be factual, mentioning use cases and features." msgstr "Beschreibungen sollten zwischen fünf und zehn Zeilen lang sein. Benutzen Sie vollständige Sätze und vermeiden Sie Abkürzungen, die Sie nicht zuvor eingeführt haben. Vermeiden Sie bitte Marketing-Phrasen wie „world-leading“ („weltweit führend“), „industrial-strength“ („industrietauglich“) und „next-generation“ („der nächsten Generation“) ebenso wie Superlative wie „the most advanced“ („das fortgeschrittenste“)@tie{}– davon haben Nutzer nichts, wenn sie ein Paket suchen, und es könnte sogar verdächtig klingen. Versuchen Sie stattdessen, bei den Fakten zu bleiben und dabei Anwendungszwecke und Funktionalitäten zu erwähnen." #. type: cindex #: guix-git/doc/contributing.texi:1316 #, no-wrap msgid "Texinfo markup, in package descriptions" msgstr "Texinfo-Auszeichnungen, in Paketbeschreibungen" #. type: Plain text #: guix-git/doc/contributing.texi:1325 msgid "Descriptions can include Texinfo markup, which is useful to introduce ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks (@pxref{Overview,,, texinfo, GNU Texinfo}). However you should be careful when using some characters for example @samp{@@} and curly braces which are the basic special characters in Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}). User interfaces such as @command{guix show} take care of rendering it appropriately." msgstr "Beschreibungen können wie bei Texinfo ausgezeichneten Text enthalten. Das bedeutet, Text kann Verzierungen wie @code{@@code} oder @code{@@dfn}, Auflistungen oder Hyperlinks enthalten (siehe @ref{Overview,,, texinfo, GNU Texinfo}). Sie sollten allerdings vorsichtig sein, wenn Sie bestimmte Zeichen wie @samp{@@} und geschweifte Klammern schreiben, weil es sich dabei um die grundlegenden Sonderzeichen in Texinfo handelt (siehe @ref{Special Characters,,, texinfo, GNU Texinfo}). Benutzungsschnittstellen wie @command{guix show} kümmern sich darum, solche Auszeichnungen angemessen darzustellen." #. type: Plain text #: guix-git/doc/contributing.texi:1331 msgid "Synopses and descriptions are translated by volunteers @uref{https://translate.fedoraproject.org/projects/guix/packages, at Weblate} so that as many users as possible can read them in their native language. User interfaces search them and display them in the language specified by the current locale." msgstr "Zusammenfassungen und Beschreibungen werden von Freiwilligen @uref{https://translate.fedoraproject.org/projects/guix/packages, bei Weblate} übersetzt, damit so viele Nutzer wie möglich sie in ihrer Muttersprache lesen können. Mit Schnittstellen für Benutzer können sie in der von der aktuell eingestellten Locale festgelegten Sprache durchsucht und angezeigt werden." #. type: Plain text #: guix-git/doc/contributing.texi:1336 msgid "To allow @command{xgettext} to extract them as translatable strings, synopses and descriptions @emph{must be literal strings}. This means that you cannot use @code{string-append} or @code{format} to construct these strings:" msgstr "Damit @command{xgettext} sie als übersetzbare Zeichenketten extrahieren kann, @emph{müssen} Zusammenfassungen und Beschreibungen einfache Zeichenketten-Literale sein. Das bedeutet, dass Sie diese Zeichenketten nicht mit Prozeduren wie @code{string-append} oder @code{format} konstruieren können:" #. type: lisp #: guix-git/doc/contributing.texi:1342 #, no-wrap msgid "" "(package\n" " ;; @dots{}\n" " (synopsis \"This is translatable\")\n" " (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n" msgstr "" "(package\n" " ;; …\n" " (synopsis \"This is translatable\")\n" " (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n" #. type: Plain text #: guix-git/doc/contributing.texi:1350 msgid "Translation is a lot of work so, as a packager, please pay even more attention to your synopses and descriptions as every change may entail additional work for translators. In order to help them, it is possible to make recommendations or instructions visible to them by inserting special comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):" msgstr "Übersetzen ist viel Arbeit, also passen Sie als Paketentwickler bitte umso mehr auf, wenn Sie Ihre Zusammenfassungen und Beschreibungen formulieren, weil jede Änderung zusätzliche Arbeit für Übersetzer bedeutet. Um den Übersetzern zu helfen, können Sie Empfehlungen und Anweisungen für diese sichtbar machen, indem Sie spezielle Kommentare wie in diesem Beispiel einfügen (siehe @ref{xgettext Invocation,,, gettext, GNU Gettext}):" #. type: lisp #: guix-git/doc/contributing.texi:1355 #, no-wrap msgid "" ";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n" "(description \"ARandR is designed to provide a simple visual front end\n" "for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n" msgstr "" ";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n" "(description \"ARandR is designed to provide a simple visual front end\n" "for the X11 resize-and-rotate (RandR) extension. …\")\n" #. type: cindex #: guix-git/doc/contributing.texi:1360 #, no-wrap msgid "snippets, when to use" msgstr "snippet-Feld, wann man es benutzt" #. type: Plain text #: guix-git/doc/contributing.texi:1371 msgid "The boundary between using an origin snippet versus a build phase to modify the sources of a package can be elusive. Origin snippets are typically used to remove unwanted files such as bundled libraries, nonfree sources, or to apply simple substitutions. The source derived from an origin should produce a source that can be used to build the package on any system that the upstream package supports (i.e., act as the corresponding source). In particular, origin snippets must not embed store items in the sources; such patching should rather be done using build phases. Refer to the @code{origin} record documentation for more information (@pxref{origin Reference})." msgstr "Die Grenze, wann man Code-Schnipsel im @code{origin}-„@code{snippet}“-Feld gegenüber einer Erstellungsphase für Änderungen an den Quelldateien eines Pakets bevorzugen sollte, ist fließend. Schnipsel im Paketursprung werden meistens dazu benutzt, unerwünschte Dateien wie z.B.@: gebündelte Bibliotheken oder unfreie Quelldateien zu entfernen, oder um einfache Textersetzungen durchzuführen. Die Quelle, die sich aus einem Paketursprung ableitet, sollte Quellcode erzeugen, um das Paket auf jedem vom Anbieter unterstützten System zu erstellen (d.h.@: um als dessen „corresponding source“, „korrespondierender Quelltext“, herzuhalten). Insbesondere dürfen Snippets im Paketursprung keine Store-Objekte in den Quelldateien einbetten; solche Anpassungen sollten besser in Erstellungsphasen stattfinden. Schauen Sie in die Dokumentation des @code{origin}-Verbundsobjekts für weitere Informationen (siehe @ref{origin Reference})." #. type: Plain text #: guix-git/doc/contributing.texi:1379 msgid "While there cannot be circular dependencies between packages, Guile's lax module loading mechanism allows circular dependencies between Guile modules, which doesn't cause problems as long as the following conditions are followed for two modules part of a dependency cycle:" msgstr "Es darf zwar keine zyklischen Abhängigkeiten zwischen Paketen geben, aber weil Guile Module erst bei Bedarf lädt, können Sie durchaus zyklische Abhängigkeiten zwischen Guile-Modulen herstellen, ohne Probleme zu verursachen, solange Sie sich an die folgenden Bedingungen für zwei Module in einem Abhängigkeitszyklus halten:" #. type: cindex #: guix-git/doc/contributing.texi:1380 #, no-wrap msgid "rules to cope with circular module dependencies" msgstr "Regeln beim Umgang mit zyklischen Modulabhängigkeiten" #. type: enumerate #: guix-git/doc/contributing.texi:1384 msgid "Macros are not shared between the co-dependent modules" msgstr "Makros von anderen gegenseitig abhängigen Modulen werden @emph{nicht} benutzt." #. type: enumerate #: guix-git/doc/contributing.texi:1388 msgid "Top-level variables are only referenced in delayed (@i{thunked}) package fields: @code{arguments}, @code{native-inputs}, @code{inputs}, @code{propagated-inputs} or @code{replacement}" msgstr "Variable auf oberster Ebene werden nur in verzögert ausgewerteten („delayed“, „thunked“) Paketfeldern eingesetzt, wie: @code{arguments}, @code{native-inputs}, @code{inputs}, @code{propagated-inputs} oder @code{replacement}." #. type: enumerate #: guix-git/doc/contributing.texi:1391 msgid "Procedures referencing top-level variables from another module are not called at the top level of a module themselves." msgstr "Prozeduren, die auf Variable auf der obersten Ebene eines anderen Moduls verweisen, dürfen @emph{nicht} selbst auf oberster Ebene eines Moduls aufgerufen werden." #. type: Plain text #: guix-git/doc/contributing.texi:1397 msgid "Straying away from the above rules may work while there are no dependency cycles between modules, but given such cycles are confusing and difficult to troubleshoot, it is best to follow the rules to avoid introducing problems down the line." msgstr "Jegliches Abweichen von den obigen Regeln kann funktionieren, solange es keine Abhängigkeitszyklen gibt, aber weil solche Zyklen verwirrend sind und die Fehlersuche schwierig ist, befolgt man die Regeln besser grundsätzlich, um uns allen später keine Probleme einzuhandeln." #. type: Plain text #: guix-git/doc/contributing.texi:1400 msgid "Here is a common trap to avoid:" msgstr "Hier sehen Sie eine solche Tücke:" #. type: lisp #: guix-git/doc/contributing.texi:1406 #, no-wrap msgid "" "(define-public avr-binutils\n" " (package\n" " (inherit (cross-binutils \"avr\"))\n" " (name \"avr-binutils\")))\n" msgstr "" "(define-public avr-binutils\n" " (package\n" " (inherit (cross-binutils \"avr\"))\n" " (name \"avr-binutils\")))\n" #. type: Plain text #: guix-git/doc/contributing.texi:1415 msgid "In the above example, the @code{avr-binutils} package was defined in the module @code{(gnu packages avr)}, and the @code{cross-binutils} procedure in @code{(gnu packages cross-base)}. Because the @code{inherit} field is not delayed (thunked), it is evaluated at the top level at load time, which is problematic in the presence of module dependency cycles. This could be resolved by turning the package into a procedure instead, like:" msgstr "Im Beispiel oben wurde das Paket @code{avr-binutils} im Modul @code{(gnu packages avr)} definiert und die Prozedur @code{cross-binutils} in @code{(gnu packages cross-base)}. Weil das @code{inherit}-Feld @emph{nicht} verzögert (delayed, thunked) ist, wird es auf oberster Ebene ausgewertet, sobald es geladen wird, und das ist problematisch, wenn die Module einen Abhängigkeitszyklus bilden. Stattdessen kann man das Paket als Prozedur definieren, etwa so:" #. type: lisp #: guix-git/doc/contributing.texi:1421 #, no-wrap msgid "" "(define (make-avr-binutils)\n" " (package\n" " (inherit (cross-binutils \"avr\"))\n" " (name \"avr-binutils\")))\n" msgstr "" "(define (make-avr-binutils)\n" " (package\n" " (inherit (cross-binutils \"avr\"))\n" " (name \"avr-binutils\")))\n" #. type: Plain text #: guix-git/doc/contributing.texi:1426 msgid "Care would need to be taken to ensure the above procedure is only ever used in a package delayed fields or within another procedure also not called at the top level." msgstr "Vorsicht wäre dann geboten, dass die obige Prozedur ebenfalls nur in verzögert ausgewerteten Feldern oder in Prozeduren benutzt werden darf, die auch @emph{nicht} auf oberster Ebene aufgerufen werden." #. type: cindex #: guix-git/doc/contributing.texi:1430 #, no-wrap msgid "emacs, packaging" msgstr "emacs, Pakete dafür schreiben" #. type: cindex #: guix-git/doc/contributing.texi:1431 #, no-wrap msgid "elisp, packaging" msgstr "elisp, Pakete dafür schreiben" #. type: Plain text #: guix-git/doc/contributing.texi:1443 msgid "Emacs packages should preferably use the Emacs build system (@pxref{emacs-build-system}), for uniformity and the benefits provided by its build phases, such as the auto-generation of the autoloads file and the byte compilation of the sources. Because there is no standardized way to run a test suite for Emacs packages, tests are disabled by default. When a test suite is available, it should be enabled by setting the @code{#:tests?} argument to @code{#true}. By default, the command to run the test is @command{make check}, but any command can be specified via the @code{#:test-command} argument. The @code{#:test-command} argument expects a list containing a command and its arguments, to be invoked during the @code{check} phase." msgstr "Für Emacs-Pakete sollte man bevorzugt das Emacs-Erstellungssystem benutzen (siehe @ref{emacs-build-system}), wegen der Einheitlichkeit und der Vorteile durch seine Erstellungsphasen. Dazu gehören das automatische Erzeugen der Autoloads-Datei und das Kompilieren des Quellcodes zu Bytecode (Byte Compilation). Weil es keinen Standard gibt, wie ein Testkatalog eines Emacs-Pakets ausgeführt wird, sind Tests nach Vorgabe abgeschaltet. Wenn es einen Testkatalog gibt, sollte er aktiviert werden, indem Sie das Argument @code{#:tests?} auf @code{#true} setzen. Vorgegeben ist, die Tests mit dem Befehl @command{make check} auszuführen, aber mit dem Argument @code{#:test-command} kann ein beliebiger anderer Befehl festgelegt werden. Für das Argument @code{#:test-command} wird eine Liste aus dem Befehl und den Argumenten an den Befehl erwartet. Er wird während der @code{check}-Phase aufgerufen." #. type: Plain text #: guix-git/doc/contributing.texi:1448 msgid "The Elisp dependencies of Emacs packages are typically provided as @code{propagated-inputs} when required at run time. As for other packages, build or test dependencies should be specified as @code{native-inputs}." msgstr "Die Elisp-Abhängigkeiten von Emacs-Paketen werden typischerweise als @code{propagated-inputs} bereitgestellt, wenn sie zur Laufzeit benötigt werden. Wie bei anderen Paketen sollten Abhängigkeiten zum Erstellen oder Testen als @code{native-inputs} angegeben werden." #. type: Plain text #: guix-git/doc/contributing.texi:1457 msgid "Emacs packages sometimes depend on resources directories that should be installed along the Elisp files. The @code{#:include} argument can be used for that purpose, by specifying a list of regexps to match. The best practice when using the @code{#:include} argument is to extend rather than override its default value (accessible via the @code{%default-include} variable). As an example, a yasnippet extension package typically include a @file{snippets} directory, which could be copied to the installation directory using:" msgstr "Manchmal hängen Emacs-Pakete von Ressourcenverzeichnissen ab, die zusammen mit den Elisp-Dateien installiert werden sollten. Diese lassen sich mit dem Argument @code{#:include} kennzeichnen, indem eine Liste dazu passender regulärer Ausdrücke angegeben wird. Idealerweise ergänzen Sie den Vorgabewert des @code{#:include}-Arguments (aus der Variablen @code{%default-include}), statt ihn zu ersetzen. Zum Beispiel enthält ein yasnippet-Erweiterungspaket typischerweise ein @file{snippets}-Verzeichnis, das wie folgt in das Installationsverzeichnis kopiert werden könnte:" #. type: lisp #: guix-git/doc/contributing.texi:1460 #, no-wrap msgid "#:include (cons \"^snippets/\" %default-include)\n" msgstr "#:include (cons \"^snippets/\" %default-include)\n" #. type: Plain text #: guix-git/doc/contributing.texi:1466 msgid "When encountering problems, it is wise to check for the presence of the @code{Package-Requires} extension header in the package main source file, and whether any dependencies and their versions listed therein are satisfied." msgstr "Wenn Sie auf Probleme stoßen, ist es ratsam, auf eine Kopfzeile @code{Package-Requires} in der Hauptquellcodedatei des Pakets zu achten, ob allen Abhängigkeiten und deren dort gelisteten Versionen genügt wird." #. type: cindex #: guix-git/doc/contributing.texi:1470 #, no-wrap msgid "python" msgstr "python" #. type: Plain text #: guix-git/doc/contributing.texi:1476 msgid "We currently package Python 2 and Python 3, under the Scheme variable names @code{python-2} and @code{python} as explained in @ref{Version Numbers}. To avoid confusion and naming clashes with other programming languages, it seems desirable that the name of a package for a Python module contains the word @code{python}." msgstr "Zurzeit stellen wir ein Paket für Python 2 und eines für Python 3 jeweils über die Scheme-Variablen mit den Namen @code{python-2} und @code{python} zur Verfügung, entsprechend der Erklärungen im Abschnitt @ref{Version Numbers}. Um Verwirrungen und Namenskollisionen mit anderen Programmiersprachen zu vermeiden, erscheint es als wünschenswert, dass der Name eines Pakets für ein Python-Modul auch das Wort @code{python} enthält." #. type: Plain text #: guix-git/doc/contributing.texi:1482 msgid "Some modules are compatible with only one version of Python, others with both. If the package Foo is compiled with Python 3, we name it @code{python-foo}. If it is compiled with Python 2, we name it @code{python2-foo}. Python 2 packages are being removed from the distribution; please do no not submit any new Python 2 packages." msgstr "Manche Module sind nur mit einer Version von Python kompatibel, andere mit beiden. Wenn das Paket Foo mit Python 3 kompiliert wird, geben wir ihm den Namen @code{python-foo}. Wenn es mit Python 2 kompiliert wird, wählen wir den Namen @code{python2-foo}. Wir sind dabei, Python-2-Pakete aus der Distribution zu entfernen; bitte reichen Sie keine neuen Python-2-Pakete mehr ein." #. type: Plain text #: guix-git/doc/contributing.texi:1488 msgid "If a project already contains the word @code{python}, we drop this; for instance, the module python-dateutil is packaged under the names @code{python-dateutil} and @code{python2-dateutil}. If the project name starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as described above." msgstr "Wenn ein Projekt bereits das Wort @code{python} im Namen hat, lassen wir es weg; zum Beispiel ist das Modul python-dateutil unter den Namen @code{python-dateutil} und @code{python2-dateutil} verfügbar. Wenn der Projektname mit @code{py} beginnt (z.B.@: @code{pytz}), behalten wir ihn bei und stellen das oben beschriebene Präfix voran." #. type: quotation #: guix-git/doc/contributing.texi:1502 msgid "Currently there are two different build systems for Python packages in Guix: @var{python-build-system} and @var{pyproject-build-system}. For the longest time, Python packages were built from an informally specified @file{setup.py} file. That worked amazingly well, considering Python's success, but was difficult to build tooling around. As a result, a host of alternative build systems emerged and the community eventually settled on a @url{https://peps.python.org/pep-0517/, formal standard} for specifying build requirements. @var{pyproject-build-system} is Guix's implementation of this standard. It is considered ``experimental'' in that it does not yet support all the various PEP-517 @emph{build backends}, but you are encouraged to try it for new Python packages and report any problems. It will eventually be deprecated and merged into @var{python-build-system}." msgstr "Im Moment sind gleich zwei verschiedene Erstellungssysteme für Python-Pakete in Guix in Umlauf: @var{python-build-system} und @var{pyproject-build-system}. Lange Zeit hat man sein Python-Paket aus einer Datei @file{setup.py} heraus erstellt, deren gewachsene Struktur @emph{nicht} formell festgelegt war. Das lief überraschend gut, wenn man sich den Erfolg von Python anschaut, allerdings ließen sich nur schwer Werkzeuge zur Handhabung schreiben. Daraus ergab sich eine Vielzahl alternativer Erstellungssysteme, bis sich die Gemeinschaft auf einen @url{https://peps.python.org/pep-0517/, formellen Standard} zum Festlegen der Erstellungsanforderungen geeinigt hatte. @var{pyproject-build-system} ist die Implementierung dieses Standards in Guix. Wir stufen es als „experimentell“ ein, insofern als dass es noch nicht all die @emph{Build Backends} für PEP-517 unterstützt. Dennoch würden wir es begrüßen, wenn Sie es für neue Python-Pakete verwenden und Probleme melden würden. Schlussendlich wird es für veraltet erklärt werden und in @var{python-build-system} aufgehen." #. type: subsubsection #: guix-git/doc/contributing.texi:1504 #, no-wrap msgid "Specifying Dependencies" msgstr "Abhängigkeiten angeben" #. type: cindex #: guix-git/doc/contributing.texi:1505 #, no-wrap msgid "inputs, for Python packages" msgstr "Eingaben, für Python-Pakete" #. type: Plain text #: guix-git/doc/contributing.texi:1512 msgid "Dependency information for Python packages is usually available in the package source tree, with varying degrees of accuracy: in the @file{pyproject.toml} file, the @file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini} (the latter mostly for test dependencies)." msgstr "Informationen über Abhängigkeiten von Python-Paketen, welche mal mehr und mal weniger stimmen, finden sich normalerweise im Verzeichnisbaum des Paketquellcodes: in der Datei @file{pyproject.toml}, der Datei @file{setup.py}, in @file{requirements.txt} oder in @file{tox.ini} (letztere beherbergt hauptsächlich Abhängigkeiten für Tests)." #. type: Plain text #: guix-git/doc/contributing.texi:1518 msgid "Your mission, when writing a recipe for a Python package, is to map these dependencies to the appropriate type of ``input'' (@pxref{package Reference, inputs}). Although the @code{pypi} importer normally does a good job (@pxref{Invoking guix import}), you may want to check the following check list to determine which dependency goes where." msgstr "Wenn Sie ein Rezept für ein Python-Paket schreiben, lautet Ihr Auftrag, diese Abhängigkeiten auf angemessene Arten von „Eingaben“ abzubilden (siehe @ref{package Reference, Eingaben}). Obwohl der @code{pypi}-Importer hier normalerweise eine gute Arbeit leistet (siehe @ref{Invoking guix import}), könnten Sie die folgende Prüfliste durchgehen wollen, um zu bestimmen, wo welche Abhängigkeit eingeordnet werden sollte." #. type: itemize #: guix-git/doc/contributing.texi:1525 msgid "We currently package Python with @code{setuptools} and @code{pip} installed per default. This is about to change, and users are encouraged to use @code{python-toolchain} if they want a build environment for Python." msgstr "Derzeit ist unser Python-Paket so geschrieben, dass es @code{setuptools} und @code{pip} mitinstalliert. Das wird sich bald ändern und wir möchten unseren Nutzern nahelegen, für Python-Entwicklungsumgebungen @code{python-toolchain} zu verwenden." #. type: itemize #: guix-git/doc/contributing.texi:1528 msgid "@command{guix lint} will warn if @code{setuptools} or @code{pip} are added as native-inputs because they are generally not necessary." msgstr "@command{guix lint} wird Sie mit einer Warnung darauf aufmerksam machen, wenn @code{setuptools} oder @code{pip} zu den nativen Eingaben hinzugefügt wurden, weil man im Allgemeinen keines der beiden anzugeben braucht." #. type: itemize #: guix-git/doc/contributing.texi:1534 msgid "Python dependencies required at run time go into @code{propagated-inputs}. They are typically defined with the @code{install_requires} keyword in @file{setup.py}, or in the @file{requirements.txt} file." msgstr "Python-Abhängigkeiten, die zur Laufzeit gebraucht werden, stehen im @code{propagated-inputs}-Feld. Solche werden typischerweise mit dem Schlüsselwort @code{install_requires} in @file{setup.py} oder in der Datei @file{requirements.txt} definiert." #. type: itemize #: guix-git/doc/contributing.texi:1543 msgid "Python packages required only at build time---e.g., those listed under @code{build-system.requires} in @file{pyproject.toml} or with the @code{setup_requires} keyword in @file{setup.py}---or dependencies only for testing---e.g., those in @code{tests_require} or @file{tox.ini}---go into @code{native-inputs}. The rationale is that (1) they do not need to be propagated because they are not needed at run time, and (2) in a cross-compilation context, it's the ``native'' input that we'd want." msgstr "Python-Pakete, die nur zur Erstellungszeit gebraucht werden@tie{}– z.B.@: jene, die in @file{pyproject.toml} unter @code{build-system.requires} stehen oder die mit dem Schlüsselwort @code{setup_requires} in @file{setup.py} aufgeführt sind@tie{}– oder Abhängigkeiten, die nur zum Testen gebraucht werden@tie{}– also die in @code{tests_require} oder in der @file{tox.ini}@tie{}–, schreibt man in @code{native-inputs}. Die Begründung ist, dass (1) sie nicht propagiert werden müssen, weil sie zur Laufzeit nicht gebraucht werden, und (2) wir beim Cross-Kompilieren die „native“ Eingabe des Wirtssystems wollen." #. type: itemize #: guix-git/doc/contributing.texi:1547 msgid "Examples are the @code{pytest}, @code{mock}, and @code{nose} test frameworks. Of course if any of these packages is also required at run-time, it needs to go to @code{propagated-inputs}." msgstr "Beispiele sind die Testrahmen @code{pytest}, @code{mock} und @code{nose}. Wenn natürlich irgendeines dieser Pakete auch zur Laufzeit benötigt wird, muss es doch in @code{propagated-inputs} stehen." #. type: itemize #: guix-git/doc/contributing.texi:1552 msgid "Anything that does not fall in the previous categories goes to @code{inputs}, for example programs or C libraries required for building Python packages containing C extensions." msgstr "Alles, was nicht in die bisher genannten Kategorien fällt, steht in @code{inputs}, zum Beispiel Programme oder C-Bibliotheken, die zur Erstellung von Python-Paketen mit enthaltenen C-Erweiterungen gebraucht werden." #. type: itemize #: guix-git/doc/contributing.texi:1558 msgid "If a Python package has optional dependencies (@code{extras_require}), it is up to you to decide whether to add them or not, based on their usefulness/overhead ratio (@pxref{Submitting Patches, @command{guix size}})." msgstr "Wenn ein Python-Paket optionale Abhängigkeiten hat (@code{extras_require}), ist es Ihnen überlassen, sie hinzuzufügen oder nicht hinzuzufügen, je nachdem wie es um deren Verhältnis von Nützlichkeit zu anderen Nachteilen steht (siehe @ref{Submitting Patches, @command{guix size}})." #. type: cindex #: guix-git/doc/contributing.texi:1565 #, no-wrap msgid "perl" msgstr "perl" #. type: Plain text #: guix-git/doc/contributing.texi:1576 msgid "Perl programs standing for themselves are named as any other package, using the lowercase upstream name. For Perl packages containing a single class, we use the lowercase class name, replace all occurrences of @code{::} by dashes and prepend the prefix @code{perl-}. So the class @code{XML::Parser} becomes @code{perl-xml-parser}. Modules containing several classes keep their lowercase upstream name and are also prepended by @code{perl-}. Such modules tend to have the word @code{perl} somewhere in their name, which gets dropped in favor of the prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}." msgstr "Eigenständige Perl-Programme bekommen einen Namen wie jedes andere Paket, unter Nutzung des Namens beim Anbieter in Kleinbuchstaben. Für Perl-Pakete, die eine einzelne Klasse enthalten, ersetzen wir alle Vorkommen von @code{::} durch Striche und hängen davor das Präfix @code{perl-} an. Die Klasse @code{XML::Parser} wird also zu @code{perl-xml-parser}. Module, die mehrere Klassen beinhalten, behalten ihren Namen beim Anbieter, in Kleinbuchstaben gesetzt, und auch an sie wird vorne das Präfix @code{perl-} angehängt. Es gibt die Tendenz, solche Module mit dem Wort @code{perl} irgendwo im Namen zu versehen, das wird zu Gunsten des Präfixes weggelassen. Zum Beispiel wird aus @code{libwww-perl} bei uns @code{perl-libwww}." #. type: cindex #: guix-git/doc/contributing.texi:1581 #, no-wrap msgid "java" msgstr "java" #. type: Plain text #: guix-git/doc/contributing.texi:1584 msgid "Java programs standing for themselves are named as any other package, using the lowercase upstream name." msgstr "Eigenständige Java-Programme werden wie jedes andere Paket benannt, d.h.@: mit ihrem in Kleinbuchstaben geschriebenen Namen beim Anbieter." #. type: Plain text #: guix-git/doc/contributing.texi:1590 msgid "To avoid confusion and naming clashes with other programming languages, it is desirable that the name of a package for a Java package is prefixed with @code{java-}. If a project already contains the word @code{java}, we drop this; for instance, the package @code{ngsjava} is packaged under the name @code{java-ngs}." msgstr "Um Verwirrungen und Namenskollisionen mit anderen Programmiersprachen zu vermeiden, ist es wünschenswert, dass dem Namem eines Pakets zu einem Java-Paket das Präfix @code{java-} vorangestellt wird. Wenn ein Projekt bereits das Wort @code{java} im Namen trägt, lassen wir es weg; zum Beispiel befindet sich das Java-Paket @code{ngsjava} in einem Paket namens @code{java-ngs}." #. type: Plain text #: guix-git/doc/contributing.texi:1596 msgid "For Java packages containing a single class or a small class hierarchy, we use the lowercase class name, replace all occurrences of @code{.} by dashes and prepend the prefix @code{java-}. So the class @code{apache.commons.cli} becomes package @code{java-apache-commons-cli}." msgstr "Bei Java-Paketen, die eine einzelne Klasse oder eine kleine Klassenhierarchie enthalten, benutzen wir den Klassennamen in Kleinbuchstaben und ersetzen dabei alle Vorkommen von @code{.} durch Striche und setzen das Präfix @code{java-} davor. Die Klasse @code{apache.commons.cli} wird also zum Paket @code{java-apache-commons-cli}." #. type: cindex #: guix-git/doc/contributing.texi:1601 #, no-wrap msgid "rust" msgstr "rust" #. type: Plain text #: guix-git/doc/contributing.texi:1604 msgid "Rust programs standing for themselves are named as any other package, using the lowercase upstream name." msgstr "Eigenständige Rust-Programme werden wie jedes andere Paket benannt, d.h.@: mit ihrem in Kleinbuchstaben geschriebenen Namen beim Anbieter." #. type: Plain text #: guix-git/doc/contributing.texi:1608 msgid "To prevent namespace collisions we prefix all other Rust packages with the @code{rust-} prefix. The name should be changed to lowercase as appropriate and dashes should remain in place." msgstr "Um Namensraumkollisionen vorzubeugen, versehen wir alle anderen Rust-Pakete mit dem Präfix @code{rust-}. Der Name sollte wie sonst in Kleinbuchstaben geschrieben werden und Bindestriche dort bleiben, wo sie sind." #. type: Plain text #: guix-git/doc/contributing.texi:1614 msgid "In the rust ecosystem it is common for multiple incompatible versions of a package to be used at any given time, so all package definitions should have a versioned suffix. The versioned suffix is the left-most non-zero digit (and any leading zeros, of course). This follows the ``caret'' version scheme intended by Cargo. Examples@: @code{rust-clap-2}, @code{rust-rand-0.6}." msgstr "Im Rust-Ökosystem werden oft mehrere inkompatible Versionen desselben Pakets gleichzeitig benutzt, daher sollte allen Paketdefinitionen ein die Version angebendes Suffix gegeben werden. Das Versionssuffix besteht aus der am weitesten links stehenden Ziffer, die @emph{nicht} null ist (natürlich mit allen führenden Nullen). Dabei folgen wir dem von Cargo gewollten „Caret“-Versionsschema. Beispiele: @code{rust-clap-2}, @code{rust-rand-0.6}." #. type: Plain text #: guix-git/doc/contributing.texi:1624 msgid "Because of the difficulty in reusing rust packages as pre-compiled inputs for other packages the Cargo build system (@pxref{Build Systems, @code{cargo-build-system}}) presents the @code{#:cargo-inputs} and @code{cargo-development-inputs} keywords as build system arguments. It would be helpful to think of these as similar to @code{propagated-inputs} and @code{native-inputs}. Rust @code{dependencies} and @code{build-dependencies} should go in @code{#:cargo-inputs}, and @code{dev-dependencies} should go in @code{#:cargo-development-inputs}. If a Rust package links to other libraries then the standard placement in @code{inputs} and the like should be used." msgstr "Weil die Verwendung von Rust-Paketen als vorab kompilierte Eingaben für andere Pakete besondere Schwierigkeiten macht, gibt es im Cargo-Erstellungssystem (siehe @ref{Build Systems, @code{cargo-build-system}}) die Schlüsselwörter @code{#:cargo-inputs} und @code{#:cargo-development-inputs} als Argumente an das Erstellungssystem. Es ist hilfreich, sie sich ähnlich wie @code{propagated-inputs} und @code{native-inputs} vorzustellen. Was in Rust @code{dependencies} und @code{build-dependencies} sind, sollte unter @code{#:cargo-inputs} aufgeführt werden, während @code{dev-dependencies} zu den @code{#:cargo-development-inputs} gehören. Wenn ein Rust-Paket andere Bibliotheken einbindet, gilt die normale Einordnung in @code{inputs} usw.@: wie anderswo auch." #. type: Plain text #: guix-git/doc/contributing.texi:1630 msgid "Care should be taken to ensure the correct version of dependencies are used; to this end we try to refrain from skipping the tests or using @code{#:skip-build?} when possible. Of course this is not always possible, as the package may be developed for a different Operating System, depend on features from the Nightly Rust compiler, or the test suite may have atrophied since it was released." msgstr "Man sollte aufpassen, dass man die richtige Version von Abhängigkeiten benutzt. Deswegen versuchen wir, Tests nicht mit @code{#:skip-build?} zu überspringen, wenn es möglich ist. Natürlich geht das nicht immer, vielleicht weil das Paket für ein anderes Betriebssystem entwickelt wurde, Funktionalitäten der allerneuesten „Nightly“-Version des Rust-Compilers voraussetzt oder weil der Testkatalog seit seiner Veröffentlichung verkümmert ist." #. type: cindex #: guix-git/doc/contributing.texi:1635 #, no-wrap msgid "Elm" msgstr "Elm" #. type: Plain text #: guix-git/doc/contributing.texi:1638 msgid "Elm applications can be named like other software: their names need not mention Elm." msgstr "Sie dürfen Elm-Anwendungen Namen geben wie bei anderer Software: Elm muss @emph{nicht} im Namen vorkommen." #. type: Plain text #: guix-git/doc/contributing.texi:1644 msgid "Packages in the Elm sense (see @code{elm-build-system} under @ref{Build Systems}) are required use names of the format @var{author}@code{/}@var{project}, where both the @var{author} and the @var{project} may contain hyphens internally, and the @var{author} sometimes contains uppercase letters." msgstr "Die Namen dessen, was bei Elm als Paket bekannt ist (siehe @code{elm-build-system} im Unterabschnitt @ref{Build Systems}), müssen dagegen diesem Format folgen: @var{Autor}@code{/}@var{Projekt}, wo sowohl im @var{Autor} als auch im @var{Projekt} Bindestriche vorkommen können, und manchmal im @var{Autor} sogar Großbuchstaben enthalten sind." #. type: Plain text #: guix-git/doc/contributing.texi:1648 msgid "To form the Guix package name from the upstream name, we follow a convention similar to Python packages (@pxref{Python Modules}), adding an @code{elm-} prefix unless the name would already begin with @code{elm-}." msgstr "Um daraus einen Guix-Paketnamen zu bilden, folgen wir einer ähnlichen Konvention wie bei Python-Paketen (siehe @ref{Python Modules}), d.h.@: vorne kommt ein Präfix @code{elm-}, außer der Name beginnt ohnehin mit @code{elm-}." #. type: Plain text #: guix-git/doc/contributing.texi:1655 msgid "In many cases we can reconstruct an Elm package's upstream name heuristically, but, since conversion to a Guix-style name involves a loss of information, this is not always possible. Care should be taken to add the @code{'upstream-name} property when necessary so that @samp{guix import elm} will work correctly (@pxref{Invoking guix import}). The most notable scenarios when explicitly specifying the upstream name is necessary are:" msgstr "In vielen Fällen lässt sich der Name eines Elm-Pakets, den es beim Anbieter trägt, heuristisch rekonstruieren, aber @emph{nicht} immer, denn bei der Umwandlung in einen Namen im Guix-Stil geht Information verloren. Also achten Sie darauf, in solchen Fällen eine Eigenschaft @code{'upstream-name} anzugeben, damit @samp{guix import elm} funktionieren kann (siehe @ref{Invoking guix import}). Insbesondere ist es nötig, den Namen beim Anbieter ausdrücklich anzugeben, wenn:" #. type: enumerate #: guix-git/doc/contributing.texi:1660 msgid "When the @var{author} is @code{elm} and the @var{project} contains one or more hyphens, as with @code{elm/virtual-dom}; and" msgstr "Der @var{Autor} gleich @code{elm} ist und in @var{Projekt} ein oder mehrere Bindestriche auftauchen, wie bei @code{elm/virtual-dom}, oder wenn" #. type: enumerate #: guix-git/doc/contributing.texi:1667 msgid "When the @var{author} contains hyphens or uppercase letters, as with @code{Elm-Canvas/raster-shapes}---unless the @var{author} is @code{elm-explorations}, which is handled as a special case, so packages like @code{elm-explorations/markdown} do @emph{not} need to use the @code{'upstream-name} property." msgstr "In @var{Autor} Bindestriche oder Großbuchstaben auftauchen, z.B.@: @code{Elm-Canvas/raster-shapes}@tie{}– sofern @var{Autor} nicht @code{elm-explorations} ist, was eine Sonderbehandlung bekommt, so dass Pakete wie @code{elm-explorations/markdown} die Eigenschaft @code{'upstream-name} @emph{nicht} zu haben brauchen." #. type: Plain text #: guix-git/doc/contributing.texi:1671 msgid "The module @code{(guix build-system elm)} provides the following utilities for working with names and related conventions:" msgstr "Im Modul @code{(guix build-system elm)} finden Sie folgende Werkzeuge, mit denen Sie mit den Konventionen für Namen und Ähnliches umgehen können:" #. type: deffn #: guix-git/doc/contributing.texi:1672 #, no-wrap msgid "{Procedure} elm-package-origin @var{elm-name} @var{version} @" msgstr "{Prozedur} elm-package-origin @var{Elm-Name} @var{Version} @" #. type: deffn #: guix-git/doc/contributing.texi:1677 msgid "@var{hash} Returns a Git origin using the repository naming and tagging regime required for a published Elm package with the upstream name @var{elm-name} at version @var{version} with sha256 checksum @var{hash}." msgstr "@var{Hash} Liefert einen Git-Paketursprung nach den Regeln für Repository-Name und Tags, die für öffentliche Elm-Pakete vorgeschrieben sind. Der Name für den Paketursprung ergibt sich aus @var{Elm-Name}, das ist der Name beim Anbieter, mit der Version @var{Version} und SHA256-Prüfsumme @var{Hash}." #. type: deffn #: guix-git/doc/contributing.texi:1679 guix-git/doc/guix.texi:37393 #: guix-git/doc/guix.texi:41598 msgid "For example:" msgstr "Zum Beispiel:" #. type: lisp #: guix-git/doc/contributing.texi:1689 #, no-wrap msgid "" "(package\n" " (name \"elm-html\")\n" " (version \"1.0.0\")\n" " (source\n" " (elm-package-origin\n" " \"elm/html\"\n" " version\n" " (base32 \"15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a\")))\n" " ...)\n" msgstr "" "(package\n" " (name \"elm-html\")\n" " (version \"1.0.0\")\n" " (source\n" " (elm-package-origin\n" " \"elm/html\"\n" " version\n" " (base32 \"15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a\")))\n" " …)\n" #. type: deffn #: guix-git/doc/contributing.texi:1692 #, no-wrap msgid "{Procedure} elm->package-name @var{elm-name}" msgstr "{Prozedur} elm->package-name @var{Elm-Name}" #. type: deffn #: guix-git/doc/contributing.texi:1695 msgid "Returns the Guix-style package name for an Elm package with upstream name @var{elm-name}." msgstr "Liefert den Paketnamen im Guix-Stil für ein Elm-Paket, das dort @var{Elm-Name} heißt." #. type: deffn #: guix-git/doc/contributing.texi:1698 msgid "Note that there is more than one possible @var{elm-name} for which @code{elm->package-name} will produce a given result." msgstr "Achtung, @code{elm->package-name} kann unterschiedliche @var{Elm-Name} auf dasselbe Ergebnis abbilden." #. type: deffn #: guix-git/doc/contributing.texi:1700 #, no-wrap msgid "{Procedure} guix-package->elm-name @var{package}" msgstr "{Prozedur} guix-package->elm-name @var{Paket}" #. type: deffn #: guix-git/doc/contributing.texi:1704 msgid "Given an Elm @var{package}, returns the possibly-inferred upstream name, or @code{#f} the upstream name is not specified via the @code{'upstream-name} property and can not be inferred by @code{infer-elm-package-name}." msgstr "Für ein Elm-Paket @var{Paket} wird ermittelt, welchen Namen es beim Anbieter trägt, oder @code{#f}, wenn dieser Anbietername weder in den unter @var{properties} aufgeführten Paketeigenschaften steht noch sich mit @code{infer-elm-package-name} ableiten lässt." #. type: deffn #: guix-git/doc/contributing.texi:1706 #, no-wrap msgid "{Procedure} infer-elm-package-name @var{guix-name}" msgstr "{Prozedur} infer-elm-package-name @var{guix-name}" #. type: deffn #: guix-git/doc/contributing.texi:1711 msgid "Given the @var{guix-name} of an Elm package, returns the inferred upstream name, or @code{#f} if the upstream name can't be inferred. If the result is not @code{#f}, supplying it to @code{elm->package-name} would produce @var{guix-name}." msgstr "Liefert für den @var{guix-name} eines Elm-Pakets den daraus abgeleiteten Namen beim Anbieter oder @code{#f}, wenn er sich nicht ableiten lässt. Wenn das Ergebnis etwas anderes als @code{#f} ist, können wir es an @code{elm->package-name} übergeben und bekommen wieder @var{guix-name} heraus." #. type: cindex #: guix-git/doc/contributing.texi:1716 guix-git/doc/guix.texi:1822 #, no-wrap msgid "fonts" msgstr "Schriftarten" #. type: Plain text #: guix-git/doc/contributing.texi:1722 msgid "For fonts that are in general not installed by a user for typesetting purposes, or that are distributed as part of a larger software package, we rely on the general packaging rules for software; for instance, this applies to the fonts delivered as part of the X.Org system or fonts that are part of TeX Live." msgstr "Wenn Schriftarten in der Regel nicht von Nutzern zur Textbearbeitung installiert werden oder als Teil eines größeren Software-Pakets mitgeliefert werden, gelten dafür die allgemeinen Paketrichtlinien für Software. Zum Beispiel trifft das auf als Teil des X.Org-Systems ausgelieferte Schriftarten zu, oder auf Schriftarten, die ein Teil von TeX Live sind." #. type: Plain text #: guix-git/doc/contributing.texi:1726 msgid "To make it easier for a user to search for fonts, names for other packages containing only fonts are constructed as follows, independently of the upstream package name." msgstr "Damit es Nutzer leichter haben, nach Schriftarten zu suchen, konstruieren wir die Namen von anderen Paketen, die nur Schriftarten enthalten, nach dem folgenden Schema, egal was der Paketname beim Anbieter ist." #. type: Plain text #: guix-git/doc/contributing.texi:1734 msgid "The name of a package containing only one font family starts with @code{font-}; it is followed by the foundry name and a dash @code{-} if the foundry is known, and the font family name, in which spaces are replaced by dashes (and as usual, all upper case letters are transformed to lower case). For example, the Gentium font family by SIL is packaged under the name @code{font-sil-gentium}." msgstr "Der Name eines Pakets, das nur eine Schriftfamilie enthält, beginnt mit @code{font-}. Darauf folgt der Name des Schriftenherstellers und ein Strich @code{-}, sofern bekannt ist, wer der Schriftenhersteller ist, und dann der Name der Schriftfamilie, in dem Leerzeichen durch Striche ersetzt werden (und wie immer mit Großbuchstaben statt Kleinbuchstaben). Zum Beispiel befindet sich die von SIL hergestellte Gentium-Schriftfamilie im Paket mit dem Namen @code{font-sil-gentium}." #. type: Plain text #: guix-git/doc/contributing.texi:1743 msgid "For a package containing several font families, the name of the collection is used in the place of the font family name. For instance, the Liberation fonts consist of three families, Liberation Sans, Liberation Serif and Liberation Mono. These could be packaged separately under the names @code{font-liberation-sans} and so on; but as they are distributed together under a common name, we prefer to package them together as @code{font-liberation}." msgstr "Wenn ein Paket mehrere Schriftfamilien enthält, wird der Name der Sammlung anstelle des Schriftfamiliennamens benutzt. Zum Beispiel umfassen die Liberation-Schriftarten drei Familien: Liberation Sans, Liberation Serif und Liberation Mono. Man könnte sie getrennt voneinander mit den Namen @code{font-liberation-sans} und so weiter in Pakete einteilen. Da sie aber unter einem gemeinsamen Namen angeboten werden, packen wir sie lieber zusammen in ein Paket mit dem Namen @code{font-liberation}." #. type: Plain text #: guix-git/doc/contributing.texi:1749 msgid "In the case where several formats of the same font family or font collection are packaged separately, a short form of the format, prepended by a dash, is added to the package name. We use @code{-ttf} for TrueType fonts, @code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 fonts." msgstr "Für den Fall, dass mehrere Formate derselben Schriftfamilie oder Schriftartensammlung in separate Pakete kommen, wird ein Kurzname für das Format mit einem Strich vorne zum Paketnamen hinzugefügt. Wir benutzen @code{-ttf} für TrueType-Schriftarten, @code{-otf} für OpenType-Schriftarten und @code{-type1} für PostScript-Typ-1-Schriftarten." #. type: Plain text #: guix-git/doc/contributing.texi:1757 msgid "In general our code follows the GNU Coding Standards (@pxref{Top,,, standards, GNU Coding Standards}). However, they do not say much about Scheme, so here are some additional rules." msgstr "Im Allgemeinen folgt unser Code den GNU Coding Standards (siehe @ref{Top,,, standards, GNU Coding Standards}). Da diese aber nicht viel über Scheme zu sagen haben, folgen hier einige zusätzliche Regeln." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1765 #: guix-git/doc/contributing.texi:1766 #, no-wrap msgid "Programming Paradigm" msgstr "Programmierparadigmen" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "How to compose your elements." msgstr "Wie Sie Ihre Elemente zusammenstellen." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1772 #: guix-git/doc/contributing.texi:1773 #, no-wrap msgid "Modules" msgstr "Module" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "Where to store your code?" msgstr "Wo Sie Ihren Code unterbringen." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1788 #: guix-git/doc/contributing.texi:1789 #, no-wrap msgid "Data Types and Pattern Matching" msgstr "Datentypen und Mustervergleich" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "Implementing data structures." msgstr "Implementierung von Datenstrukturen." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1819 #: guix-git/doc/contributing.texi:1820 #, no-wrap msgid "Formatting Code" msgstr "Formatierung von Code" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "Writing conventions." msgstr "Schreibkonventionen." #. type: Plain text #: guix-git/doc/contributing.texi:1771 msgid "Scheme code in Guix is written in a purely functional style. One exception is code that involves input/output, and procedures that implement low-level concepts, such as the @code{memoize} procedure." msgstr "Scheme-Code wird in Guix auf rein funktionale Weise geschrieben. Eine Ausnahme ist Code, der mit Ein- und Ausgabe zu tun hat, und Prozeduren, die grundlegende Konzepte implementieren, wie zum Beispiel die Prozedur @code{memoize}." #. type: cindex #: guix-git/doc/contributing.texi:1774 #, no-wrap msgid "build-side modules" msgstr "erstellungsseitige Module" #. type: cindex #: guix-git/doc/contributing.texi:1775 #, no-wrap msgid "host-side modules" msgstr "wirtsseitige Module" #. type: Plain text #: guix-git/doc/contributing.texi:1784 msgid "Guile modules that are meant to be used on the builder side must live in the @code{(guix build @dots{})} name space. They must not refer to other Guix or GNU modules. However, it is OK for a ``host-side'' module to use a build-side module. As an example, the @code{(guix search-paths)} module should not be imported and used by a package since it isn't meant to be used as a ``build-side'' module. It would also couple the module with the package's dependency graph, which is undesirable." msgstr "Guile-Module, die beim Erstellen nutzbar sein sollen, müssen im Namensraum @code{(guix build …)} leben. Sie dürfen auf keine anderen Guix- oder GNU-Module Bezug nehmen. Jedoch ist es in Ordnung, wenn ein „wirtsseitiges“ Modul ein erstellungsseitiges Modul benutzt. Zum Beispiel darf das Modul @code{(guix search-paths)} @emph{nicht} in einem Paket importiert und benutzt werden, weil es @emph{nicht} dazu gedacht ist, als „erstellungsseitiges“ Modul zu fungieren, und weil das Modul ein Teil des Abhängigkeitsgraphen des Pakets werden würde, und so eine Kopplung wollen wir nicht." #. type: Plain text #: guix-git/doc/contributing.texi:1787 msgid "Modules that deal with the broader GNU system should be in the @code{(gnu @dots{})} name space rather than @code{(guix @dots{})}." msgstr "Module, die mit dem weiteren GNU-System zu tun haben, sollten im Namensraum @code{(gnu …)} und nicht in @code{(guix …)} stehen." #. type: Plain text #: guix-git/doc/contributing.texi:1796 msgid "The tendency in classical Lisp is to use lists to represent everything, and then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, and co. There are several problems with that style, notably the fact that it is hard to read, error-prone, and a hindrance to proper type error reports." msgstr "Im klassischen Lisp gibt es die Tendenz, Listen zur Darstellung von allem zu benutzen, und diese dann „händisch“ zu durchlaufen mit @code{car}, @code{cdr}, @code{cadr} und so weiter. Dieser Stil ist aus verschiedenen Gründen problematisch, insbesondere wegen der Tatsache, dass er schwer zu lesen, schnell fehlerbehaftet und ein Hindernis beim Melden von Typfehlern ist." #. type: findex #: guix-git/doc/contributing.texi:1797 #, no-wrap msgid "define-record-type*" msgstr "define-record-type*" #. type: findex #: guix-git/doc/contributing.texi:1798 #, no-wrap msgid "match-record" msgstr "match-record" #. type: cindex #: guix-git/doc/contributing.texi:1799 #, no-wrap msgid "pattern matching" msgstr "Mustervergleich" #. type: Plain text #: guix-git/doc/contributing.texi:1807 msgid "Guix code should define appropriate data types (for instance, using @code{define-record-type*}) rather than abuse lists. In addition, it should use pattern matching, via Guile’s @code{(ice-9 match)} module, especially when matching lists (@pxref{Pattern Matching,,, guile, GNU Guile Reference Manual}); pattern matching for records is better done using @code{match-record} from @code{(guix records)}, which, unlike @code{match}, verifies field names at macro-expansion time." msgstr "Guix-Code sollte angemessene Datentypen definieren (zum Beispiel mit @code{define-record-type*}), statt Listen zu missbrauchen. Außerdem sollte er das @code{(ice-9 match)}-Modul von Guile zum Mustervergleich benutzen, besonders mit Listen (siehe @ref{Pattern Matching,,, guile, Referenzhandbuch zu GNU Guile}), während bei Verbundstypen @code{match-record} aus dem Modul @code{(guix records)} angemessener ist, womit, anders als bei @code{match}, bereits bei der Makroumschreibung sichergestellt wird, dass die Feldnamen richtig sind." #. type: Plain text #: guix-git/doc/contributing.texi:1818 msgid "When defining a new record type, keep the @dfn{record type descriptor} (RTD) private (@pxref{Records,,, guile, GNU Guile Reference Manual}, for more on records and RTDs). As an example, the @code{(guix packages)} module defines @code{<package>} as the RTD for package records but it does not export it; instead, it exports a type predicate, a constructor, and field accessors. Exporting RTDs would make it harder to change the application binary interface (because code in other modules might be matching fields by position) and would make it trivial for users to forge records of that type, bypassing any checks we may have in the official constructor (such as ``field sanitizers'')." msgstr "Wenn Sie einen neuen Verbundstyp definieren, sollten Sie den Deskriptor des Verbundstyps (@abbr{RTD, Record Type Descriptor}) privat stellen (siehe @ref{Records,,, guile, Referenzhandbuch zu GNU Guile}, für nähere Informationen zu Verbundstypen und RTDs). Zum Beispiel wird durch das Modul @code{(guix packages)} der RTD @code{<package>} für den @code{package}-Verbundstyp definiert, aber @emph{nicht} exportiert. Stattdessen werden ein Typprädikat, ein Konstruktor und Prozeduren zum Zugriff auf die Felder exportiert. Wenn der RTD exportiert würde, könnte man die Binärschnittstelle (@abbr{ABI, Application Binary Interface}) schwer ändern (weil der Code anderer Module mit @code{match} passende Felder anhand deren Position abgleichen könnte) und es würde Nutzer verleiten, Verbundsobjekte dieses Typs falsch zu erzeugen, ohne dass die Überprüfungen im offiziellen Konstruktur laufen können (etwa „Feldsanitisierer“)." #. type: cindex #: guix-git/doc/contributing.texi:1822 #, no-wrap msgid "formatting code" msgstr "Formatierung von Code" #. type: cindex #: guix-git/doc/contributing.texi:1823 #, no-wrap msgid "coding style" msgstr "Code-Stil" #. type: Plain text #: guix-git/doc/contributing.texi:1830 msgid "When writing Scheme code, we follow common wisdom among Scheme programmers. In general, we follow the @url{https://mumble.net/~campbell/scheme/style.txt, Riastradh's Lisp Style Rules}. This document happens to describe the conventions mostly used in Guile’s code too. It is very thoughtful and well written, so please do read it." msgstr "Beim Schreiben von Scheme-Code halten wir uns an die üblichen Gepflogenheiten unter Scheme-Programmierern. Im Allgemeinen bedeutet das, dass wir uns an @url{https://mumble.net/~campbell/scheme/style.txt, Riastradh's Lisp Style Rules} halten. Es hat sich ergeben, dass dieses Dokument auch die Konventionen beschreibt, die im Code von Guile hauptsächlich verwendet werden. Es ist gut durchdacht und schön geschrieben, also lesen Sie es bitte." #. type: Plain text #: guix-git/doc/contributing.texi:1837 msgid "Some special forms introduced in Guix, such as the @code{substitute*} macro, have special indentation rules. These are defined in the @file{.dir-locals.el} file, which Emacs automatically uses. Also note that Emacs-Guix provides @code{guix-devel-mode} mode that indents and highlights Guix code properly (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." msgstr "Ein paar in Guix eingeführte Sonderformen, wie zum Beispiel das @code{substitute*}-Makro, haben abweichende Regeln für die Einrückung. Diese sind in der Datei @file{.dir-locals.el} definiert, die Emacs automatisch benutzt. Beachten Sie auch, dass Emacs-Guix einen Modus namens @code{guix-devel-mode} bereitstellt, der Guix-Code richtig einrückt und hervorhebt (siehe @ref{Development,,, emacs-guix, Referenzhandbuch von Emacs-Guix})." #. type: cindex #: guix-git/doc/contributing.texi:1838 #, no-wrap msgid "indentation, of code" msgstr "Einrückung, Code-" #. type: cindex #: guix-git/doc/contributing.texi:1839 #, no-wrap msgid "formatting, of code" msgstr "Formatierung, Code-" #. type: Plain text #: guix-git/doc/contributing.texi:1842 msgid "If you do not use Emacs, please make sure to let your editor knows these rules. To automatically indent a package definition, you can also run:" msgstr "Falls Sie nicht Emacs verwenden, sollten Sie sicherstellen, dass Ihr Editor diese Regeln kennt. Um eine Paketdefinition automatisch einzurücken, können Sie auch Folgendes ausführen:" #. type: example #: guix-git/doc/contributing.texi:1845 #, no-wrap msgid "./pre-inst-env guix style @var{package}\n" msgstr "./pre-inst-env guix style @var{Paket}\n" #. type: Plain text #: guix-git/doc/contributing.texi:1849 msgid "@xref{Invoking guix style}, for more information." msgstr "Siehe @ref{Invoking guix style} für weitere Informationen." #. type: Plain text #: guix-git/doc/contributing.texi:1853 msgid "We require all top-level procedures to carry a docstring. This requirement can be relaxed for simple private procedures in the @code{(guix build @dots{})} name space, though." msgstr "Wir fordern von allen Prozeduren auf oberster Ebene, dass sie über einen Docstring verfügen. Diese Voraussetzung kann jedoch bei einfachen, privaten Prozeduren im Namensraum @code{(guix build …)} aufgeweicht werden." #. type: Plain text #: guix-git/doc/contributing.texi:1856 msgid "Procedures should not have more than four positional parameters. Use keyword parameters for procedures that take more than four parameters." msgstr "Prozeduren sollten nicht mehr als vier positionsbestimmte Parameter haben. Benutzen Sie Schlüsselwort-Parameter für Prozeduren, die mehr als vier Parameter entgegennehmen." #. type: Plain text #: guix-git/doc/contributing.texi:1870 msgid "Development is done using the Git distributed version control system. Thus, access to the repository is not strictly necessary. We welcome contributions in the form of patches as produced by @code{git format-patch} sent to the @email{guix-patches@@gnu.org} mailing list (@pxref{Submitting patches to a project,,, git, Git User Manual}). Contributors are encouraged to take a moment to set some Git repository options (@pxref{Configuring Git}) first, which can improve the readability of patches. Seasoned Guix developers may also want to look at the section on commit access (@pxref{Commit Access})." msgstr "Die Entwicklung wird mit Hilfe des verteilten Versionskontrollsystems Git durchgeführt. Daher ist eine ständige Verbindung zum Repository nicht unbedingt erforderlich. Wir begrüßen Beiträge in Form von Patches, die mittels @code{git format-patch} erstellt und an die Mailingliste @email{guix-patches@@gnu.org} geschickt werden (siehe @ref{Submitting patches to a project,,, git, Git-Benutzerhandbuch}). In diesem Fall möchten wir Ihnen nahelegen, zunächst einige Git-Repository-Optionen festzulegen (siehe @ref{Configuring Git}), damit Ihr Patch leichter lesbar wird. Erfahrene Guix-Entwickler möchten vielleicht auch einen Blick auf den Abschnitt über Commit-Zugriff werfen (siehe @ref{Commit Access})." #. type: Plain text #: guix-git/doc/contributing.texi:1877 msgid "This mailing list is backed by a Debbugs instance, which allows us to keep track of submissions (@pxref{Tracking Bugs and Changes}). Each message sent to that mailing list gets a new tracking number assigned; people can then follow up on the submission by sending email to @code{@var{ISSUE_NUMBER}@@debbugs.gnu.org}, where @var{ISSUE_NUMBER} is the tracking number (@pxref{Sending a Patch Series})." msgstr "Diese Mailing-Liste setzt auf einer Debbugs-Instanz auf, wodurch wir den Überblick über Eingereichtes behalten können (siehe @ref{Tracking Bugs and Changes}). Jede an diese Mailing-Liste gesendete Nachricht bekommt eine neue Folgenummer zugewiesen, so dass man eine Folge-E-Mail zur Einreichung an @code{@var{FEHLERNUMMER}@@debbugs.gnu.org} senden kann, wobei @var{FEHLERNUMMER} für die Folgenummer steht (siehe @ref{Sending a Patch Series})." #. type: Plain text #: guix-git/doc/contributing.texi:1881 msgid "Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, standards, GNU Coding Standards}); you can check the commit history for examples." msgstr "Bitte schreiben Sie Commit-Logs im ChangeLog-Format (siehe @ref{Change Logs,,, standards, GNU Coding Standards}); dazu finden Sie Beispiele unter den bisherigen Commits." #. type: Plain text #: guix-git/doc/contributing.texi:1891 msgid "You can help make the review process more efficient, and increase the chance that your patch will be reviewed quickly, by describing the context of your patch and the impact you expect it to have. For example, if your patch is fixing something that is broken, describe the problem and how your patch fixes it. Tell us how you have tested your patch. Will users of the code changed by your patch have to adjust their workflow at all? If so, tell us how. In general, try to imagine what questions a reviewer will ask, and answer those questions in advance." msgstr "Sie können dabei helfen, dass die Überprüfung Ihres Patches schneller vonstattengeht und die Wahrscheinlichkeit erhöhen, dass sich bald jemand den Patch anschaut: Beschreiben Sie die Umstände des Patches und wie er sich auswirken dürfte. Zum Beispiel, wenn etwas kaputt ist und der Patch das behebt, dann beschreiben Sie das Problem und wie es in Ihrem Patch behoben wird. Müssen die Verwender des betroffenen Codes dazu ihre Arbeitsweise ändern oder nicht? Wenn doch, schreiben Sie wie. Allgemein sollten Sie sich vorstellen, welche Fragen ein Überprüfender stellen würde, und diese im Voraus beantworten." #. type: Plain text #: guix-git/doc/contributing.texi:1894 msgid "Before submitting a patch that adds or modifies a package definition, please run through this check list:" msgstr "Bevor Sie einen Patch einreichen, der eine Paketdefinition hinzufügt oder verändert, gehen Sie bitte diese Prüfliste durch:" #. type: enumerate #: guix-git/doc/contributing.texi:1901 msgid "If the authors of the packaged software provide a cryptographic signature for the release tarball, make an effort to verify the authenticity of the archive. For a detached GPG signature file this would be done with the @code{gpg --verify} command." msgstr "Wenn die Autoren der verpackten Software eine kryptografische Signatur bzw. Beglaubigung für den Tarball der Veröffentlichung anbieten, so machen Sie sich bitte die Mühe, die Echtheit des Archivs zu überprüfen. Für eine abgetrennte GPG-Signaturdatei würden Sie das mit dem Befehl @code{gpg --verify} tun." #. type: enumerate #: guix-git/doc/contributing.texi:1905 msgid "Take some time to provide an adequate synopsis and description for the package. @xref{Synopses and Descriptions}, for some guidelines." msgstr "Nehmen Sie sich die Zeit, eine passende Zusammenfassung und Beschreibung für das Paket zu verfassen. Unter @ref{Synopses and Descriptions} finden Sie dazu einige Richtlinien." #. type: enumerate #: guix-git/doc/contributing.texi:1910 msgid "Run @command{guix lint @var{package}}, where @var{package} is the name of the new or modified package, and fix any errors it reports (@pxref{Invoking guix lint})." msgstr "Verwenden Sie @command{guix lint @var{Paket}}, wobei @var{Paket} das neue oder geänderte Paket bezeichnet, und beheben Sie alle gemeldeten Fehler (siehe @ref{Invoking guix lint})." #. type: enumerate #: guix-git/doc/contributing.texi:1914 msgid "Run @command{guix style @var{package}} to format the new package definition according to the project's conventions (@pxref{Invoking guix style})." msgstr "Verwenden Sie @command{guix style @var{Paket}}, um die neue Paketdefinition gemäß den Konventionen des Guix-Projekts zu formatieren (siehe @ref{Invoking guix style})." #. type: enumerate #: guix-git/doc/contributing.texi:1918 msgid "Make sure the package builds on your platform, using @command{guix build @var{package}}." msgstr "Stellen Sie sicher, dass das Paket auf Ihrer Plattform erstellt werden kann, indem Sie @command{guix build @var{Paket}} ausführen." #. type: enumerate #: guix-git/doc/contributing.texi:1926 msgid "We recommend you also try building the package on other supported platforms. As you may not have access to actual hardware platforms, we recommend using the @code{qemu-binfmt-service-type} to emulate them. In order to enable it, add the @code{virtualization} service module and the following service to the list of services in your @code{operating-system} configuration:" msgstr "Wir empfehlen, dass Sie auch versuchen, das Paket auf anderen unterstützten Plattformen zu erstellen. Da Sie vielleicht keinen Zugang zu echter Hardware für diese Plattformen haben, empfehlen wir, den @code{qemu-binfmt-service-type} zu benutzen, um sie zu emulieren. Um ihn zu aktivieren, fügen Sie @code{virtualization} zu @code{use-service-modules} und den folgenden Dienst in die Liste der Dienste („services“) in Ihrer @code{operating-system}-Konfiguration ein:" #. type: lisp #: guix-git/doc/contributing.texi:1931 #, no-wrap msgid "" "(service qemu-binfmt-service-type\n" " (qemu-binfmt-configuration\n" " (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n" msgstr "" "(service qemu-binfmt-service-type\n" " (qemu-binfmt-configuration\n" " (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n" #. type: enumerate #: guix-git/doc/contributing.texi:1934 msgid "Then reconfigure your system." msgstr "Rekonfigurieren Sie anschließend Ihr System." #. type: enumerate #: guix-git/doc/contributing.texi:1939 msgid "You can then build packages for different platforms by specifying the @code{--system} option. For example, to build the \"hello\" package for the armhf or aarch64 architectures, you would run the following commands, respectively:" msgstr "Sie können Pakete für andere Plattformen erstellen lassen, indem Sie die Befehlszeilenoption @code{--system} angeben. Um zum Beispiel das Paket „hello“ für die Architekturen armhf oder aarch64 erstellen zu lassen, würden Sie jeweils die folgenden Befehle angeben:" #. type: example #: guix-git/doc/contributing.texi:1942 #, no-wrap msgid "" "guix build --system=armhf-linux --rounds=2 hello\n" "guix build --system=aarch64-linux --rounds=2 hello\n" msgstr "" "guix build --system=armhf-linux --rounds=2 hello\n" "guix build --system=aarch64-linux --rounds=2 hello\n" #. type: cindex #: guix-git/doc/contributing.texi:1945 #, no-wrap msgid "bundling" msgstr "gebündelt" #. type: enumerate #: guix-git/doc/contributing.texi:1948 msgid "Make sure the package does not use bundled copies of software already available as separate packages." msgstr "Achten Sie darauf, dass im Paket keine Software gebündelt mitgeliefert wird, die bereits in separaten Paketen zur Verfügung steht." #. type: enumerate #: guix-git/doc/contributing.texi:1957 msgid "Sometimes, packages include copies of the source code of their dependencies as a convenience for users. However, as a distribution, we want to make sure that such packages end up using the copy we already have in the distribution, if there is one. This improves resource usage (the dependency is built and stored only once), and allows the distribution to make transverse changes such as applying security updates for a given software package in a single place and have them affect the whole system---something that bundled copies prevent." msgstr "Manchmal enthalten Pakete Kopien des Quellcodes ihrer Abhängigkeiten, um Nutzern die Installation zu erleichtern. Als eine Distribution wollen wir jedoch sicherstellen, dass solche Pakete die schon in der Distribution verfügbare Fassung benutzen, sofern es eine gibt. Dadurch wird sowohl der Ressourcenverbrauch optimiert (die Abhängigkeit wird so nur einmal erstellt und gespeichert) als auch der Distribution die Möglichkeit gegeben, ergänzende Änderungen durchzuführen, um beispielsweise Sicherheitsaktualisierungen für ein bestimmtes Paket an nur einem Ort einzuspielen, die aber das gesamte System betreffen@tie{}– gebündelt mitgelieferte Kopien würden dies verhindern." #. type: enumerate #: guix-git/doc/contributing.texi:1966 msgid "Take a look at the profile reported by @command{guix size} (@pxref{Invoking guix size}). This will allow you to notice references to other packages unwillingly retained. It may also help determine whether to split the package (@pxref{Packages with Multiple Outputs}), and which optional dependencies should be used. In particular, avoid adding @code{texlive} as a dependency: because of its extreme size, use @code{texlive-updmap.cfg} procedure instead." msgstr "Schauen Sie sich das von @command{guix size} ausgegebene Profil an (siehe @ref{Invoking guix size}). Dadurch können Sie Referenzen auf andere Pakete finden, die ungewollt vorhanden sind. Dies kann auch dabei helfen, zu entscheiden, ob das Paket aufgespalten werden sollte (siehe @ref{Packages with Multiple Outputs}) und welche optionalen Abhängigkeiten verwendet werden sollten. Dabei sollten Sie es wegen seiner enormen Größe insbesondere vermeiden, @code{texlive} als eine Abhängigkeit hinzuzufügen; benutzen Sie stattdessen die Prozedur @code{texlive-updmap.cfg}." #. type: enumerate #: guix-git/doc/contributing.texi:1971 msgid "Check that dependent packages (if applicable) are not affected by the change; @command{guix refresh --list-dependent @var{package}} will help you do that (@pxref{Invoking guix refresh})." msgstr "Achten Sie darauf, dass abhängige Pakete (falls vorhanden) nicht von der Änderung beeinträchtigt werden; @command{guix refresh --list-dependent @var{Paket}} hilft Ihnen dabei (siehe @ref{Invoking guix refresh})." #. type: cindex #: guix-git/doc/contributing.texi:1973 #, no-wrap msgid "determinism, of build processes" msgstr "Determinismus, von Erstellungsprozessen" #. type: cindex #: guix-git/doc/contributing.texi:1974 #, no-wrap msgid "reproducible builds, checking" msgstr "Reproduzierbare Erstellungen, Überprüfung" #. type: enumerate #: guix-git/doc/contributing.texi:1978 msgid "Check whether the package's build process is deterministic. This typically means checking whether an independent build of the package yields the exact same result that you obtained, bit for bit." msgstr "Überprüfen Sie, ob der Erstellungsprozess deterministisch ist. Dazu prüfen Sie typischerweise, ob eine unabhängige Erstellung des Pakets genau dasselbe Ergebnis wie Ihre Erstellung hat, Bit für Bit." #. type: enumerate #: guix-git/doc/contributing.texi:1981 msgid "A simple way to do that is by building the same package several times in a row on your machine (@pxref{Invoking guix build}):" msgstr "Dies können Sie leicht tun, indem Sie dasselbe Paket mehrere Male hintereinander auf Ihrer Maschine erstellen (siehe @ref{Invoking guix build}):" #. type: example #: guix-git/doc/contributing.texi:1984 #, no-wrap msgid "guix build --rounds=2 my-package\n" msgstr "guix build --rounds=2 mein-paket\n" #. type: enumerate #: guix-git/doc/contributing.texi:1988 msgid "This is enough to catch a class of common non-determinism issues, such as timestamps or randomly-generated output in the build result." msgstr "Dies reicht aus, um eine ganze Klasse häufiger Ursachen von Nichtdeterminismus zu finden, wie zum Beispiel Zeitstempel oder zufallsgenerierte Ausgaben im Ergebnis der Erstellung." #. type: enumerate #: guix-git/doc/contributing.texi:1998 msgid "Another option is to use @command{guix challenge} (@pxref{Invoking guix challenge}). You may run it once the package has been committed and built by @code{@value{SUBSTITUTE-SERVER-1}} to check whether it obtains the same result as you did. Better yet: Find another machine that can build it and run @command{guix publish}. Since the remote build machine is likely different from yours, this can catch non-determinism issues related to the hardware---e.g., use of different instruction set extensions---or to the operating system kernel---e.g., reliance on @code{uname} or @file{/proc} files." msgstr "Eine weitere Möglichkeit ist, @command{guix challenge} (siehe @ref{Invoking guix challenge}) zu benutzen. Sie können es ausführen, sobald ein Paket commitet und von @code{@value{SUBSTITUTE-SERVER-1}} erstellt wurde, um zu sehen, ob dort dasselbe Ergebnis wie bei Ihnen geliefert wurde. Noch besser: Finden Sie eine andere Maschine, die das Paket erstellen kann, und führen Sie @command{guix publish} aus. Da sich die entfernte Erstellungsmaschine wahrscheinlich von Ihrer unterscheidet, können Sie auf diese Weise Probleme durch Nichtdeterminismus erkennen, die mit der Hardware zu tun haben@tie{}– zum Beispiel die Nutzung anderer Befehlssatzerweiterungen@tie{}– oder mit dem Betriebssystem-Kernel@tie{}– zum Beispiel, indem @code{uname} oder @file{/proc}-Dateien verwendet werden." # Hier gehe ich mal davon aus, dass Dokumentation generell zuerst in Englisch geschrieben wird, daher, werden solche Begriffe auch hier nicht übersetzt. #. type: enumerate #: guix-git/doc/contributing.texi:2004 msgid "When writing documentation, please use gender-neutral wording when referring to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth." msgstr "Beim Schreiben von Dokumentation achten Sie bitte auf eine geschlechtsneutrale Wortwahl, wenn Sie sich auf Personen beziehen, wie @uref{https://en.wikipedia.org/wiki/Singular_they, „they“@comma{} „their“@comma{} „them“ im Singular} und so weiter." #. type: enumerate #: guix-git/doc/contributing.texi:2008 msgid "Verify that your patch contains only one set of related changes. Bundling unrelated changes together makes reviewing harder and slower." msgstr "Stellen Sie sicher, dass Ihr Patch nur einen Satz zusammengehöriger Änderungen umfasst. Das Zusammenfassen nicht zusammengehöriger Änderungen erschwert und bremst das Durchsehen Ihres Patches." #. type: enumerate #: guix-git/doc/contributing.texi:2011 msgid "Examples of unrelated changes include the addition of several packages, or a package update along with fixes to that package." msgstr "Beispiele für nicht zusammengehörige Änderungen sind das Hinzufügen mehrerer Pakete auf einmal, oder das Aktualisieren eines Pakets auf eine neue Version zusammen mit Fehlerbehebungen für das Paket." #. type: enumerate #: guix-git/doc/contributing.texi:2016 msgid "Please follow our code formatting rules, possibly running @command{guix style} script to do that automatically for you (@pxref{Formatting Code})." msgstr "Bitte befolgen Sie unsere Richtlinien für die Code-Formatierung; womöglich wollen Sie dies automatisch tun lassen durch das Skript @command{guix style} (siehe @ref{Formatting Code})." #. type: enumerate #: guix-git/doc/contributing.texi:2024 msgid "When possible, use mirrors in the source URL (@pxref{Invoking guix download}). Use reliable URLs, not generated ones. For instance, GitHub archives are not necessarily identical from one generation to the next, so in this case it's often better to clone the repository. Don't use the @code{name} field in the URL: it is not very useful and if the name changes, the URL will probably be wrong." msgstr "Benutzen Sie, wenn möglich, Spiegelserver (Mirrors) in der Quell-URL (siehe @ref{Invoking guix download}). Verwenden Sie verlässliche URLs, keine automatisch generierten. Zum Beispiel sind Archive von GitHub nicht immer identisch von einer Generation auf die nächste, daher ist es in diesem Fall besser, als Quelle einen Klon des Repositorys zu verwenden. Benutzen Sie @emph{nicht} das @code{name}-Feld beim Angeben der URL; er hilft nicht wirklich und wenn sich der Name ändert, stimmt die URL nicht mehr." #. type: enumerate #: guix-git/doc/contributing.texi:2028 msgid "Check if Guix builds (@pxref{Building from Git}) and address the warnings, especially those about use of undefined symbols." msgstr "Überprüfen Sie, ob Guix erstellt werden kann (siehe @ref{Building from Git}) und kümmern Sie sich um die Warnungen, besonders um solche über nicht definierte Symbole." #. type: enumerate #: guix-git/doc/contributing.texi:2032 msgid "Make sure your changes do not break Guix and simulate a @command{guix pull} with:" msgstr "Stellen Sie sicher, dass Ihre Änderungen Guix nicht beeinträchtigen, und simulieren Sie eine Ausführung von @command{guix pull} über den Befehl:" #. type: example #: guix-git/doc/contributing.texi:2034 #, no-wrap msgid "guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master\n" msgstr "guix pull --url=/pfad/zu/ihrem/checkout --profile=/tmp/guix.master\n" #. type: Plain text #: guix-git/doc/contributing.texi:2042 msgid "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a subject, if your patch is to be applied on a branch other than @code{master}, say @code{core-updates}, specify it in the subject like @samp{[PATCH core-updates] @dots{}}." msgstr "Bitte benutzen Sie @samp{[PATCH] …} als Betreff, wenn Sie einen Patch an die Mailing-Liste schicken. Soll Ihr Patch auf einen anderen Branch als @code{master} angewandt werden, z.B.@: @code{core-updates}, geben Sie dies im Betreff an als @samp{[PATCH core-updates] …}." #. type: Plain text #: guix-git/doc/contributing.texi:2049 msgid "You may use your email client, the @command{git send-email} command (@pxref{Sending a Patch Series}) or the @command{mumi send-email} command (@pxref{Debbugs User Interfaces}). We prefer to get patches in plain text messages, either inline or as MIME attachments. You are advised to pay attention if your email client changes anything like line breaks or indentation which could potentially break the patches." msgstr "Sie können dazu Ihr E-Mail-Programm, den Befehl @command{git send-email} (siehe @ref{Sending a Patch Series}) oder den Befehl @command{mumi send-email} benutzen (siehe @ref{Debbugs User Interfaces}). Wir bevorzugen es, Patches als reine Textnachrichten zu erhalten, entweder eingebettet (inline) oder als MIME-Anhänge. Sie sind dazu angehalten, zu überprüfen, ob Ihr Mail-Programm solche Dinge wie Zeilenumbrüche oder die Einrückung verändert, wodurch die Patches womöglich nicht mehr funktionieren." #. type: Plain text #: guix-git/doc/contributing.texi:2054 msgid "Expect some delay when you submit your very first patch to @email{guix-patches@@gnu.org}. You have to wait until you get an acknowledgement with the assigned tracking number. Future acknowledgements should not be delayed." msgstr "Rechnen Sie damit, dass es etwas dauert, bis Ihr erster Patch an @email{guix-patches@@gnu.org} zu sehen ist. Sie werden warten müssen, bis Sie eine Bestätigung mit der zugewiesenen Folgenummer bekommen. Spätere Bestätigungen sollten sofort kommen." #. type: Plain text #: guix-git/doc/contributing.texi:2057 msgid "When a bug is resolved, please close the thread by sending an email to @email{@var{ISSUE_NUMBER}-done@@debbugs.gnu.org}." msgstr "Wenn dadurch ein Fehler behoben wurde, schließen Sie bitte den Thread, indem Sie eine E-Mail an @email{@var{FEHLERNUMMER}-done@@debbugs.gnu.org} senden." #. type: subsection #: guix-git/doc/contributing.texi:2061 guix-git/doc/contributing.texi:2063 #: guix-git/doc/contributing.texi:2064 #, no-wrap msgid "Configuring Git" msgstr "Git einrichten" #. type: subsection #: guix-git/doc/contributing.texi:2061 guix-git/doc/contributing.texi:2087 #: guix-git/doc/contributing.texi:2088 #, no-wrap msgid "Sending a Patch Series" msgstr "Senden einer Patch-Reihe" #. type: cindex #: guix-git/doc/contributing.texi:2065 #, no-wrap msgid "git configuration" msgstr "Git-Konfiguration" #. type: code{#1} #: guix-git/doc/contributing.texi:2066 guix-git/doc/contributing.texi:2091 #, no-wrap msgid "git format-patch" msgstr "git format-patch" #. type: code{#1} #: guix-git/doc/contributing.texi:2067 guix-git/doc/contributing.texi:2090 #, no-wrap msgid "git send-email" msgstr "git send-email" #. type: Plain text #: guix-git/doc/contributing.texi:2075 msgid "If you have not done so already, you may wish to set a name and email that will be associated with your commits (@pxref{telling git your name, , Telling Git your name, git, Git User Manual}). If you wish to use a different name or email just for commits in this repository, you can use @command{git config --local}, or edit @file{.git/config} in the repository instead of @file{~/.gitconfig}." msgstr "Wenn es noch nicht geschehen ist, wollen Sie vielleicht den Namen und die E-Mail-Adresse festlegen, mit der Ihre Commits ausgestellt werden (siehe @ref{telling git your name, , Telling Git your name, git, Git-Benutzerhandbuch}). Wenn Sie einen anderen Namen oder eine andere E-Mail-Adresse nur für Commits in diesem Repository verwenden möchten, können Sie @command{git config --local} benutzen oder Änderungen in der Datei @file{.git/config} im Repository statt in @file{~/.gitconfig} durchführen." #. type: cindex #: guix-git/doc/contributing.texi:2076 #, no-wrap msgid "commit-msg hook" msgstr "commit-msg, Hook" #. type: Plain text #: guix-git/doc/contributing.texi:2086 msgid "Other important Git configuration will automatically be configured when building the project (@pxref{Building from Git}). A @file{.git/hooks/commit-msg} hook will be installed that embeds @samp{Change-Id} Git @emph{trailers} in your commit messages for traceability purposes. It is important to preserve these when editing your commit messages, particularly if a first version of your proposed changes was already submitted for review. If you have a @file{commit-msg} hook of your own you would like to use with Guix, you can place it under the @file{.git/hooks/commit-msg.d/} directory." msgstr "Weitere wichtige Git-Einstellungen werden automatisch vorgenommen, wenn Sie das Projekt kompilieren (siehe @ref{Building from Git}). Ein Hook @file{.git/hooks/commit-msg} wird installiert, durch den die Git-Anhangszeile @samp{Change-Id} in Ihre Commit-Nachrichten eingefügt wird, um den Zusammenhang nachvollziehen zu können. Bitte behalten Sie diese bei, wenn Sie Ihre Commit-Nachrichten nachbearbeiten, vor allem, wenn Sie bereits eine erste Fassung der von Ihnen vorgeschlagenen Änderungen zur Überprüfung eingereicht haben. Wenn Sie einen eigenen @file{commit-msg}-Hook mit Guix verwenden möchten, können Sie ihn im Verzeichnis @file{.git/hooks/commit-msg.d/} unterbringen." #. type: cindex #: guix-git/doc/contributing.texi:2089 #, no-wrap msgid "patch series" msgstr "Patch-Reihe" #. type: anchor{#1} #: guix-git/doc/contributing.texi:2093 guix-git/doc/contributing.texi:2100 #, no-wrap msgid "Single Patches" msgstr "Einzelne Patches" #. type: Plain text #: guix-git/doc/contributing.texi:2100 msgid "The @command{git send-email} command is the best way to send both single patches and patch series (@pxref{Multiple Patches}) to the Guix mailing list. Sending patches as email attachments may make them difficult to review in some mail clients, and @command{git diff} does not store commit metadata." msgstr "Der Befehl @command{git send-email} ist die beste Art, wie Sie sowohl einzelne Patches als auch Patch-Reihen (siehe @ref{Multiple Patches}) an die Guix-Mailing-Liste schicken können. Würden Sie Patches als E-Mail-Anhänge schicken, wäre es in manchen Mailprogrammen umständlich, diese zu überprüfen. Und wenn Sie aus @command{git diff} kopierten, würden die Metadaten des Commits fehlen." #. type: quotation #: guix-git/doc/contributing.texi:2104 msgid "The @command{git send-email} command is provided by the @code{send-email} output of the @code{git} package, i.e. @code{git:send-email}." msgstr "Der Befehl @command{git send-email} ist in der Ausgabe namens @code{send-email} des @code{git}-Pakets enthalten, also @code{git:send-email}." #. type: Plain text #: guix-git/doc/contributing.texi:2111 msgid "The following command will create a patch email from the latest commit, open it in your @var{EDITOR} or @var{VISUAL} for editing, and send it to the Guix mailing list to be reviewed and merged. Assuming you have already configured Git according to @xref{Configuring Git}, you can simply use:" msgstr "Mit dem folgenden Befehl erzeugen Sie eine E-Mail mit dem Patch aus dem neuesten Commit, öffnen diese in Ihrem gewählten @var{EDITOR} oder @var{VISUAL}, um sie zu bearbeiten, und schicken sie an die Guix-Mailing-Liste, damit jemand sie überprüft und merget. Vorausgesetzt Sie haben Git bereits so eingerichtet wie in Abschnitt @ref{Configuring Git} beschrieben, können Sie einfach dies benutzen:" #. type: example #: guix-git/doc/contributing.texi:2114 #, no-wrap msgid "$ git send-email --annotate -1\n" msgstr "$ git send-email --annotate -1\n" #. type: quotation #: guix-git/doc/contributing.texi:2116 guix-git/doc/guix.texi:10571 #: guix-git/doc/guix.texi:20578 guix-git/doc/guix.texi:20586 #: guix-git/doc/guix.texi:34841 #, no-wrap msgid "Tip" msgstr "Tipp" #. type: quotation #: guix-git/doc/contributing.texi:2122 msgid "To add a prefix to the subject of your patch, you may use the @option{--subject-prefix} option. The Guix project uses this to specify that the patch is intended for a branch or repository other than the @code{master} branch of @url{https://git.savannah.gnu.org/cgit/guix.git}." msgstr "Wenn Sie in der Betreffzeile zu Ihrem Patch ein zusätzliches Präfix mitgeben möchten, können Sie die Befehlszeilenoption @option{--subject-prefix} benutzen. Beim Guix-Projekt wird so angegeben, dass der Patch für einen bestimmten Branch oder ein anderes Repository bestimmt ist, statt für den @code{master}-Branch von @url{https://git.savannah.gnu.org/cgit/guix.git}." #. type: example #: guix-git/doc/contributing.texi:2125 #, no-wrap msgid "git send-email --annotate --subject-prefix='PATCH core-updates' -1\n" msgstr "git send-email --annotate --subject-prefix='PATCH core-updates' -1\n" #. type: Plain text #: guix-git/doc/contributing.texi:2132 msgid "The patch email contains a three-dash separator line after the commit message. You may ``annotate'' the patch with explanatory text by adding it under this line. If you do not wish to annotate the email, you may drop the @option{--annotate} option." msgstr "In der Patch-E-Mail finden Sie eine Trennlinie aus drei Bindestrichen unter der Commit-Nachricht. Sie dürfen erklärende Bemerkungen zum Patch unterhalb dieser Linie anbringen. Wenn Sie keine solchen Annotationen in der E-Mail schreiben möchten, können Sie oben auf die Befehlszeilenoption @option{--annotate} verzichten." #. type: Plain text #: guix-git/doc/contributing.texi:2139 msgid "If you need to send a revised patch, don't resend it like this or send a ``fix'' patch to be applied on top of the last one; instead, use @command{git commit --amend} or @url{https://git-rebase.io, @command{git rebase}} to modify the commit, and use the @email{@var{ISSUE_NUMBER}@@debbugs.gnu.org} address and the @option{-v} flag with @command{git send-email}." msgstr "Wenn Sie einen überarbeiteten Patch schicken müssen, geht das anders. Machen Sie es @emph{nicht} so und schicken Sie @emph{keinen} Patch mit einem „Fix“, der als Nächstes angewandt werden müsste, sondern verwenden Sie stattdessen @command{git commit --amend} oder @url{https://git-rebase.io, @command{git rebase}}, um den alten Commit zu verändern, und schicken den an die Adresse @email{@var{FEHLERNUMMER}@@debbugs.gnu.org}, wobei Sie außerdem die Befehlszeilenoption @option{-v} von @command{git send-email} angeben." #. type: example #: guix-git/doc/contributing.texi:2144 #, no-wrap msgid "" "$ git commit --amend\n" "$ git send-email --annotate -v@var{REVISION} \\\n" " --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -1\n" msgstr "" "$ git commit --amend\n" "$ git send-email --annotate -v@var{REVISION} \\\n" " --to=@var{FEHLERNUMMER}@@debbugs.gnu.org -1\n" #. type: quotation #: guix-git/doc/contributing.texi:2150 msgid "Due to an apparent bug in @command{git send-email}, @option{-v @var{REVISION}} (with the space) will not work; you @emph{must} use @option{-v@var{REVISION}}." msgstr "Offenbar gibt es einen Fehler in @command{git send-email}, wodurch Sie @emph{nicht} @option{-v @var{REVISION}} (mit einem Leerzeichen) schreiben dürfen; lediglich @option{-v@var{REVISION}} funktioniert." #. type: Plain text #: guix-git/doc/contributing.texi:2156 msgid "You can find out @var{ISSUE_NUMBER} either by searching on the mumi interface at @url{https://issues.guix.gnu.org} for the name of your patch or reading the acknowledgement email sent automatically by Debbugs in reply to incoming bugs and patches, which contains the bug number." msgstr "Die @var{FEHLERNUMMER} finden Sie heraus, indem Sie entweder auf der Mumi-Oberfläche auf @url{https://issues.guix.gnu.org} nach dem Namen Ihres Patches suchen oder indem Sie in Ihren E-Mails auf die Eingangsbestätigung schauen, die Debbugs Ihnen automatisch als Antwort auf eingehende Fehlerberichte (Bugs) und Patches hat zukommen lassen. Darin finden Sie die Fehlernummer." #. type: anchor{#1} #: guix-git/doc/contributing.texi:2157 guix-git/doc/contributing.texi:2159 #, no-wrap msgid "Notifying Teams" msgstr "Teams ansprechen" #. type: cindex #: guix-git/doc/contributing.texi:2159 guix-git/doc/contributing.texi:2635 #, no-wrap msgid "teams" msgstr "Teams" #. type: Plain text #: guix-git/doc/contributing.texi:2168 msgid "If your git checkout has been correctly configured (@pxref{Configuring Git}), the @command{git send-email} command will automatically notify the appropriate team members, based on the scope of your changes. This relies on the @file{etc/teams.scm} script, which can also be invoked manually if you do not use the preferred @command{git send-email} command to submit patches. To list the available actions of the script, you can invoke it via the @command{etc/teams.scm help} command. For more information regarding teams, @pxref{Teams}." msgstr "Wenn Ihr Git-Ckeckout richtig eingerichtet ist (siehe @ref{Configuring Git}), wird der Befehl @command{git send-email} automatisch die Mitglieder des zuständigen Teams benachrichtigen. Dazu analysiert das Skript @file{etc/teams.scm} Ihre Änderungen. Sie können es auch selbst aufrufen, wenn Sie den zum Einreichen von Patches bevorzugten Befehl @command{git send-email} meiden. Um die verfügbaren Aktionen für dieses Skript zu lesen, können Sie es mit dem Befehl @command{etc/teams.scm help} aufrufen. Für weitere Informationen über Teams siehe den Abschnitt @ref{Teams}." #. type: quotation #: guix-git/doc/contributing.texi:2172 msgid "On foreign distros, you might have to use @command{./pre-inst-env git send-email} for @file{etc/teams.scm} to work." msgstr "Auf Fremddistributionen müssen Sie vielleicht stattdessen @command{./pre-inst-env git send-email} aufrufen, damit Sie @file{etc/teams.scm} benutzen können." #. type: anchor{#1} #: guix-git/doc/contributing.texi:2174 guix-git/doc/contributing.texi:2176 #, no-wrap msgid "Multiple Patches" msgstr "Mehrere Patches" #. type: cindex #: guix-git/doc/contributing.texi:2176 #, no-wrap msgid "cover letter" msgstr "Deckblatt (Cover Letter)" #. type: Plain text #: guix-git/doc/contributing.texi:2182 msgid "While @command{git send-email} alone will suffice for a single patch, an unfortunate flaw in Debbugs means you need to be more careful when sending multiple patches: if you send them all to the @email{guix-patches@@gnu.org} address, a new issue will be created for each patch!" msgstr "Obwohl @command{git send-email} allein für einen einzelnen Patch genügt, führt eine Unzulänglichkeit in Debbugs dazu, dass Sie beim Versenden mehrerer Patches achtgeben müssen: Wenn Sie alle auf einmal an die Adresse @email{guix-patches@@gnu.org} schicken würden, würde für jeden Patch jeweils ein Fehlerbericht eröffnet!" #. type: Plain text #: guix-git/doc/contributing.texi:2188 msgid "When sending a series of patches, it's best to send a Git ``cover letter'' first, to give reviewers an overview of the patch series. We can create a directory called @file{outgoing} containing both our patch series and a cover letter called @file{0000-cover-letter.patch} with @command{git format-patch}." msgstr "Wenn Sie die Patches aber als Patch-Reihe abschicken wollen, sollten Sie als Erstes mit Git ein „Deckblatt“ schicken, das den Gutachtern einen Überblick über die Patch-Reihe gibt. Zum Beispiel können Sie ein Verzeichnis namens @file{ausgehend} anlegen und darin sowohl Ihre Patch-Reihe als auch ein Deckblatt namens @file{0000-cover-letter.patch} platzieren, indem Sie @command{git format-patch} aufrufen." #. type: example #: guix-git/doc/contributing.texi:2192 #, no-wrap msgid "" "$ git format-patch -@var{NUMBER_COMMITS} -o outgoing \\\n" " --cover-letter --base=auto\n" msgstr "" "$ git format-patch -@var{ANZAHL_COMMITS} -o ausgehend \\\n" " --cover-letter --base=auto\n" #. type: Plain text #: guix-git/doc/contributing.texi:2197 msgid "We can now send @emph{just} the cover letter to the @email{guix-patches@@gnu.org} address, which will create an issue that we can send the rest of the patches to." msgstr "Jetzt schicken Sie @emph{nur} das Deckblatt an die Adresse @email{guix-patches@@gnu.org}, so dass ein Fehlerbericht aufgemacht wird, an den wir dann die restlichen Patches schicken können." #. type: example #: guix-git/doc/contributing.texi:2201 #, no-wrap msgid "" "$ git send-email outgoing/0000-cover-letter.patch --annotate\n" "$ rm outgoing/0000-cover-letter.patch # we don't want to resend it!\n" msgstr "" "$ git send-email ausgehend/0000-cover-letter.patch --annotate\n" "$ rm ausgehend/0000-cover-letter.patch # nicht nochmal schicken!\n" #. type: Plain text #: guix-git/doc/contributing.texi:2206 msgid "Ensure you edit the email to add an appropriate subject line and blurb before sending it. Note the automatically generated shortlog and diffstat below the blurb." msgstr "Passen Sie auf und bearbeiten die E-Mail nochmal, um ihr vor dem Abschicken eine angemessene Betreffzeile (Subject) und anstelle von Blurb Ihren Text mitzugeben. Sie werden bemerken, dass unterhalb des Textes automatisch ein Shortlog und Diffstat aufgelistet wurden." #. type: Plain text #: guix-git/doc/contributing.texi:2209 msgid "Once the Debbugs mailer has replied to your cover letter email, you can send the actual patches to the newly-created issue address." msgstr "Sobald Sie vom Debbugs-Mailer eine Antwort auf Ihre Deckblatt-E-Mail erhalten haben, können Sie die eigentlichen Patches an die neu erzeugte Adresse für diesen Fehlerbericht senden." #. type: example #: guix-git/doc/contributing.texi:2213 #, no-wrap msgid "" "$ git send-email outgoing/*.patch --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n" "$ rm -rf outgoing # we don't need these anymore\n" msgstr "" "$ git send-email ausgehend/*.patch --to=@var{FEHLERNUMMER}@@debbugs.gnu.org\n" "$ rm -rf ausgehend # wir sind damit fertig\n" #. type: Plain text #: guix-git/doc/contributing.texi:2218 msgid "Thankfully, this @command{git format-patch} dance is not necessary to send an amended patch series, since an issue already exists for the patchset." msgstr "Zum Glück können wir uns diesen Tanz mit @command{git format-patch} danach sparen, wenn wir eine überarbeitete Patch-Reihe schicken, weil wir die Fehlernummer dann bereits haben." #. type: example #: guix-git/doc/contributing.texi:2222 #, no-wrap msgid "" "$ git send-email -@var{NUMBER_COMMITS} -v@var{REVISION} \\\n" " --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n" msgstr "" "$ git send-email -@var{ANZAHL_COMMITS} -v@var{REVISION} \\\n" " --to=@var{FEHLERNUMMER}@@debbugs.gnu.org\n" #. type: Plain text #: guix-git/doc/contributing.texi:2227 msgid "If need be, you may use @option{--cover-letter --annotate} to send another cover letter, e.g. for explaining what's changed since the last revision, and these changes are necessary." msgstr "Wenn nötig, können Sie mit @option{--cover-letter --annotate} auch dann ein weiteres Deckblatt mitschicken, z.B.@: um zu erklären, was die Änderungen seit der letzten Revision sind und warum sie nötig waren." #. type: Plain text #: guix-git/doc/contributing.texi:2233 msgid "This section describes how the Guix project tracks its bug reports, patch submissions and topic branches." msgstr "Dieser Abschnitt beschreibt, wie das Guix-Projekt Fehlerberichte, eingereichte Patches und Topic-Branches verwaltet." #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2242 #: guix-git/doc/contributing.texi:2243 #, no-wrap msgid "The Issue Tracker" msgstr "Der Issue-Tracker" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "The official bug and patch tracker." msgstr "Die offizielle Übersicht über Bugs und Patches." #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2256 #: guix-git/doc/contributing.texi:2257 #, no-wrap msgid "Managing Patches and Branches" msgstr "Umgang mit Patches und Branches" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "How changes to Guix are managed." msgstr "Wie mit Änderungen für Guix verfahren wird." #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2350 #: guix-git/doc/contributing.texi:2351 #, no-wrap msgid "Debbugs User Interfaces" msgstr "Debbugs-Benutzerschnittstellen" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "Ways to interact with Debbugs." msgstr "Möglichkeiten, mit Debbugs umzugehen." #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2539 #: guix-git/doc/contributing.texi:2540 #, no-wrap msgid "Debbugs Usertags" msgstr "Debbugs-Usertags" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "Tag reports with custom labels." msgstr "Meldungen mit eigenen Kennzeichen versehen." #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2596 #: guix-git/doc/contributing.texi:2597 #, no-wrap msgid "Cuirass Build Notifications" msgstr "Cuirass-Benachrichtigungen" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "Be alerted of any breakage via RSS feeds." msgstr "Alarm per RSS-Feed, wenn Erstellungen fehlschlagen." #. type: cindex #: guix-git/doc/contributing.texi:2245 #, no-wrap msgid "bug reports, tracking" msgstr "Bug-Meldungen, Überblick" #. type: cindex #: guix-git/doc/contributing.texi:2246 #, no-wrap msgid "patch submissions, tracking" msgstr "Patch-Einreichungen, Überblick" #. type: cindex #: guix-git/doc/contributing.texi:2247 #, no-wrap msgid "issue tracking" msgstr "gemeldete Fehler überblicken" #. type: cindex #: guix-git/doc/contributing.texi:2248 #, no-wrap msgid "Debbugs, issue tracking system" msgstr "Debbugs, System zum Überblicken gemeldeter Fehler" #. type: Plain text #: guix-git/doc/contributing.texi:2255 msgid "Bug reports and patch submissions are currently tracked using the Debbugs instance at @uref{https://bugs.gnu.org}. Bug reports are filed against the @code{guix} ``package'' (in Debbugs parlance), by sending email to @email{bug-guix@@gnu.org}, while patch submissions are filed against the @code{guix-patches} package by sending email to @email{guix-patches@@gnu.org} (@pxref{Submitting Patches})." msgstr "Einen Überblick über gemeldete Fehler („Bugs“) und eingereichte Patches finden Sie derzeit auf der Debbugs-Instanz unter @uref{https://bugs.gnu.org}. Fehler werden für das „Paket“ (so sagt man im Sprachgebrauch von Debbugs) namens @code{guix} gemeldet, indem Sie eine E-Mail an @email{bug-guix@@gnu.org} schicken. Dagegen werden Patches für das Paket @code{guix-patches} eingereicht, indem Sie eine E-Mail an @email{guix-patches@@gnu.org} schicken (siehe @ref{Submitting Patches})." #. type: cindex #: guix-git/doc/contributing.texi:2258 #, no-wrap msgid "branching strategy" msgstr "Branching-Strategie" #. type: cindex #: guix-git/doc/contributing.texi:2259 #, no-wrap msgid "rebuild scheduling strategy" msgstr "Neuerstellungs-Zeitplan" #. type: Plain text #: guix-git/doc/contributing.texi:2268 msgid "Changes should be posted to @email{guix-patches@@gnu.org}. This mailing list fills the patch-tracking database (@pxref{The Issue Tracker}). It also allows patches to be picked up and tested by the quality assurance tooling; the result of that testing eventually shows up on the dashboard at @indicateurl{https://qa.guix.gnu.org/issue/@var{ISSUE_NUMBER}}, where @var{ISSUE_NUMBER} is the number assigned by the issue tracker. Leave time for a review, without committing anything." msgstr "Änderungen sollten an @email{guix-patches@@gnu.org} geschickt werden. Was an diese Mailing-Liste geschickt wird, steht danach in der Patch-Datenbank (siehe @ref{The Issue Tracker}). Auch springen daraufhin weitere Werkzeuge zur Qualitätssicherung an; sobald diese die Änderung überprüft haben, wird auf @indicateurl{https://qa.guix.gnu.org/issue/@var{FEHLERNUMMER}} das Ergebnis präsentiert; dabei ist mit @var{FEHLERNUMMER} die Zahl gemeint, die vom Issue-Tracker zugewiesen wurde. Warten Sie ab, bis ein Mensch die Änderung überprüft hat, ohne etwas zu commiten." #. type: Plain text #: guix-git/doc/contributing.texi:2274 msgid "As an exception, some changes considered ``trivial'' or ``obvious'' may be pushed directly to the @code{master} branch. This includes changes to fix typos and reverting commits that caused immediate problems. This is subject to being adjusted, allowing individuals to commit directly on non-controversial changes on parts they’re familiar with." msgstr "Eine Ausnahme machen wir bei „trivialen“ oder „offensichtlichen“ Änderungen. Diese darf man direkt auf den @code{master}-Branch pushen. Zu den trivialen Änderungen gehört zum Beispiel das Beheben von Schreibfehlern oder unmittelbar problematische Änderungen rückgängig zu machen. Die letzten Anweisungen werden wir vielleicht noch ändern, damit man unstrittige Änderungen direkt commiten kann, wenn man mit von Änderungen betroffenen Teilen vertraut ist." #. type: Plain text #: guix-git/doc/contributing.texi:2282 msgid "Changes which affect more than 300 dependent packages (@pxref{Invoking guix refresh}) should first be pushed to a topic branch other than @code{master}; the set of changes should be consistent---e.g., ``GNOME update'', ``NumPy update'', etc. This allows for testing: the branch will automatically show up at @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}}, with an indication of its build status on various platforms." msgstr "Änderungen, die mehr als 300 abhängige Pakete beeinflussen (siehe @ref{Invoking guix refresh}), sollten erst mal auf einen themenbezogenen „Topic Branch“ statt auf @code{master} gepusht werden. Die Änderungen auf einem Branch sollten zusammenpassen, z.B.@: eine Aktualisierung von GNOME, von NumPy oder Ähnliches. So können die Änderungen getestet werden: Der Branch ist nach einiger Zeit auf @indicateurl{https://qa.guix.gnu.org/branch/@var{Branch}} zu finden, wo angezeigt wird, welchen Status die Erstellungen auf verschiedenen Plattformen haben." #. type: cindex #: guix-git/doc/contributing.texi:2283 #, no-wrap msgid "feature branches, coordination" msgstr "Feature Branches, Koordination" #. type: Plain text #: guix-git/doc/contributing.texi:2288 msgid "To help coordinate the merging of branches, you must create a new guix-patches issue each time you create a branch (@pxref{The Issue Tracker}). The title of the issue requesting to merge a branch should have the following format:" msgstr "Um das Mergen von Branches besser zu koordinieren, ist es Ihre Pflicht, jedes Mal, wenn Sie einen Branch anlegen, zunächst eine Meldung als „Fehlerbericht“ an guix-patches zu schicken (siehe @ref{The Issue Tracker}). Als Titel der Meldung, mit der Sie um die Mergeerlaubnis bitten, verwenden Sie etwas im folgenden Format:" #. type: cindex #: guix-git/doc/contributing.texi:2289 #, no-wrap msgid "merge requests, template" msgstr "Merge Requests, Vorlage" #. type: example #: guix-git/doc/contributing.texi:2292 #, no-wrap msgid "Request for merging \"@var{name}\" branch\n" msgstr "Request for merging \"@var{Name}\" branch\n" #. type: Plain text #: guix-git/doc/contributing.texi:2297 #, fuzzy #| msgid "The @url{https://qa.guix.gnu.org/, QA infrastructure} recognizes such issues and lists the merge requests on its main page. Normally branches will be merged in a ``first come, first merged'' manner, tracked through the guix-patches issues." msgid "The @url{https://qa.guix.gnu.org/, QA infrastructure} recognizes such issues and lists the merge requests on its main page. The following points apply to managing these branches:" msgstr "Durch die @url{https://qa.guix.gnu.org/, QA-Infrastruktur} (Quality Assurance, englisch für Qualitätssicherung) erkennt solche Meldungen und listet Merge Requests auf seiner Hauptseite auf. Normalerweise verfährt man nach dem Prinzip: „Was zuerst kommt, merget man zuerst.“ Den Fortschritt kann man über den Fehlerbericht bei guix-patches nachvollziehen." #. type: enumerate #: guix-git/doc/contributing.texi:2303 msgid "The commits on the branch should be a combination of the patches relevant to the branch. Patches not related to the topic of the branch should go elsewhere." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2308 msgid "Any changes that can be made on the master branch, should be made on the master branch. If a commit can be split to apply part of the changes on master, this is good to do." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2312 msgid "It should be possible to re-create the branch by starting from master and applying the relevant patches." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2316 msgid "Avoid merging master in to the branch. Prefer rebasing or re-creating the branch on top of an updated master revision." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2321 msgid "Minimise the changes on master that are missing on the branch prior to merging the branch in to master. This means that the state of the branch better reflects the state of master should the branch be merged." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2326 msgid "If you don't have commit access, create the ``Request for merging'' issue and request that someone creates the branch. Include a list of issues/patches to include on the branch." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2340 msgid "Normally branches will be merged in a ``first come, first merged'' manner, tracked through the guix-patches issues. If you agree on a different order with those involved, you can track this by updating which issues block@footnote{You can mark an issue as blocked by another by emailing @email{control@@debbugs.gnu.org} with the following line in the body of the email: @code{block XXXXX by YYYYY}. Where @code{XXXXX} is the number for the blocked issue, and @code{YYYYY} is the number for the issue blocking it.} which other issues. Therefore, to know which branch is at the front of the queue, look for the oldest issue, or the issue that isn't @dfn{blocked} by any other branch merges. An ordered list of branches with the open issues is available at @url{https://qa.guix.gnu.org}." msgstr "Normalerweise verfährt man nach dem Prinzip: „Was zuerst kommt, merget man zuerst.“ Den Fortschritt kann man über den Fehlerbericht bei guix-patches nachvollziehen. Wenn Sie eine andere Reihenfolge mit den Beteiligten absprechen, können Sie dies zur Nachvollziehbarkeit über die diesen Fehlerbericht blockierenden Fehlerberichte angeben@footnote{Sie können markieren, dass ein Fehlerbericht von einem anderen blockiert wird, indem Sie eine E-Mail an @email{control@@debbugs.gnu.org} schicken, die folgende Zeile enthält: @code{block XXXXX by YYYYY}. Dabei schreiben Sie statt @code{XXXXX} die Fehlernummer des blockierten Fehlerberichts und statt @code{YYYYY} die Fehlernummer des blockierenden Fehlerberichts.}. Darum können Sie den Branch, der zuerst an der Reihe ist, finden, indem Sie den ältesten Fehlerbericht suchen, der von keinem anderen Branch-Merge @dfn{blockiert} wird. Die Liste der Branches in sortierter Reihenfolge mit den offenen Fehlerberichten können Sie von @url{https://qa.guix.gnu.org} abrufen." #. type: Plain text #: guix-git/doc/contributing.texi:2346 msgid "Once a branch is at the front of the queue, wait until sufficient time has passed for the build farms to have processed the changes, and for the necessary testing to have happened. For example, you can check @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}} to see information on some builds and substitute availability." msgstr "Sobald ein Branch in der Reihenfolge vorne steht, warten Sie darauf, dass genügend Zeit verstrichen ist, damit die Erstellungfarm die Änderungen verarbeitet hat und die notwendige Überprüfung stattfinden konnte. Sie können zum Beispiel auf @indicateurl{https://qa.guix.gnu.org/branch/@var{Branch}} Informationen zu neuen Erstellungen und zur Substitutverfügbarkeit sehen." #. type: Plain text #: guix-git/doc/contributing.texi:2349 msgid "Once the branch has been merged, the issue should be closed and the branch deleted." msgstr "" #. type: subsubsection #: guix-git/doc/contributing.texi:2353 #, no-wrap msgid "Web interface" msgstr "Weboberfläche" #. type: cindex #: guix-git/doc/contributing.texi:2355 #, fuzzy, no-wrap #| msgid "Git, web interface" msgid "mumi, web interface for issues" msgstr "Git, Weboberfläche" #. type: Plain text #: guix-git/doc/contributing.texi:2358 msgid "A web interface (actually @emph{two} web interfaces!) are available to browse issues:" msgstr "Ihnen steht eine Weboberfläche (tatsächlich sogar @emph{zwei} Weboberflächen!) zur Verfügung, um die Fehlerdatenbank zu durchsuchen:" #. type: itemize #: guix-git/doc/contributing.texi:2367 #, fuzzy #| msgid "@url{https://issues.guix.gnu.org} provides a pleasant interface@footnote{The web interface at @url{https://issues.guix.gnu.org} is powered by Mumi, a nice piece of software written in Guile, and you can help! See @url{https://git.savannah.gnu.org/cgit/guix/mumi.git}.} to browse bug reports and patches, and to participate in discussions;" msgid "@url{https://issues.guix.gnu.org} provides a pleasant interface powered by mumi@footnote{Mumi is a nice piece of software written in Guile, and you can help! See @url{https://git.savannah.gnu.org/cgit/guix/mumi.git}.} to browse bug reports and patches, and to participate in discussions; mumi also has a command-line interface as we will see below;" msgstr "@url{https://issues.guix.gnu.org} erlaubt es Ihnen, über eine hübsche Schnittstelle @footnote{Die Weboberfläche unter @url{https://issues.guix.gnu.org} läuft über das Programm Mumi, ein schönes Stück in Guile geschriebene Software, bei der Sie uns helfen können! Siehe @url{https://git.savannah.gnu.org/cgit/guix/mumi.git}.} eingesendete Fehlerberichte („Bug Reports“) und Patches einzusehen und an Diskussionen teilzunehmen." #. type: itemize #: guix-git/doc/contributing.texi:2369 msgid "@url{https://bugs.gnu.org/guix} lists bug reports;" msgstr "Auf @url{https://bugs.gnu.org/guix} werden gemeldete Fehler aufgeführt," #. type: itemize #: guix-git/doc/contributing.texi:2371 msgid "@url{https://bugs.gnu.org/guix-patches} lists patch submissions." msgstr "auf @url{https://bugs.gnu.org/guix-patches} eingereichte Patches." #. type: Plain text #: guix-git/doc/contributing.texi:2376 msgid "To view discussions related to issue number @var{n}, go to @indicateurl{https://issues.guix.gnu.org/@var{n}} or @indicateurl{https://bugs.gnu.org/@var{n}}." msgstr "Um Diskussionen zum Fehler mit Fehlernummer @var{n} einzusehen, schauen Sie auf @indicateurl{https://issues.guix.gnu.org/@var{n}} oder @indicateurl{https://bugs.gnu.org/@var{n}}." #. type: subsubsection #: guix-git/doc/contributing.texi:2377 #, no-wrap msgid "Command-Line Interface" msgstr "Befehlszeilenschnittstelle" #. type: cindex #: guix-git/doc/contributing.texi:2379 #, no-wrap msgid "mumi command-line interface" msgstr "mumi-Befehlszeilenschnittstelle" #. type: cindex #: guix-git/doc/contributing.texi:2380 #, no-wrap msgid "mumi am" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2381 #, fuzzy, no-wrap #| msgid "compose" msgid "mumi compose" msgstr "compose" #. type: cindex #: guix-git/doc/contributing.texi:2382 #, fuzzy, no-wrap #| msgid "git send-email" msgid "mumi send-email" msgstr "git send-email" #. type: cindex #: guix-git/doc/contributing.texi:2383 #, no-wrap msgid "mumi www" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2388 #, fuzzy #| msgid "Mumi also comes with a command-line interface that can be used to search existing issues, open new issues and send patches. You do not need to use Emacs to use the mumi command-line client. You interact with it only on the command-line." msgid "Mumi also comes with a command-line interface that can be used to search existing issues, open new issues, compose replies, apply and send patches. You do not need to use Emacs to use the mumi command-line client. You interact with it only on the command-line." msgstr "Zu Mumi gehört auch eine Befehlszeilenschnittstelle, mit der bestehende Fehlerberichte durchsucht, neue Fehlerberichte geöffnet und Patches eingeschickt werden können. Es ist nicht erforderlich, dass Sie Emacs benutzen, um den Befehlszeilen-Client mumi zu benutzen. Sie bedienen ihn nur von der Befehlszeile aus." #. type: Plain text #: guix-git/doc/contributing.texi:2392 msgid "To use the mumi command-line interface, navigate to a local clone of the Guix git repository, and drop into a shell with mumi, git and git:send-email installed." msgstr "Um die mumi-Befehlszeilenschnittstelle zu nutzen, begeben Sie sich in einen lokalen Klon von Guix’ Git-Repository, und starten Sie eine Shell, in die Sie mumi, git und git:send-email installieren." #. type: example #: guix-git/doc/contributing.texi:2396 #, no-wrap msgid "" "$ cd guix\n" "~/guix$ guix shell mumi git git:send-email\n" msgstr "" "$ cd guix\n" "~/guix$ guix shell mumi git git:send-email\n" #. type: Plain text #: guix-git/doc/contributing.texi:2399 msgid "To search for issues, say all open issues about \"zig\", run" msgstr "Um Fehlerberichte zu suchen, etwa alle offenen Fehlerberichte zu \"zig\", führen Sie aus:" #. type: example #: guix-git/doc/contributing.texi:2402 #, no-wrap msgid "" "~/guix [env]$ mumi search zig is:open\n" "\n" msgstr "" "~/guix [env]$ mumi search zig is:open\n" "\n" #. type: example #: guix-git/doc/contributing.texi:2413 #, no-wrap msgid "" "#60889 Add zig-build-system\n" "opened on 17 Jan 17:37 Z by Ekaitz Zarraga\n" "#61036 [PATCH 0/3] Update zig to 0.10.1\n" "opened on 24 Jan 09:42 Z by Efraim Flashner\n" "#39136 [PATCH] gnu: services: Add endlessh.\n" "opened on 14 Jan 2020 21:21 by Nicol? Balzarotti\n" "#60424 [PATCH] gnu: Add python-online-judge-tools\n" "opened on 30 Dec 2022 07:03 by gemmaro\n" "#45601 [PATCH 0/6] vlang 0.2 update\n" "opened on 1 Jan 2021 19:23 by Ryan Prior\n" msgstr "" "#60889 Add zig-build-system\n" "opened on 17 Jan 17:37 Z by Ekaitz Zarraga\n" "#61036 [PATCH 0/3] Update zig to 0.10.1\n" "opened on 24 Jan 09:42 Z by Efraim Flashner\n" "#39136 [PATCH] gnu: services: Add endlessh.\n" "opened on 14 Jan 2020 21:21 by Nicol? Balzarotti\n" "#60424 [PATCH] gnu: Add python-online-judge-tools\n" "opened on 30 Dec 2022 07:03 by gemmaro\n" "#45601 [PATCH 0/6] vlang 0.2 update\n" "opened on 1 Jan 2021 19:23 by Ryan Prior\n" #. type: Plain text #: guix-git/doc/contributing.texi:2416 msgid "Pick an issue and make it the \"current\" issue." msgstr "Wählen Sie einen Fehlerbericht und markieren Sie ihn als aktuell („current“)." #. type: example #: guix-git/doc/contributing.texi:2419 #, no-wrap msgid "" "~/guix [env]$ mumi current 61036\n" "\n" msgstr "" "~/guix [env]$ mumi current 61036\n" "\n" #. type: example #: guix-git/doc/contributing.texi:2422 #, no-wrap msgid "" "#61036 [PATCH 0/3] Update zig to 0.10.1\n" "opened on 24 Jan 09:42 Z by Efraim Flashner\n" msgstr "" "#61036 [PATCH 0/3] Update zig to 0.10.1\n" "opened on 24 Jan 09:42 Z by Efraim Flashner\n" #. type: Plain text #: guix-git/doc/contributing.texi:2427 #, fuzzy #| msgid "Once an issue is the current issue, you can easily create and send patches to it using" msgid "Once an issue is the current issue, you can open the issue in a web browser, compose replies, apply patches, send patches, etc. with short succinct commands." msgstr "Sobald ein Fehlerbericht als der aktuelle Fehlerbericht markiert ist, können Sie leicht Patches zu ihm erzeugen und hinzufügen mit:" #. type: Plain text #: guix-git/doc/contributing.texi:2429 msgid "Open the issue in your web browser using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2432 #, fuzzy, no-wrap #| msgid "~/guix [env]$ mumi new\n" msgid "~/guix [env]$ mumi www\n" msgstr "~/guix [env]$ mumi new\n" #. type: Plain text #: guix-git/doc/contributing.texi:2435 msgid "Compose a reply using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2438 #, fuzzy, no-wrap #| msgid "~/guix [env]$ mumi new\n" msgid "~/guix [env]$ mumi compose\n" msgstr "~/guix [env]$ mumi new\n" #. type: Plain text #: guix-git/doc/contributing.texi:2441 msgid "Compose a reply and close the issue using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2444 #, fuzzy, no-wrap #| msgid "~/guix [env]$ mumi new\n" msgid "~/guix [env]$ mumi compose --close\n" msgstr "~/guix [env]$ mumi new\n" #. type: Plain text #: guix-git/doc/contributing.texi:2449 msgid "@command{mumi compose} opens your mail client by passing @samp{mailto:} URIs to @command{xdg-open}. So, you need to have @command{xdg-open} set up to open your mail client correctly." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2451 msgid "Apply the latest patchset from the issue using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2454 #, fuzzy, no-wrap #| msgid "~/guix [env]$ mumi new\n" msgid "~/guix [env]$ mumi am\n" msgstr "~/guix [env]$ mumi new\n" #. type: Plain text #: guix-git/doc/contributing.texi:2457 #, fuzzy #| msgid "You can also ask for a specific version:" msgid "You may also apply a patchset of a specific version (say, v3) using" msgstr "Sie können auch um eine bestimmte Version bitten:" #. type: example #: guix-git/doc/contributing.texi:2460 #, fuzzy, no-wrap #| msgid "~/guix [env]$ mumi new\n" msgid "~/guix [env]$ mumi am v3\n" msgstr "~/guix [env]$ mumi new\n" #. type: Plain text #: guix-git/doc/contributing.texi:2465 msgid "Or, you may apply a patch from a specific e-mail message. For example, to apply the patch from the 4th message (message index starts from 0), run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2468 #, fuzzy, no-wrap #| msgid "~/guix [env]$ mumi new\n" msgid "~/guix [env]$ mumi am @@4\n" msgstr "~/guix [env]$ mumi new\n" #. type: Plain text #: guix-git/doc/contributing.texi:2473 msgid "@command{mumi am} is a wrapper around @command{git am}. You can pass @command{git am} arguments to it after a @samp{--}. For example, to add a Signed-off-by trailer, run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2476 #, fuzzy, no-wrap #| msgid "~/guix [env]$ mumi new\n" msgid "~/guix [env]$ mumi am -- -s\n" msgstr "~/guix [env]$ mumi new\n" #. type: Plain text #: guix-git/doc/contributing.texi:2479 msgid "Create and send patches to the issue using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2483 #, no-wrap msgid "" "~/guix [env]$ git format-patch origin/master\n" "~/guix [env]$ mumi send-email foo.patch bar.patch\n" msgstr "" "~/guix [env]$ git format-patch origin/master\n" "~/guix [env]$ mumi send-email foo.patch bar.patch\n" #. type: Plain text #: guix-git/doc/contributing.texi:2488 msgid "Note that you do not have to pass in @samp{--to} or @samp{--cc} arguments to @command{git format-patch}. @command{mumi send-email} will put them in correctly when sending the patches." msgstr "Wir weisen darauf hin, dass Sie weder @samp{--to} noch @samp{--cc} als Argumente an @command{git format-patch} übergeben müssen. @command{mumi send-email} sorgt dafür, dass sie beim Abschicken von Patches richtig eingetragen werden." #. type: Plain text #: guix-git/doc/contributing.texi:2490 msgid "To open a new issue, run" msgstr "Um einen neuen Fehlerbericht zu öffnen, führen Sie aus:" #. type: example #: guix-git/doc/contributing.texi:2493 #, no-wrap msgid "~/guix [env]$ mumi new\n" msgstr "~/guix [env]$ mumi new\n" #. type: Plain text #: guix-git/doc/contributing.texi:2497 msgid "and send an email (using @command{mumi compose}) or patches (using @command{mumi send-email})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2503 msgid "@command{mumi send-email} is really a wrapper around @command{git send-email} that automates away all the nitty-gritty of sending patches. It uses the current issue state to automatically figure out the correct @samp{To} address to send to, other participants to @samp{Cc}, headers to add, etc." msgstr "@command{mumi send-email} ist eigentlich ein Wrapper um @command{git send-email}, mit dem die harten Details beim Patchversand wegautomatisiert werden. Dabei wird der als „current“ markierte Fehlerbericht analysiert, um automatisch die richtige @samp{To}-Adresse des Empfängers und die in @samp{Cc} stehenden anderen Teilnehmer sowie die Kopfzeilen, die hinzugefügt werden müssen, zu finden, und Ähnliches." #. type: Plain text #: guix-git/doc/contributing.texi:2511 msgid "Also note that, unlike @command{git send-email}, @command{mumi send-email} works perfectly well with single and multiple patches alike. It automates away the debbugs dance of sending the first patch, waiting for a response from debbugs and sending the remaining patches. It does so by sending the first patch, polling the server for a response, and then sending the remaining patches. This polling can unfortunately take a few minutes. So, please be patient." msgstr "Außerdem sollten Sie wissen, dass anders als bei @command{git send-email} für @command{mumi send-email} sowohl einzelne als auch mehrere Patches direkt verschickt werden können. Das Debbugs-Prozedere, wo eigentlich erst ein erster Patch geschickt, auf Antwort von Debbugs gewartet und dann die übrigen Patches geschickt werden, geschieht im Hintergrund. Intern wird mumi den ersten Patch schicken, mit Polling die Antwort des Servers abwarten und die restlichen Patches schicken. Leider kann das Polling mehrere Minuten in Anspruch nehmen. Gedulden Sie sich bitte." #. type: subsubsection #: guix-git/doc/contributing.texi:2512 #, no-wrap msgid "Emacs Interface" msgstr "Emacs-Schnittstelle" #. type: Plain text #: guix-git/doc/contributing.texi:2516 msgid "If you use Emacs, you may find it more convenient to interact with issues using @file{debbugs.el}, which you can install with:" msgstr "Wenn Sie Emacs benutzen, finden Sie es vielleicht bequemer, sich durch Nutzung von @file{debbugs.el} mit Fehlern zu befassen, was Sie mit folgendem Befehl installieren können:" #. type: example #: guix-git/doc/contributing.texi:2519 #, no-wrap msgid "guix install emacs-debbugs\n" msgstr "guix install emacs-debbugs\n" #. type: Plain text #: guix-git/doc/contributing.texi:2522 msgid "For example, to list all open issues on @code{guix-patches}, hit:" msgstr "Um zum Beispiel alle noch ausstehenden, „offenen“ Fehler bezüglich @code{guix-patches} anzusehen, geben Sie dies ein:" #. type: example #: guix-git/doc/contributing.texi:2525 #, no-wrap msgid "@kbd{C-u} @kbd{M-x} debbugs-gnu @kbd{RET} @kbd{RET} guix-patches @kbd{RET} n y\n" msgstr "@kbd{C-u} @kbd{M-x} debbugs-gnu @kbd{RET} @kbd{RET} guix-patches @kbd{RET} n y\n" #. type: Plain text #: guix-git/doc/contributing.texi:2532 msgid "For a more convenient (shorter) way to access both the bugs and patches submissions, you may want to configure the @code{debbugs-gnu-default-packages} and @code{debbugs-gnu-default-severities} Emacs variables (@pxref{Viewing Bugs within Emacs})." msgstr "Um einen bequemeren (schnelleren) Zugang zu Bugs wie auch eingereichten Patches zu bekommen, empfehlen wir, die Emacs-Variablen @code{debbugs-gnu-default-packages} und @code{debbugs-gnu-default-severities} einzustellen (siehe @ref{Viewing Bugs within Emacs})." #. type: Plain text #: guix-git/doc/contributing.texi:2535 msgid "To search for bugs, @samp{@kbd{M-x} debbugs-gnu-guix-search} can be used." msgstr "Zur Suche nach Bugs können Sie @samp{@kbd{M-x} debbugs-gnu-guix-search} verwenden." #. type: Plain text #: guix-git/doc/contributing.texi:2538 msgid "@xref{Top,,, debbugs-ug, Debbugs User Guide}, for more information on this nifty tool!" msgstr "Siehe @ref{Top,,, debbugs-ug, Debbugs User Guide} für weitere Informationen zu diesem raffinierten Werkzeug." #. type: cindex #: guix-git/doc/contributing.texi:2542 #, no-wrap msgid "usertags, for debbugs" msgstr "Usertags, für Debbugs" #. type: cindex #: guix-git/doc/contributing.texi:2543 #, no-wrap msgid "Debbugs usertags" msgstr "Debbugs-Usertags" #. type: Plain text #: guix-git/doc/contributing.texi:2554 msgid "Debbugs provides a feature called @dfn{usertags} that allows any user to tag any bug with an arbitrary label. Bugs can be searched by usertag, so this is a handy way to organize bugs@footnote{The list of usertags is public information, and anyone can modify any user's list of usertags, so keep that in mind if you choose to use this feature.}. If you use Emacs Debbugs, the entry-point to consult existing usertags is the @samp{C-u M-x debbugs-gnu-usertags} procedure. To set a usertag, press @samp{C} while consulting a bug within the *Guix-Patches* buffer opened with @samp{C-u M-x debbugs-gnu-bugs} buffer, then select @code{usertag} and follow the instructions." msgstr "Debbugs bietet die Möglichkeit, sogenannte @dfn{Usertags} zu vergeben, d.h.@: jeder Benutzer kann jedem Fehlerbericht beliebige Kennzeichnungen zuweisen. Die gemeldeten Fehler können anhand der Usertags gesucht werden, deshalb lassen sich die Meldungen so gut organisieren@footnote{Die Liste der Usertags ist öffentlich zugänglich und jeder kann die Usertag-Liste jedes anderen Nutzers ändern. Sie sollten daran denken, wenn Sie diese Funktionalität gebrauchen möchten.}. Wenn Sie Emacs Debbugs verwenden, ist Ihr Einsprungpunkt, wenn Sie bestehende Usertags einsehen möchten, die Prozedur @samp{C-u M-x debbugs-gnu-usertags} aufzurufen. Um einen Usertag zu setzen, drücken Sie @samp{C}, während Sie einen Fehlerbericht im Buffer *Guix-Patches* anvisiert haben; den Buffer sehen Sie mit @samp{C-u M-x debbugs-gnu-bugs}. Geben Sie dann @code{usertag} ein und folgen Sie den Anweisungen." #. type: Plain text #: guix-git/doc/contributing.texi:2560 msgid "For example, to view all the bug reports (or patches, in the case of @code{guix-patches}) tagged with the usertag @code{powerpc64le-linux} for the user @code{guix}, open a URL like the following in a web browser: @url{https://debbugs.gnu.org/cgi-bin/pkgreport.cgi?tag=powerpc64le-linux;users=guix}." msgstr "Wenn Sie sich zum Beispiel alle Fehlerberichte (oder Patches, wenn Sie @code{guix-patches} betrachten) mit dem Usertag @code{powerpc64le-linux} für Benutzer @code{guix} ansehen möchten, öffnen Sie eine URL wie die folgende in einem Webbrowser: @url{https://debbugs.gnu.org/cgi-bin/pkgreport.cgi?tag=powerpc64le-linux;users=guix}." #. type: Plain text #: guix-git/doc/contributing.texi:2564 msgid "For more information on how to use usertags, please refer to the documentation for Debbugs or the documentation for whatever tool you use to interact with Debbugs." msgstr "Mehr Informationen, wie Sie Usertags benutzen können, finden Sie in der Dokumentation von Debbugs bzw.@: wenn Sie ein externes Programm benutzen, um mit Debbugs zu interagieren, in der Dokumentation dieses Programms." #. type: Plain text #: guix-git/doc/contributing.texi:2569 msgid "In Guix, we are experimenting with usertags to keep track of architecture-specific issues, as well as reviewed ones. To facilitate collaboration, all our usertags are associated with the single user @code{guix}. The following usertags currently exist for that user:" msgstr "In Guix experimentieren wir damit, Usertags zum Beobachten von Fehlern zu verwenden, die nur bestimmte Architekturen betreffen oder die jemand bereits begutachtet hat (Überprüfung/Review). Zur leichteren Zusammenarbeit verbinden wir all unsere Usertags einzig mit dem Benutzer @code{guix}. Für diesen Benutzer gibt es zurzeit folgende Usertags:" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: defvar #: guix-git/doc/contributing.texi:2572 guix-git/doc/guix.texi:655 #: guix-git/doc/guix.texi:48442 #, no-wrap msgid "powerpc64le-linux" msgstr "powerpc64le-linux" #. type: table #: guix-git/doc/contributing.texi:2580 msgid "The purpose of this usertag is to make it easy to find the issues that matter most for the @code{powerpc64le-linux} system type. Please assign this usertag to bugs or patches that affect @code{powerpc64le-linux} but not other system types. In addition, you may use it to identify issues that for some reason are particularly important for the @code{powerpc64le-linux} system type, even if the issue affects other system types, too." msgstr "Mit diesem Usertag wollen wir es leichter machen, die Fehler zu finden, die für den Systemtyp @code{powerpc64le-linux} am wichtigsten sind. Bitte weisen Sie ihn solchen Bugs oder Patches zu, die nur @code{powerpc64le-linux} und keine anderen Systemtypen betreffen. Des Weiteren können Sie damit Probleme kennzeichnen, die für den Systemtyp @code{powerpc64le-linux} besonders bedeutsam sind, selbst wenn das Problem sich auch bei anderen Systemtypen zeigt." #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: cindex #: guix-git/doc/contributing.texi:2581 guix-git/doc/guix.texi:2966 #: guix-git/doc/guix.texi:4903 #, no-wrap msgid "reproducibility" msgstr "reproducibility" #. type: table #: guix-git/doc/contributing.texi:2585 msgid "For issues related to reproducibility. For example, it would be appropriate to assign this usertag to a bug report for a package that fails to build reproducibly." msgstr "Verwenden Sie den Usertag @code{reproducibility} für Fehler in der Reproduzierbarkeit einer Erstellung. Es wäre zum Beispiel angemessen, den Usertag für einen Fehlerbericht zu einem Paket zuzuweisen, das nicht reproduzierbar erstellt wird." #. type: item #: guix-git/doc/contributing.texi:2586 #, no-wrap msgid "reviewed-looks-good" msgstr "reviewed-looks-good" #. type: table #: guix-git/doc/contributing.texi:2588 msgid "You have reviewed the series and it looks good to you (LGTM)." msgstr "Sie haben die Patchserie überprüft und für gut befunden („looks good to me“, LGTM)." #. type: Plain text #: guix-git/doc/contributing.texi:2595 msgid "If you're a committer and you want to add a usertag, just start using it with the @code{guix} user. If the usertag proves useful to you, consider updating this section of the manual so that others will know what your usertag means." msgstr "Wenn Sie Commit-Zugriff haben und einen neuen Usertag verwenden möchten, dann fangen Sie einfach an, ihn mit dem Benutzer @code{guix} zu benutzen. Erweist sich der Usertag für Sie als nützlich, sollten Sie vielleicht diesen Handbuchabschnitt ergänzen, um andere in Kenntnis zu setzen, was Ihr Usertag bedeutet." #. type: cindex #: guix-git/doc/contributing.texi:2599 #, no-wrap msgid "build event notifications, RSS feed" msgstr "Erstellungsereignisse, Benachrichtigung per RSS-Feed" #. type: cindex #: guix-git/doc/contributing.texi:2600 #, no-wrap msgid "notifications, build events" msgstr "Benachrichtigungen, Erstellungsereignisse" #. type: Plain text #: guix-git/doc/contributing.texi:2609 msgid "Cuirass includes @acronym{RSS, Really Simple Syndication} feeds as one of its features (@pxref{Notifications,,,cuirass}). Since @url{https://ci.guix.gnu.org/, Berlin} runs an instance of Cuirass, this feature can be used to keep track of recently broken or fixed packages caused by changes pushed to the Guix git repository. Any RSS client can be used. A good one, included with Emacs, is @xref{Gnus,,,gnus}. To register the feed, copy its URL, then from the main Gnus buffer, @samp{*Group*}, do the following:" msgstr "Eine der Funktionen von Cuirass ist, Mitteilungen per @acronym{RSS, Really Simple Syndication}-Feed zu verschicken (siehe @ref{Notifications,,,cuirass}). Weil auf @url{https://ci.guix.gnu.org/, Berlin} eine Instanz von Cuirass läuft, können Sie sich über diese Funktion benachrichtigen lassen, welche Pakete sich seit kurzem nicht mehr oder jetzt wieder erstellen lassen, weil jemand Änderungen auf das Guix-Git-Repository gepusht hat. Sie können einen beliebigen RSS-Client benutzen. Eine gute Wahl, die bei Emacs mit dabei ist, ist @xref{Gnus,,,gnus}. Um den Feed zu registrieren, kopieren Sie seine URL und tun dann Folgendes in Gnus’ Hauptpuffer @samp{*Group*}:" #. type: cindex #: guix-git/doc/contributing.texi:2610 #, no-wrap msgid "Gnus, configuration to read CI RSS feeds" msgstr "Gnus, RSS-Feeds der CI einrichten" #. type: cindex #: guix-git/doc/contributing.texi:2611 #, no-wrap msgid "RSS feeds, Gnus configuration" msgstr "RSS-Feeds, Gnus-Konfiguration" #. type: example #: guix-git/doc/contributing.texi:2615 #, no-wrap msgid "" "@kbd{G R} https://ci.guix.gnu.org/events/rss/?specification=master RET\n" "Guix CI - master RET Build events for specification master. RET\n" msgstr "" "@kbd{G R} https://ci.guix.gnu.org/events/rss/?specification=master RET\n" "Guix CI - master RET Erstellungsereignisse der Spezifikation master. RET\n" #. type: Plain text #: guix-git/doc/contributing.texi:2622 msgid "Then, back at the @samp{*Group*} buffer, press @kbd{s} to save the newly added RSS group. As for any other Gnus group, you can update its content by pressing the @kbd{g} key. You should now receive notifications that read like:" msgstr "Wenn Sie danach wieder im Puffer @samp{*Group*} sind, drücken Sie @kbd{s}, um die neu hinzugefügte RSS-Gruppe zu speichern. Wie bei jeder anderen Gnus-Gruppe können Sie deren Inhalt aktualisieren, indem Sie die Taste @kbd{g} drücken. Nun sollten Sie solche Mitteilungen empfangen wie:" #. type: example #: guix-git/doc/contributing.texi:2627 #, no-wrap msgid "" " . [ ?: Cuirass ] Build tree-sitter-meson.aarch64-linux on master is fixed.\n" " . [ ?: Cuirass ] Build rust-pbkdf2.aarch64-linux on master is fixed.\n" " . [ ?: Cuirass ] Build rust-pbkdf2.x86_64-linux on master is fixed.\n" msgstr "" " . [ ?: Cuirass ] Build tree-sitter-meson.aarch64-linux on master is fixed.\n" " . [ ?: Cuirass ] Build rust-pbkdf2.aarch64-linux on master is fixed.\n" " . [ ?: Cuirass ] Build rust-pbkdf2.x86_64-linux on master is fixed.\n" #. type: Plain text #: guix-git/doc/contributing.texi:2632 msgid "where each RSS entry contains a link to the Cuirass build details page of the associated build." msgstr "Jeder dieser RSS-Einträge verweist dabei auf die Details-Seite der entsprechenden Erstellung auf Cuirass." #. type: Plain text #: guix-git/doc/contributing.texi:2646 msgid "To organize work on Guix, including but not just development efforts, the project has a set of @dfn{teams}. Each team has its own focus and interests and is the primary contact point for questions and contributions in those areas. A team's primary mission is to coordinate and review the work of individuals in its scope (@pxref{Reviewing the Work of Others}); it can make decisions within its scope, in agreement with other teams whenever there is overlap or a close connection, and in accordance with other project rules such as seeking consensus (@pxref{Making Decisions})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2660 msgid "As an example, the Python team is responsible for core Python packaging matters; it can decide to upgrade core Python packages in a dedicated @code{python-team} branch, in collaboration with any team whose scope is directly dependent on Python---e.g., the Science team---and following branching rules (@pxref{Managing Patches and Branches}). The Documentation team helps review changes to the documentation and can initiate overarching documentation changes. The Translations team organizes translation of Guix and its manual and coordinates efforts in that area. The Core team is responsible for the development of core functionality and interfaces of Guix; because of its central nature, some of its work may require soliciting input from the community at large and seeking consensus before enacting decisions that would affect the entire community." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2664 msgid "Teams are defined in the @file{etc/teams.scm} file in the Guix repository. The scope of each team is defined, when applicable, as a set of files or as a regular expression matching file names." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2665 #, no-wrap msgid "team membership" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2672 msgid "Anyone with interest in a team's domain and willing to contribute to its work can apply to become a member by contacting current members by email; commit access is not a precondition. Membership is formalized by adding the person's name and email address to @file{etc/teams.scm}. Members who have not been participating in the team's work for one year or more may be removed; they are free to reapply for membership later." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2673 #, fuzzy, no-wrap #| msgid "system configuration" msgid "team creation" msgstr "Systemkonfiguration" #. type: Plain text #: guix-git/doc/contributing.texi:2679 msgid "One or more people may propose the creation of a new team by reaching out to the community by email at @email{guix-devel@@gnu.org}, clarifying the intended scope and purpose. When consensus is reached on the creation of this team, someone with commit access formalizes its creation by adding it and its initial members to @file{etc/teams.scm}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2681 msgid "To list existing teams, run the following command from a Guix checkout:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2690 #, fuzzy, no-wrap #| msgid "" #| "$ ./etc/teams.scm list-teams\n" #| "id: mentors\n" #| "name: Mentors\n" #| "description: A group of mentors who chaperone contributions by newcomers.\n" #| "members:\n" #| "+ Christopher Baines <mail@@cbaines.net>\n" #| "+ Ricardo Wurmus <rekado@@elephly.net>\n" #| "+ Mathieu Othacehe <othacehe@@gnu.org>\n" #| "+ jgart <jgart@@dismail.de>\n" #| "+ Ludovic Courtès <ludo@@gnu.org>\n" #| "@dots{}\n" msgid "" "$ ./etc/teams.scm list-teams\n" "id: mentors\n" "name: Mentors\n" "description: A group of mentors who chaperone contributions by newcomers.\n" "members:\n" "+ Charlie Smith <charlie@@example.org>\n" "@dots{}\n" msgstr "" "$ ./etc/teams.scm list-teams\n" "id: mentors\n" "name: Mentors\n" "description: A group of mentors who chaperone contributions by newcomers.\n" "members:\n" "+ Christopher Baines <mail@@cbaines.net>\n" "+ Ricardo Wurmus <rekado@@elephly.net>\n" "+ Mathieu Othacehe <othacehe@@gnu.org>\n" "+ jgart <jgart@@dismail.de>\n" "+ Ludovic Courtès <ludo@@gnu.org>\n" "…\n" #. type: cindex #: guix-git/doc/contributing.texi:2692 #, no-wrap msgid "mentoring" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2695 #, fuzzy #| msgid "You can run the following command to have the @code{Mentors} team put in CC of a patch series:" msgid "You can run the following command to have the Mentors team put in CC of a patch series:" msgstr "Sie können den folgenden Befehl benutzen, um das Team @code{Mentors} bei einer Patch-Reihe in CC zu setzen:" #. type: example #: guix-git/doc/contributing.texi:2699 #, no-wrap msgid "" "$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org \\\n" " --header-cmd='etc/teams.scm cc-mentors-header-cmd' *.patch\n" msgstr "" "$ git send-email --to=@var{FEHLERNUMMER}@@debbugs.gnu.org \\\n" " --header-cmd='etc/teams.scm cc-mentors-header-cmd' *.patch\n" #. type: Plain text #: guix-git/doc/contributing.texi:2704 msgid "The appropriate team or teams can also be inferred from the modified files. For instance, if you want to send the two latest commits of the current Git repository to review, you can run:" msgstr "Das zuständige Team kann auch automatisch anhand der geänderten Dateien ermittelt werden. Wenn Sie zum Beispiel für die letzten zwei Commits im aktuellen Git-Repository um Überprüfung bitten möchten, führen Sie dies aus:" #. type: example #: guix-git/doc/contributing.texi:2708 #, no-wrap msgid "" "$ guix shell -D guix\n" "[env]$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -2\n" msgstr "" "$ guix shell -D guix\n" "[env]$ git send-email --to=@var{FEHLERNUMMER}@@debbugs.gnu.org -2\n" #. type: cindex #: guix-git/doc/contributing.texi:2713 #, no-wrap msgid "decision making" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2714 #, no-wrap msgid "consensus seeking" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2721 msgid "It is expected from all contributors, and even more so from committers, to help build consensus and make decisions based on consensus. By using consensus, we are committed to finding solutions that everyone can live with. It implies that no decision is made against significant concerns and these concerns are actively resolved with proposals that work for everyone." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2728 msgid "A contributor (who may or may not have commit access) wishing to block a proposal bears a special responsibility for finding alternatives, proposing ideas/code or explain the rationale for the status quo to resolve the deadlock. To learn what consensus decision making means and understand its finer details, you are encouraged to read @url{https://www.seedsforchange.org.uk/consensus}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2732 #, no-wrap msgid "commit access, for developers" msgstr "Commit-Zugriff, für Entwickler" #. type: Plain text #: guix-git/doc/contributing.texi:2743 #, fuzzy #| msgid "Everyone can contribute to Guix without having commit access (@pxref{Submitting Patches}). However, for frequent contributors, having write access to the repository can be convenient. As a rule of thumb, a contributor should have accumulated fifty (50) reviewed commits to be considered as a committer and have sustained their activity in the project for at least 6 months. This ensures enough interactions with the contributor, which is essential for mentoring and assessing whether they are ready to become a committer. Commit access should not be thought of as a ``badge of honor'' but rather as a responsibility a contributor is willing to take to help the project. It is expected from all contributors, and even more so from committers, to help build consensus and make decisions based on consensus. By using consensus, we are committed to finding solutions that everyone can live with. It implies that no decision is made against significant concerns and these concerns are actively resolved with proposals that work for everyone. A contributor (which may or may not have commit access) wishing to block a proposal bears a special responsibility for finding alternatives, proposing ideas/code or explain the rationale for the status quo to resolve the deadlock. To learn what consensus decision making means and understand its finer details, you are encouraged to read @url{https://www.seedsforchange.org.uk/consensus}." msgid "Everyone can contribute to Guix without having commit access (@pxref{Submitting Patches}). However, for frequent contributors, having write access to the repository can be convenient. As a rule of thumb, a contributor should have accumulated fifty (50) reviewed commits to be considered as a committer and have sustained their activity in the project for at least 6 months. This ensures enough interactions with the contributor, which is essential for mentoring and assessing whether they are ready to become a committer. Commit access should not be thought of as a ``badge of honor'' but rather as a responsibility a contributor is willing to take to help the project." msgstr "Jeder kann bei Guix mitmachen, auch ohne Commit-Zugriff zu haben (siehe @ref{Submitting Patches}). Für Leute, die häufig zu Guix beitragen, kann es jedoch praktischer sein, Schreibzugriff auf das Repository zu haben. Als Daumenregel sollte ein Mitwirkender 50-mal überprüfte Commits eingebracht haben, um als Committer zu gelten, und schon mindestens 6 Monate im Projekt aktiv sein. Dadurch gab es genug Zusammenarbeit, um Mitwirkende einzuarbeiten und einzuschätzen, ob sie so weit sind, Committer zu werden. Dieser Commit-Zugriff sollte nicht als Auszeichnung verstanden werden, sondern als Verantwortung, die ein Mitwirkender auf sich nimmt, um dem Projekt zu helfen. Von allen Mitwirkenden wird erwartet, und erst recht von Committern, zu einer Konsensbildung beizutragen und Entscheidungen mit Konsens zu treffen. Weil wir Konsens wollen, haben wir das Ziel, Lösungen zu finden, mit denen jeder leben kann. Es bedeutet, dass wir keine Entscheidung gegen größere Bedenken fällen und wir solche Bedenken aktiv mit Vorschlägen angehen, die alle gut finden. Wenn ein Mitwirkender (mit oder ohne Commit-Zugriff) sich gegen einen Vorschlag sperren möchte, geht auch damit besondere Verantwortung einher, andere Möglichkeiten zu finden und Ideen oder Code einzubringen bzw.@: den Grund darzulegen, weshalb es so bleiben sollte, wie es ist. Vorschläge sollen @emph{nicht} stecken bleiben. Wir ermutigen Sie dazu, @url{https://www.seedsforchange.org.uk/consensus} zu lesen, um ein Verständnis für Konsensentscheidungen zu entwickeln und Einzelheiten zu meistern." #. type: Plain text #: guix-git/doc/contributing.texi:2748 msgid "Committers are in a position where they enact technical decisions. Such decisions must be made by @emph{actively building consensus} among interested parties and stakeholders. @xref{Making Decisions}, for more on that." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2752 msgid "The following sections explain how to get commit access, how to be ready to push commits, and the policies and community expectations for commits pushed upstream." msgstr "Im folgenden Abschnitt wird beschrieben, wie jemand Commit-Zugriff bekommt, was man tun muss, bevor man zum ersten Mal einen Commit pusht, und welche Richtlinien und Erwartungen die Gemeinschaft an Commits richtet, die auf das offizielle Repository gepusht werden." #. type: subsection #: guix-git/doc/contributing.texi:2753 #, no-wrap msgid "Applying for Commit Access" msgstr "Um Commit-Zugriff bewerben" #. type: Plain text #: guix-git/doc/contributing.texi:2757 msgid "When you deem it necessary, consider applying for commit access by following these steps:" msgstr "Wenn Sie es für angemessen halten, dann sollten Sie in Erwägung ziehen, sich wie folgt um Commit-Zugriff zu bewerben:" #. type: enumerate #: guix-git/doc/contributing.texi:2766 msgid "Find three committers who would vouch for you. You can view the list of committers at @url{https://savannah.gnu.org/project/memberlist.php?group=guix}. Each of them should email a statement to @email{guix-maintainers@@gnu.org} (a private alias for the collective of maintainers), signed with their OpenPGP key." msgstr "Finden Sie drei Committer, die für Sie eintreten. Sie können die Liste der Committer unter @url{https://savannah.gnu.org/project/memberlist.php?group=guix} finden. Jeder von ihnen sollte eine entsprechende Erklärung per E-Mail an @email{guix-maintainers@@gnu.org} schicken (eine private Alias-Adresse für das Kollektiv aus allen Betreuern bzw.@: Maintainern), die jeweils mit ihrem OpenPGP-Schlüssel signiert wurde." #. type: enumerate #: guix-git/doc/contributing.texi:2772 msgid "Committers are expected to have had some interactions with you as a contributor and to be able to judge whether you are sufficiently familiar with the project's practices. It is @emph{not} a judgment on the value of your work, so a refusal should rather be interpreted as ``let's try again later''." msgstr "Von den Committern wird erwartet, dass sie bereits mit Ihnen als Mitwirkendem zu tun hatten und beurteilen können, ob Sie mit den Richtlinien des Projekts hinreichend vertraut sind. Dabei geht es @emph{nicht} darum, wie wertvoll Ihre Beiträge sind, daher sollte eine Ablehnung mehr als „schauen wir später nochmal“ verstanden werden." #. type: enumerate #: guix-git/doc/contributing.texi:2779 msgid "Send @email{guix-maintainers@@gnu.org} a message stating your intent, listing the three committers who support your application, signed with the OpenPGP key you will use to sign commits, and giving its fingerprint (see below). See @uref{https://emailselfdefense.fsf.org/en/}, for an introduction to public-key cryptography with GnuPG." msgstr "Senden Sie eine Nachricht an @email{guix-maintainers@@gnu.org}, in der Sie Ihre Bereitschaft darlegen und die Namen der drei Committer nennen, die Ihre Bewerbung unterstützen. Die Nachricht sollte mit dem OpenPGP-Schlüssel signiert sein, mit dem Sie später auch Ihre Commits signieren, und Sie sollten den Fingerabdruck hinterlegen (siehe unten). Siehe @uref{https://emailselfdefense.fsf.org/de/} für eine Einführung in asymmetrische Kryptografie („Public-Key“) mit GnuPG." #. type: enumerate #: guix-git/doc/contributing.texi:2785 msgid "Set up GnuPG such that it never uses the SHA1 hash algorithm for digital signatures, which is known to be unsafe since 2019, for instance by adding the following line to @file{~/.gnupg/gpg.conf} (@pxref{GPG Esoteric Options,,, gnupg, The GNU Privacy Guard Manual}):" msgstr "Richten Sie GnuPG so ein, dass es niemals den SHA1-Hashalgorithmus für digitale Signaturen verwendet, der seit 2019 bekanntlich unsicher ist. Fügen Sie dazu zum Beispiel folgende Zeile in @file{~/.gnupg/gpg.conf} ein (siehe @ref{GPG Esoteric Options,,, gnupg, The GNU Privacy Guard Manual}):" #. type: example #: guix-git/doc/contributing.texi:2788 #, no-wrap msgid "digest-algo sha512\n" msgstr "digest-algo sha512\n" #. type: enumerate #: guix-git/doc/contributing.texi:2793 msgid "Maintainers ultimately decide whether to grant you commit access, usually following your referrals' recommendation." msgstr "Betreuer entscheiden letztendlich darüber, ob Ihnen Commit-Zugriff gegeben wird, folgen dabei aber normalerweise der Empfehlung Ihrer Fürsprecher." #. type: cindex #: guix-git/doc/contributing.texi:2795 #, no-wrap msgid "OpenPGP, signed commits" msgstr "OpenPGP, signierte Commits" #. type: enumerate #: guix-git/doc/contributing.texi:2800 msgid "If and once you've been given access, please send a message to @email{guix-devel@@gnu.org} to say so, again signed with the OpenPGP key you will use to sign commits (do that before pushing your first commit). That way, everyone can notice and ensure you control that OpenPGP key." msgstr "Wenn und sobald Ihnen Zugriff gewährt wurde, senden Sie bitte eine Nachricht an @email{guix-devel@@gnu.org}, um dies bekanntzugeben, die Sie erneut mit dem OpenPGP-Schlüssel signiert haben, mit dem Sie Commits signieren (tun Sie das, bevor Sie Ihren ersten Commit pushen). Auf diese Weise kann jeder Ihren Beitritt mitbekommen und nachprüfen, dass dieser OpenPGP-Schlüssel wirklich Ihnen gehört." #. type: quotation #: guix-git/doc/contributing.texi:2801 guix-git/doc/guix.texi:711 #: guix-git/doc/guix.texi:743 guix-git/doc/guix.texi:22038 #: guix-git/doc/guix.texi:35277 guix-git/doc/guix.texi:35922 #, no-wrap msgid "Important" msgstr "Wichtig" #. type: quotation #: guix-git/doc/contributing.texi:2803 msgid "Before you can push for the first time, maintainers must:" msgstr "Bevor Sie zum ersten Mal pushen dürfen, müssen die Betreuer:" #. type: enumerate #: guix-git/doc/contributing.texi:2807 msgid "add your OpenPGP key to the @code{keyring} branch;" msgstr "Ihren OpenPGP-Schlüssel zum @code{keyring}-Branch hinzugefügt haben," #. type: enumerate #: guix-git/doc/contributing.texi:2810 msgid "add your OpenPGP fingerprint to the @file{.guix-authorizations} file of the branch(es) you will commit to." msgstr "Ihren OpenPGP-Fingerabdruck in die Datei @file{.guix-authorizations} derjenigen Branches eingetragen haben, auf die Sie commiten möchten." #. type: enumerate #: guix-git/doc/contributing.texi:2815 msgid "Make sure to read the rest of this section and... profit!" msgstr "Wenn Sie den Rest dieses Abschnitts jetzt auch noch lesen, steht Ihrer Karriere nichts mehr im Weg!" #. type: quotation #: guix-git/doc/contributing.texi:2821 msgid "Maintainers are happy to give commit access to people who have been contributing for some time and have a track record---don't be shy and don't underestimate your work!" msgstr "Betreuer geben gerne anderen Leuten Commit-Zugriff, die schon einige Zeit dabei waren und ihre Eignung unter Beweis gestellt haben. Seien Sie nicht schüchtern und unterschätzen Sie Ihre Arbeit nicht!" #. type: quotation #: guix-git/doc/contributing.texi:2825 msgid "However, note that the project is working towards a more automated patch review and merging system, which, as a consequence, may lead us to have fewer people with commit access to the main repository. Stay tuned!" msgstr "Sie sollten sich bewusst sein, dass unser Projekt auf ein besser automatisiertes System hinarbeitet, um Patches zu überprüfen und zu mergen. Als Folge davon werden wir vielleicht weniger Leuten Commit-Zugriff auf das Haupt-Repository geben. Bleiben Sie auf dem Laufenden!" #. type: Plain text #: guix-git/doc/contributing.texi:2832 msgid "All commits that are pushed to the central repository on Savannah must be signed with an OpenPGP key, and the public key should be uploaded to your user account on Savannah and to public key servers, such as @code{keys.openpgp.org}. To configure Git to automatically sign commits, run:" msgstr "Alle Commits, die auf das zentrale Repository auf Savannah gepusht werden, müssen mit einem OpenPGP-Schlüssel signiert worden sein, und diesen öffentlichen Schlüssel sollten Sie auf Ihr Benutzerkonto auf Savannah und auf öffentliche Schlüsselserver wie @code{keys.openpgp.org} hochladen. Um Git so zu konfigurieren, dass es Commits automatisch signiert, führen Sie diese Befehle aus:" #. type: example #: guix-git/doc/contributing.texi:2835 #, no-wrap msgid "" "git config commit.gpgsign true\n" "\n" msgstr "" "git config commit.gpgsign true\n" "\n" #. type: example #: guix-git/doc/contributing.texi:2838 #, no-wrap msgid "" "# Substitute the fingerprint of your public PGP key.\n" "git config user.signingkey CABBA6EA1DC0FF33\n" msgstr "" "# Ersetzen Sie den Fingerabdruck durch Ihren öffentlichen PGP-Schlüssel.\n" "git config user.signingkey CABBA6EA1DC0FF33\n" #. type: Plain text #: guix-git/doc/contributing.texi:2841 msgid "To check that commits are signed with correct key, use:" msgstr "Um zu prüfen, ob Commits mit dem richtigen Schlüssel signiert wurden, benutzen Sie:" #. type: Plain text #: guix-git/doc/contributing.texi:2848 msgid "@xref{Building from Git} for running the first authentication of a Guix checkout." msgstr "Siehe @ref{Building from Git}, wie man zum ersten Mal ein Guix-Checkout authentifiziert." #. type: Plain text #: guix-git/doc/contributing.texi:2852 msgid "To avoid accidentally pushing unsigned or signed with the wrong key commits to Savannah, make sure to configure Git according to @xref{Configuring Git}." msgstr "Als Vorsichtsmaßnahme, um @emph{nicht} versehentlich unsignierte oder mit dem falschen Schlüssel signierte Commits auf Savannah zu pushen, sollten Sie Git so eingerichtet haben, wie es in @ref{Configuring Git} vorgeschrieben ist." #. type: subsection #: guix-git/doc/contributing.texi:2853 #, no-wrap msgid "Commit Policy" msgstr "Commit-Richtlinie" #. type: Plain text #: guix-git/doc/contributing.texi:2858 msgid "If you get commit access, please make sure to follow the policy below (discussions of the policy can take place on @email{guix-devel@@gnu.org})." msgstr "Wenn Sie Commit-Zugriff erhalten, passen Sie bitte auf, dass Sie der folgenden Richtlinie folgen (Diskussionen über die Richtlinie können wir auf @email{guix-devel@@gnu.org} führen)." #. type: Plain text #: guix-git/doc/contributing.texi:2862 msgid "Ensure you're aware of how the changes should be handled (@pxref{Managing Patches and Branches}) prior to being pushed to the repository, especially for the @code{master} branch." msgstr "Das Verfahren, das Änderungsvorschläge durchlaufen (siehe @ref{Managing Patches and Branches}), muss Ihnen bekannt sein, wenn es um Pushs auf das Repository geht, gerade beim @code{master}-Branch." #. type: Plain text #: guix-git/doc/contributing.texi:2869 #, fuzzy #| msgid "If you're committing and pushing your own changes, try and wait at least one week (two weeks for more significant changes) after you send them for review. After this, if no one else is available to review them and if you're confident about the changes, it's OK to commit." msgid "If you're committing and pushing your own changes, try and wait at least one week (two weeks for more significant changes, up to one month for changes such as removing a package---@pxref{package-removal-policy, Package Removal}) after you send them for review. After this, if no one else is available to review them and if you're confident about the changes, it's OK to commit." msgstr "Wenn es Ihre eigenen Änderungen sind, die Sie commiten und pushen, lassen Sie mindestens eine Woche Zeit, damit andere Ihre Änderungen begutachten können (zwei Wochen bei nennenswerten Änderungen), nachdem Sie sie zum Überprüfen eingeschickt haben. Wenn danach niemand anders die Zeit zum Prüfen findet und Sie von den Änderungen überzeugt sind, ist es in Ordnung, sie zu commiten." #. type: Plain text #: guix-git/doc/contributing.texi:2874 msgid "When pushing a commit on behalf of somebody else, please add a @code{Signed-off-by} line at the end of the commit log message---e.g., with @command{git am --signoff}. This improves tracking of who did what." msgstr "Wenn Sie einen Commit für jemand anderen pushen, fügen Sie bitte eine @code{Signed-off-by}-Zeile am Ende der Commit-Log-Nachricht hinzu@tie{}– z.B.@: mit @command{git am --signoff}. Dadurch lässt es sich leichter überblicken, wer was getan hat." #. type: Plain text #: guix-git/doc/contributing.texi:2878 msgid "When adding channel news entries (@pxref{Channels, Writing Channel News}), make sure they are well-formed by running the following command right before pushing:" msgstr "Wenn Sie Kanalneuigkeiten hinzufügen (siehe @ref{Channels, Kanalneuigkeiten verfassen}), dann sollten Sie prüfen, dass diese wohlgeformt sind, indem Sie den folgenden Befehl direkt vor dem Pushen ausführen:" #. type: example #: guix-git/doc/contributing.texi:2881 #, no-wrap msgid "make check-channel-news\n" msgstr "make check-channel-news\n" #. type: subsection #: guix-git/doc/contributing.texi:2883 #, no-wrap msgid "Addressing Issues" msgstr "Mit Fehlern umgehen" #. type: Plain text #: guix-git/doc/contributing.texi:2894 msgid "Peer review (@pxref{Submitting Patches}) and tools such as @command{guix lint} (@pxref{Invoking guix lint}) and the test suite (@pxref{Running the Test Suite}) should catch issues before they are pushed. Yet, commits that ``break'' functionality might occasionally go through. When that happens, there are two priorities: mitigating the impact, and understanding what happened to reduce the chance of similar incidents in the future. The responsibility for both these things primarily lies with those involved, but like everything this is a group effort." msgstr "Durch Begutachten der von anderen eingereichten Patches („Peer-Review“, siehe @ref{Submitting Patches}) und durch Werkzeuge wie @command{guix lint} (siehe @ref{Invoking guix lint}) und den Testkatalog (siehe @ref{Running the Test Suite}) sollten Sie Fehler finden können, ehe sie gepusht wurden. Trotz allem kann es gelegentlich vorkommen, dass nicht bemerkt wird, wenn nach einem Commit etwas in Guix nicht mehr funktioniert. Wenn das passiert, haben zwei Dinge Vorrang: Schadensbegrenzung und Verstehen, was passiert ist, damit es nicht wieder zu vergleichbaren Fehlern kommt. Die Verantwortung dafür tragen in erster Linie die Beteiligten, aber wie bei allem anderen handelt es sich um eine Aufgabe der Gruppe." #. type: Plain text #: guix-git/doc/contributing.texi:2899 msgid "Some issues can directly affect all users---for instance because they make @command{guix pull} fail or break core functionality, because they break major packages (at build time or run time), or because they introduce known security vulnerabilities." msgstr "Manche Fehler können sofort alle Nutzer betreffen, etwa wenn @command{guix pull} dadurch nicht mehr funktioniert oder Kernfunktionen von Guix ausfallen, wenn wichtige Pakete nicht mehr funktionieren (zur Erstellungs- oder zur Laufzeit) oder wenn bekannte Sicherheitslücken eingeführt werden." #. type: cindex #: guix-git/doc/contributing.texi:2900 #, no-wrap msgid "reverting commits" msgstr "Revert von Commits" #. type: Plain text #: guix-git/doc/contributing.texi:2906 msgid "The people involved in authoring, reviewing, and pushing such commit(s) should be at the forefront to mitigate their impact in a timely fashion: by pushing a followup commit to fix it (if possible), or by reverting it to leave time to come up with a proper fix, and by communicating with other developers about the problem." msgstr "Die am Verfassen, Begutachten und Pushen von Commits Beteiligten sollten zu den ersten gehören, die für zeitnahe Schadensbegrenzung sorgen, indem sie mit einem nachfolgenden Commit („Follow-up“) den Fehler falls möglich beseitigen oder den vorherigen Commit rückgängig machen („Revert“), damit Zeit ist, das Problem auf ordentliche Weise zu beheben. Auch sollten sie das Problem mit anderen Entwicklern bereden." #. type: Plain text #: guix-git/doc/contributing.texi:2912 msgid "If these persons are unavailable to address the issue in time, other committers are entitled to revert the commit(s), explaining in the commit log and on the mailing list what the problem was, with the goal of leaving time to the original committer, reviewer(s), and author(s) to propose a way forward." msgstr "Wenn diese Personen nicht verfügbar sind, um den Fehler zeitnah zu beheben, steht es anderen Committern zu, deren Commit(s) zu reverten und im Commit-Log und auf der Mailingliste zu erklären, was das Problem war. Ziel ist, dem oder den ursprünglichen Committer(n), Begutachter(n) und Autoren mit mehr Zeit Gelegenheit zu geben, einen Vorschlag zum weiteren Vorgehen zu machen." #. type: Plain text #: guix-git/doc/contributing.texi:2921 msgid "Once the problem has been dealt with, it is the responsibility of those involved to make sure the situation is understood. If you are working to understand what happened, focus on gathering information and avoid assigning any blame. Do ask those involved to describe what happened, do not ask them to explain the situation---this would implicitly blame them, which is unhelpful. Accountability comes from a consensus about the problem, learning from it and improving processes so that it's less likely to reoccur." msgstr "Wenn das Problem erledigt wurde, müssen die Beteiligten ein Verständnis für die Situation sicherstellen. Während Sie sich um Verständnis bemühen, legen Sie den Fokus auf das Sammeln von Informationen und vermeiden Sie Schuldzuweisungen. Lassen Sie die Beteiligten beschreiben, was passiert ist, aber bitten Sie sie nicht, die Situation zu erklären, weil ihnen das implizit Schuld zuspricht, was nicht hilfreich ist. Verantwortung ergibt sich aus Einigkeit über das Problem, dass man daraus lernt und die Prozesse verbessert, damit es nicht wieder vorkommt." #. type: subsection #: guix-git/doc/contributing.texi:2922 #, no-wrap msgid "Commit Revocation" msgstr "Entzug des Commit-Zugriffs" #. type: Plain text #: guix-git/doc/contributing.texi:2929 msgid "In order to reduce the possibility of mistakes, committers will have their Savannah account removed from the Guix Savannah project and their key removed from @file{.guix-authorizations} after 12 months of inactivity; they can ask to regain commit access by emailing the maintainers, without going through the vouching process." msgstr "Damit es weniger wahrscheinlich ist, dass Fehler passieren, werden wir das Savannah-Konto von Committern nach 12 Monaten der Inaktivität aus dem Guix-Projekt bei Savannah löschen und ihren Schlüssel aus @file{.guix-authorizations} entfernen. Solche Committer können den Betreuern eine E-Mail schicken, um ohne einen Durchlauf des Fürsprecherprozesses wieder Commit-Zugriff zu bekommen." #. type: Plain text #: guix-git/doc/contributing.texi:2939 msgid "Maintainers@footnote{See @uref{https://guix.gnu.org/en/about} for the current list of maintainers. You can email them privately at @email{guix-maintainers@@gnu.org}.} may also revoke an individual's commit rights, as a last resort, if cooperation with the rest of the community has caused too much friction---even within the bounds of the project's code of conduct (@pxref{Contributing}). They would only do so after public or private discussion with the individual and a clear notice. Examples of behavior that hinders cooperation and could lead to such a decision include:" msgstr "Betreuer@footnote{Siehe @uref{https://guix.gnu.org/de/about} für eine Liste der Betreuer. Sie können ihnen eine private E-Mail schicken an @email{guix-maintainers@@gnu.org}.} dürfen als letzten Ausweg auch jemandem die Commit-Berechtigung entziehen, wenn die Zusammenarbeit mit der übrigen Gemeinde zu viel Reibung erzeugt hat@tie{}– selbst wenn sich alles im Rahmen der Verhaltensregeln abgespielt hat (siehe @ref{Contributing}). Davon machen Betreuer nur Gebrauch nach öffentlichen oder privaten Diskussionen mit der betroffenen Person und nach eindeutiger Ankündigung. Beispiele für Verhalten, das die Zusammenarbeit behindert und zu so einer Entscheidung führen könnte, sind:" #. type: item #: guix-git/doc/contributing.texi:2941 #, no-wrap msgid "repeated violation of the commit policy stated above;" msgstr "wiederholte Verletzung der oben beschriebenen Commit-Richtlinie," #. type: item #: guix-git/doc/contributing.texi:2942 #, no-wrap msgid "repeated failure to take peer criticism into account;" msgstr "wiederholtes Ignorieren von Kritik anderer Entwickler," #. type: item #: guix-git/doc/contributing.texi:2943 #, no-wrap msgid "breaching trust through a series of grave incidents." msgstr "verletztes Vertrauen durch mehrere schwere Vorkommnisse in Folge." #. type: Plain text #: guix-git/doc/contributing.texi:2950 msgid "When maintainers resort to such a decision, they notify developers on @email{guix-devel@@gnu.org}; inquiries may be sent to @email{guix-maintainers@@gnu.org}. Depending on the situation, the individual may still be welcome to contribute." msgstr "Wenn Betreuer diesen Entschluss treffen, benachrichtigen sie die Entwickler auf @email{guix-devel@@gnu.org}; Anfragen können an @email{guix-maintainers@@gnu.org} gesendet werden. Abhängig von der Situation wird ein Mitwirken der Betroffenen trotzdem weiterhin gerne gesehen." #. type: subsection #: guix-git/doc/contributing.texi:2951 #, no-wrap msgid "Helping Out" msgstr "Aushelfen" #. type: Plain text #: guix-git/doc/contributing.texi:2958 msgid "One last thing: the project keeps moving forward because committers not only push their own awesome changes, but also offer some of their time @emph{reviewing} and pushing other people's changes. As a committer, you're welcome to use your expertise and commit rights to help other contributors, too!" msgstr "Eine Sache noch: Das Projekt entwickelt sich nicht nur deswegen schnell, weil Committer ihre eigenen tollen Änderungen pushen, sondern auch, weil sie sich Zeit nehmen, die Änderungen anderer Leute in „Reviews“ zu @emph{überprüfen} und zu pushen. Wir begrüßen es, wenn Sie als Committer Ihre Expertise und Commit-Rechte dafür einsetzen, auch anderen Mitwirkenden zu helfen!" #. type: Plain text #: guix-git/doc/contributing.texi:2974 #, fuzzy #| msgid "Perhaps the biggest action you can do to help GNU Guix grow as a project is to review the work contributed by others. You do not need to be a committer to do so; applying, reading the source, building, linting and running other people's series and sharing your comments about your experience will give some confidence to committers. Basically, you must ensure the check list found in the @ref{Submitting Patches} section has been correctly followed. A reviewed patch series should give the best chances for the proposed change to be merged faster, so if a change you would like to see merged hasn't yet been reviewed, this is the most appropriate thing to do!" msgid "Perhaps the biggest action you can do to help GNU Guix grow as a project is to review the work contributed by others. You do not need to be a committer to do so; applying, reading the source, building, linting and running other people's series and sharing your comments about your experience will give some confidence to committers. You must ensure the check list found in the @ref{Submitting Patches} section has been correctly followed. A reviewed patch series should give the best chances for the proposed change to be merged faster, so if a change you would like to see merged hasn't yet been reviewed, this is the most appropriate thing to do! If you would like to review changes in a specific area and to receive notifications for incoming patches relevant to that domain, consider joining the relevant team(s) (@pxref{Teams})." msgstr "Den wohl größten Nutzen, damit GNU Guix als Projekt wächst, steuern Sie bei, wenn Sie die Beiträge von anderen gegenlesen und überprüfen. Dazu müssen Sie kein Committer sein; Sie wenden den Patch an (@command{git am} bzw.@: @command{git apply}), lesen den Quellcode, erstellen ihn und setzen ihn Linting aus, außerdem können Sie die Patchreihen anderer Leute auf Ihrem Rechner ausprobieren und kommentieren, wie Sie zurechtkommen, was anderen Committern Sicherheit gibt. Vereinfacht gesagt stellen Sie sicher, dass der Prüfliste aus dem Abschnitt @ref{Submitting Patches} korrekt Folge geleistet wurde. Wenn eine Patchserie bereits überprüft worden ist, dann hat sie die besten Chancen, schneller ins Repository gemerget zu werden. Wenn Sie also gerne eine Änderung angenommen sehen würden und diese noch niemand überprüft hat, dann übernehmen am besten Sie die Aufgabe!" #. type: cindex #: guix-git/doc/contributing.texi:2975 #, no-wrap msgid "reviewing, guidelines" msgstr "Überprüfen, Richtlinien" #. type: Plain text #: guix-git/doc/contributing.texi:2980 msgid "Review comments should be unambiguous; be as clear and explicit as you can about what you think should be changed, ensuring the author can take action on it. Please try to keep the following guidelines in mind during review:" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2986 msgid "@emph{Be clear and explicit about changes you are suggesting}, ensuring the author can take action on it. In particular, it is a good idea to explicitly ask for new revisions when you want it." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2994 msgid "@emph{Remain focused: do not change the scope of the work being reviewed.} For example, if the contribution touches code that follows a pattern deemed unwieldy, it would be unfair to ask the submitter to fix all occurrences of that pattern in the code; to put it simply, if a problem unrelated to the patch at hand was already there, do not ask the submitter to fix it." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:3001 msgid "@emph{Ensure progress.} As they respond to review, submitters may submit new revisions of their changes; avoid requesting changes that you did not request in the previous round of comments. Overall, the submitter should get a clear sense of progress; the number of items open for discussion should clearly decrease over time." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:3008 msgid "@emph{Aim for finalization.} Reviewing code is time-consuming. Your goal as a reviewer is to put the process on a clear path towards integration, possibly with agreed-upon changes, or rejection, with a clear and mutually-understood reasoning. Avoid leaving the review process in a lingering state with no clear way out." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:3022 msgid "@emph{Review is a discussion.} The submitter's and reviewer's views on how to achieve a particular change may not always be aligned. To lead the discussion, remain focused, ensure progress and aim for finalization, spending time proportional to the stakes@footnote{The tendency to discuss minute details at length is often referred to as ``bikeshedding'', where much time is spent discussing each one's preference for the color of the shed at the expense of progress made on the project to keep bikes dry.}. As a reviewer, try hard to explain the rationale for suggestions you make, and to understand and take into account the submitter's motivation for doing things in a certain way. In other words, build consensus with everyone involved (@pxref{Making Decisions})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3024 #, no-wrap msgid "LGTM, Looks Good To Me" msgstr "LGTM, Looks Good To Me" #. type: cindex #: guix-git/doc/contributing.texi:3025 #, no-wrap msgid "review tags" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3026 #, no-wrap msgid "Reviewed-by, git trailer" msgstr "Reviewed-by, Git-Anhangszeile" #. type: Plain text #: guix-git/doc/contributing.texi:3037 msgid "When you deem the proposed change adequate and ready for inclusion within Guix, the following well understood/codified @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} @footnote{The @samp{Reviewed-by} Git trailer is used by other projects such as Linux, and is understood by third-party tools such as the @samp{b4 am} sub-command, which is able to retrieve the complete submission email thread from a public-inbox instance and add the Git trailers found in replies to the commit patches.} line should be used to sign off as a reviewer, meaning you have reviewed the change and that it looks good to you:" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3046 msgid "If the @emph{whole} series (containing multiple commits) looks good to you, reply with @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} to the cover page if it has one, or to the last patch of the series otherwise, adding another @samp{(for the whole series)} comment on the line below to explicit this fact." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3052 msgid "If you instead want to mark a @emph{single commit} as reviewed (but not the whole series), simply reply with @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} to that commit message." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3057 msgid "If you are not a committer, you can help others find a @emph{series} you have reviewed more easily by adding a @code{reviewed-looks-good} usertag for the @code{guix} user (@pxref{Debbugs Usertags})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3061 #, no-wrap msgid "update-guix-package, updating the guix package" msgstr "update-guix-package, Guix-Paket aktualisieren" #. type: Plain text #: guix-git/doc/contributing.texi:3067 msgid "It is sometimes desirable to update the @code{guix} package itself (the package defined in @code{(gnu packages package-management)}), for example to make new daemon features available for use by the @code{guix-service-type} service type. In order to simplify this task, the following command can be used:" msgstr "Manchmal möchte man die für das Paket @code{guix} (wie es in @code{(gnu packages package-management)} definiert ist) verwendete Version auf eine neuere Version aktualisieren, zum Beispiel um neue Funktionalitäten des Daemons dem Diensttyp @code{guix-service-type} zugänglich zu machen. Um diese Arbeit zu erleichtern, kann folgender Befehl benutzt werden:" #. type: example #: guix-git/doc/contributing.texi:3070 #, no-wrap msgid "make update-guix-package\n" msgstr "make update-guix-package\n" #. type: Plain text #: guix-git/doc/contributing.texi:3077 msgid "The @code{update-guix-package} make target will use the last known @emph{commit} corresponding to @code{HEAD} in your Guix checkout, compute the hash of the Guix sources corresponding to that commit and update the @code{commit}, @code{revision} and hash of the @code{guix} package definition." msgstr "Das make-Ziel @code{update-guix-package} wird den neuesten bekannten @emph{Commit}, also den, der @code{HEAD} in Ihrem Guix-Checkout entspricht, verwenden, den Hash des zugehörigen Quellbaums berechnen und die Einträge für @code{commit}, @code{revision} und den Hash in der Paketdefinition von @code{guix} anpassen." #. type: Plain text #: guix-git/doc/contributing.texi:3081 msgid "To validate that the updated @code{guix} package hashes are correct and that it can be built successfully, the following command can be run from the directory of your Guix checkout:" msgstr "Um zu prüfen, dass das aktualisierte @code{guix}-Paket die richtigen Hashes benutzt und erfolgreich erstellt werden kann, können Sie den folgenden Befehl aus dem Verzeichnis Ihres Guix-Checkouts heraus ausführen:" #. type: example #: guix-git/doc/contributing.texi:3084 #, no-wrap msgid "./pre-inst-env guix build guix\n" msgstr "./pre-inst-env guix build guix\n" #. type: Plain text #: guix-git/doc/contributing.texi:3089 msgid "To guard against accidentally updating the @code{guix} package to a commit that others can't refer to, a check is made that the commit used has already been pushed to the Savannah-hosted Guix git repository." msgstr "Als Schutz vor einer versehentlichen Aktualisierung des @code{guix}-Pakets auf einen Commit, den andere Leute gar nicht haben, wird dabei geprüft, ob der benutzte Commit bereits im bei Savannah angebotenen Guix-Git-Repository vorliegt." #. type: Plain text #: guix-git/doc/contributing.texi:3094 msgid "This check can be disabled, @emph{at your own peril}, by setting the @code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} environment variable. When this variable is set, the updated package source is also added to the store. This is used as part of the release process of Guix." msgstr "Diese Prüfung können Sie @emph{auf eigene Gefahr hin} abschalten, indem Sie die Umgebungsvariable @code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} setzen. Wenn diese Variable gesetzt ist, wird der aktualisierte Paketquellcode außerdem in den Store eingefügt. Dies stellt einen Teil des Prozesses zur Veröffentlichung neuer Versionen von Guix dar." #. type: cindex #: guix-git/doc/contributing.texi:3098 #, no-wrap msgid "deprecation policy" msgstr "veraltet, Richtlinie" #. type: Plain text #: guix-git/doc/contributing.texi:3108 msgid "As any lively project with a broad scope, Guix changes all the time and at all levels. Because it's user-extensible and programmable, incompatible changes can directly impact users and make their life harder. It is thus important to reduce user-visible incompatible changes to a minimum and, when such changes are deemed necessary, to clearly communicate them through a @dfn{deprecation period} so everyone can adapt with minimum hassle. This section defines the project's commitments for smooth deprecation and describes procedures and mechanisms to honor them." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3111 msgid "There are several ways to use Guix; how to handle deprecation will depend on each use case. Those can be roughly categorized like this:" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3115 msgid "package management exclusively through the command line;" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3118 msgid "advanced package management using the manifest and package interfaces;" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3122 msgid "Home and System management, using the @code{operating-system} and/or @code{home-environment} interfaces together with the service interfaces;" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3126 msgid "development or use of external tools that use programming interfaces such as the @code{(guix ...)} modules." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3132 msgid "These use cases form a spectrum with varying degrees of coupling---from ``distant'' to tightly coupled. Based on this insight, we define the following @dfn{deprecation policies} that we consider suitable for each of these levels." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3134 #, no-wrap msgid "Command-line tools" msgstr "Befehlszeilenwerkzeuge" #. type: table #: guix-git/doc/contributing.texi:3139 msgid "Guix sub-commands should be thought of as remaining available ``forever''. Once a Guix sub-command is to be removed, it should be deprecated first, and then remain available for @b{at least one year} after the first release that deprecated it." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3149 msgid "Deprecation should first be announced in the manual and as an entry in @file{etc/news.scm}; additional communication such as a blog post explaining the rationale is welcome. Months before the scheduled removal date, the command should print a warning explaining how to migrate. An example of this is the replacement of @command{guix environment} by @command{guix shell}, started in October 2021@footnote{For more details on the @command{guix shell} transition, see @uref{https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/}.}." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3152 msgid "Because of the broad impact of such a change, we recommend conducting a user survey before enacting a plan." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3153 #, no-wrap msgid "package deprecation" msgstr "veraltet, Pakete" #. type: item #: guix-git/doc/contributing.texi:3154 #, no-wrap msgid "Package name changes" msgstr "Änderungen des Paketnamens" #. type: table #: guix-git/doc/contributing.texi:3159 msgid "When a package name changes, it must remain available under its old name for @b{at least one year}. For example, @code{go-ipfs} was renamed to @code{kubo} following a decision made upstream; to communicate the name change to users, the package module provided this definition:" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:3160 #, no-wrap msgid "deprecated-package" msgstr "deprecated-package" #. type: lisp #: guix-git/doc/contributing.texi:3164 #, no-wrap msgid "" "(define-public go-ipfs\n" " (deprecated-package \"go-ipfs\" kubo))\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3168 msgid "That way, someone running @command{guix install go-ipfs} or similar sees a deprecation warning mentioning the new name." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3169 #, no-wrap msgid "package removal policy" msgstr "Paketentfernung, Richtlinie" #. type: anchor{#1} #: guix-git/doc/contributing.texi:3171 msgid "package-removal-policy" msgstr "package-removal-policy" #. type: item #: guix-git/doc/contributing.texi:3171 #, no-wrap msgid "Package removal" msgstr "Paketentfernung" #. type: table #: guix-git/doc/contributing.texi:3175 msgid "Packages whose upstream developers have declared as having reached ``end of life'' or being unmaintained may be removed; likewise, packages that have been @b{failing to build for two months or more} may be removed." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3179 msgid "There is no formal deprecation mechanism for this case, unless a replacement exists, in which case the @code{deprecated-package} procedure mentioned above can be used." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3184 msgid "If the package being removed is a ``leaf'' (no other packages depend on it), it may be removed after a @b{one-month review period} of the patch removing it (this applies even when the removal has additional motivations such as security problems affecting the package)." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3192 msgid "If it has many dependent packages---as is the case for example with Python version@tie{}2---the relevant team must propose a deprecation removal agenda and seek consensus with other packagers for @b{at least one month}. It may also invite feedback from the broader user community, for example through a survey. Removal of all impacted packages may be gradual, spanning multiple months, to accommodate all use cases." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3196 msgid "When the package being removed is considered popular, whether or not it is a leaf, its deprecation must be announced as an entry in @code{etc/news.scm}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3197 #, no-wrap msgid "Package upgrade" msgstr "Paketaktualisierung" #. type: table #: guix-git/doc/contributing.texi:3200 msgid "In the case of packages with many dependents and/or many users, an upgrade may be treated like the @emph{removal} of the previous version." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3204 msgid "Examples include major version upgrades of programming language implementations, as we've seen above with Python, and major upgrades of ``big'' libraries such as Qt or GTK." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3205 #, no-wrap msgid "service deprecation" msgstr "veraltet, Dienste" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: node #: guix-git/doc/contributing.texi:3206 guix-git/doc/guix.texi:387 #: guix-git/doc/guix.texi:393 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:19043 guix-git/doc/guix.texi:19044 #: guix-git/doc/guix.texi:34814 #, no-wrap msgid "Services" msgstr "Dienste" #. type: table #: guix-git/doc/contributing.texi:3211 msgid "Changes to services for Guix Home and Guix System have a direct impact on user configuration. For a user, adjusting to interface changes is rarely rewarding, which is why any such change must be clearly communicated in advance through deprecation warnings and documentation." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3217 msgid "Renaming of variables related to service, home, or system configuration must be communicated for at least six months before removal using the @code{(guix deprecation)} mechanisms. For example, renaming of @code{murmur-configuration} to @code{mumble-server-configuration} was communicated through a series of definitions like this one:" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:3218 #, no-wrap msgid "define-deprecated/public-alias" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3223 #, no-wrap msgid "" "(define-deprecated/public-alias\n" " murmur-configuration\n" " mumble-server-configuration)\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3226 msgid "Procedures slated for removal may be defined like this:" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:3227 #, no-wrap msgid "define-deprecated" msgstr "define-deprecated" #. type: lisp #: guix-git/doc/contributing.texi:3232 #, no-wrap msgid "" "(define-deprecated (elogind-service #:key (config (elogind-configuration)))\n" " elogind-service-type\n" " (service elogind-service-type config))\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3239 msgid "Record fields, notably fields of service configuration records, must follow a similar deprecation period. This is usually achieved through @i{ad hoc} means though. For example, the @code{hosts-file} field of @code{operating-system} was deprecated by adding a @code{sanitized} property that would emit a warning:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3246 #, no-wrap msgid "" "(define-record-type* <operating-system>\n" " ;; @dots{}\n" " (hosts-file %operating-system-hosts-file ;deprecated\n" " (default #f)\n" " (sanitize warn-hosts-file-field-deprecation)))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3250 #, no-wrap msgid "" "(define-deprecated (operating-system-hosts-file os)\n" " hosts-service-type\n" " (%operating-system-hosts-file os))\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3255 msgid "When deprecating interfaces in @code{operating-system}, @code{home-environment}, @code{(gnu services)}, or any popular service, the deprecation must come with an entry in @code{etc/news.scm}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3256 #, no-wrap msgid "deprecation of programming interfaces" msgstr "veraltet, Programmierschnittstellen" #. type: item #: guix-git/doc/contributing.texi:3257 #, no-wrap msgid "Core interfaces" msgstr "Kern-Schnittstellen" #. type: table #: guix-git/doc/contributing.texi:3264 msgid "Core programming interfaces, in particular the @code{(guix ...)} modules, may be relied on by a variety of external tools and channels. Any incompatible change must be formally deprecated with @code{define-deprecated}, as shown above, for @b{at least one year} before removal. The manual must clearly document the new interface and, except in obvious cases, explain how to migrate from the old one." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3268 msgid "As an example, the @code{build-expression->derivation} procedure was superseded by @code{gexp->derivation} and remained available as a deprecated symbol:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3274 #, no-wrap msgid "" "(define-deprecated (build-expression->derivation store name exp\n" " #:key @dots{})\n" " gexp->derivation\n" " @dots{})\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3279 msgid "Sometimes bindings are moved from one module to another. In those cases, bindings must be reexported from the original module for at least one year." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3284 msgid "This section does not cover all possible situations but hopefully allows users to know what to expect and developers to stick to its spirit. Please email @email{guix-devel@@gnu.org} for any questions." msgstr "" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: cindex #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: item #: guix-git/doc/contributing.texi:3285 guix-git/doc/guix.texi:3998 #: guix-git/doc/guix.texi:44609 guix-git/doc/guix.texi:44666 #, no-wrap msgid "documentation" msgstr "documentation" #. type: Plain text #: guix-git/doc/contributing.texi:3292 msgid "Guix is documented using the Texinfo system. If you are not yet familiar with it, we accept contributions for documentation in most formats. That includes plain text, Markdown, Org, etc." msgstr "Die Dokumentation für Guix wird mit dem Texinfo-System bereitgestellt. Wenn Sie damit noch nicht vertraut sind, nehmen wir auch Beiträge zur Dokumentation in den meisten anderen Formaten an. Reine Textdateien, Markdown, Org und so weiter sind alle in Ordnung." #. type: Plain text #: guix-git/doc/contributing.texi:3296 msgid "Documentation contributions can be sent to @email{guix-patches@@gnu.org}. Prepend @samp{[DOCUMENTATION]} to the subject." msgstr "Schicken Sie Beiträge zur Dokumentation an @email{guix-patches@@gnu.org}. Der Betreff sollte mit @samp{[DOCUMENTATION]} beginnen." #. type: Plain text #: guix-git/doc/contributing.texi:3301 msgid "When you need to make more than a simple addition to the documentation, we prefer that you send a proper patch as opposed to sending an email as described above. @xref{Submitting Patches} for more information on how to send your patches." msgstr "Wenn es um mehr als eine kleine Erweiterung der Dokumentation geht, ist es uns allerdings lieber, wenn Sie einen ordentlichen Patch und keine solche E-Mail schicken. Siehe @ref{Submitting Patches} für mehr Informationen, wie Sie Patches abschicken." #. type: Plain text #: guix-git/doc/contributing.texi:3310 msgid "To modify the documentation, you need to edit @file{doc/guix.texi} and @file{doc/contributing.texi} (which contains this documentation section), or @file{doc/guix-cookbook.texi} for the cookbook. If you compiled the Guix repository before, you will have many more @file{.texi} files that are translations of these documents. Do not modify them, the translation is managed through @uref{https://translate.fedoraproject.org/projects/guix, Weblate}. @xref{Translating Guix} for more information." msgstr "Änderungen an der Dokumentation können Sie vornehmen, indem Sie @file{doc/guix.texi} und @file{doc/contributing.texi} bearbeiten (letztere enthält diesen Mitwirkungsteil der Dokumentation) oder indem Sie @file{doc/guix-cookbook.texi} bearbeiten, worin Sie das Kochbuch finden. Wenn Sie schon einmal die Dateien im Guix-Repository kompiliert haben, werden dort auch viele weitere @file{.texi}-Dateien zu finden sein; es handelt sich um übersetzte Fassungen dieser Dokumente. Verändern Sie diese @emph{nicht}, denn die Übersetzung organisieren wir über @uref{https://translate.fedoraproject.org/projects/guix, Weblate}. Siehe @ref{Translating Guix} für weitere Informationen." #. type: Plain text #: guix-git/doc/contributing.texi:3315 msgid "To render documentation, you must first make sure that you ran @command{./configure} in your source tree (@pxref{Running Guix Before It Is Installed}). After that you can run one of the following commands:" msgstr "Um die Dokumentation in lesefreundlichere Formate zu übertragen, ist der erste Schritt, @command{./configure} in Ihrem Guix-Quellbaum laufen zu lassen, wenn es noch nicht geschehen ist (siehe @ref{Running Guix Before It Is Installed}). Danach geht es mit diesen Befehlen weiter:" #. type: item #: guix-git/doc/contributing.texi:3317 #, no-wrap msgid "@samp{make doc/guix.info} to compile the Info manual." msgstr "@samp{make doc/guix.info}, um das Handbuch im Info-Format zu kompilieren." #. type: itemize #: guix-git/doc/contributing.texi:3319 msgid "You can check it with @command{info doc/guix.info}." msgstr "Sie können es mit @command{info doc/guix.info} überprüfen." #. type: item #: guix-git/doc/contributing.texi:3319 #, no-wrap msgid "@samp{make doc/guix.html} to compile the HTML version." msgstr "@samp{make doc/guix.html}, um die HTML-Version zu kompilieren." #. type: itemize #: guix-git/doc/contributing.texi:3322 msgid "You can point your browser to the relevant file in the @file{doc/guix.html} directory." msgstr "Lassen Sie Ihren Browser die entsprechende Datei im Verzeichnis @file{doc/guix.html} anzeigen." #. type: item #: guix-git/doc/contributing.texi:3322 #, no-wrap msgid "@samp{make doc/guix-cookbook.info} for the cookbook Info manual." msgstr "@samp{make doc/guix-cookbook.info}, so kompilieren Sie das Kochbuch im Info-Format." #. type: item #: guix-git/doc/contributing.texi:3323 #, no-wrap msgid "@samp{make doc/guix-cookbook.html} for the cookbook HTML version." msgstr "@samp{make doc/guix-cookbook.html}, das kompiliert die HTML-Version des Kochbuchs." #. type: cindex #: guix-git/doc/contributing.texi:3326 #, no-wrap msgid "translation" msgstr "Übersetzung" #. type: cindex #: guix-git/doc/contributing.texi:3327 #, no-wrap msgid "l10n" msgstr "l10n" #. type: cindex #: guix-git/doc/contributing.texi:3328 #, no-wrap msgid "i18n" msgstr "i18n" #. type: cindex #: guix-git/doc/contributing.texi:3329 #, no-wrap msgid "native language support" msgstr "Native Language Support" #. type: Plain text #: guix-git/doc/contributing.texi:3339 msgid "Writing code and packages is not the only way to provide a meaningful contribution to Guix. Translating to a language you speak is another example of a valuable contribution you can make. This section is designed to describe the translation process. It gives you advice on how you can get involved, what can be translated, what mistakes you should avoid and what we can do to help you!" msgstr "Softwareentwicklung und Paketierung sind nicht die einzigen Möglichkeiten, um bedeutsam zu Guix beizutragen. Übersetzungen in andere Sprachen sind auch ein wertvoller Beitrag. In diesem Abschnitt ist der Übersetzungsprozess beschrieben, mit Hinweisen dazu wie du mitmachen kannst, was übersetzt werden kann, welche Fehler du vermeiden solltest und wie wir dich unterstützen können." #. type: Plain text #: guix-git/doc/contributing.texi:3345 msgid "Guix is a big project that has multiple components that can be translated. We coordinate the translation effort on a @uref{https://translate.fedoraproject.org/projects/guix/,Weblate instance} hosted by our friends at Fedora. You will need an account to submit translations." msgstr "Guix ist ein großes Projekt und hat mehrere Komponenten, die übersetzt werden können. Wir koordinieren die Arbeit an der Übersetzung auf einer @uref{https://translate.fedoraproject.org/projects/guix/,Weblate-Instanz}, die von unseren Freunden bei Fedora zur Verfügung gestellt wird. Sie brauchen dort ein Konto, um Übersetzungen einzureichen." #. type: Plain text #: guix-git/doc/contributing.texi:3352 msgid "Some of the software packaged in Guix also contain translations. We do not host a translation platform for them. If you want to translate a package provided by Guix, you should contact their developers or find the information on their website. As an example, you can find the homepage of the @code{hello} package by typing @command{guix show hello}. On the ``homepage'' line, you will see @url{https://www.gnu.org/software/hello/} as the homepage." msgstr "Manche mit Guix auslieferbaren Pakete verfügen auch über Übersetzungen. An deren Übersetzungsplattform sind wir nicht beteiligt. Wenn Sie ein in Guix angebotenes Paket übersetzen möchten, sollten Sie mit dessen Entwicklern in Kontakt treten oder auf deren Webauftritt nach Informationen suchen. Sie können die Homepage zum Beispiel des @code{hello}-Pakets finden, indem Sie @command{guix show hello} ausführen. Auf der Zeile „homepage“ sehen Sie, dass @url{https://www.gnu.org/software/hello/} die Homepage ist." #. type: Plain text #: guix-git/doc/contributing.texi:3357 msgid "Many GNU and non-GNU packages can be translated on the @uref{https://translationproject.org,Translation Project}. Some projects with multiple components have their own platform. For instance, GNOME has its own platform, @uref{https://l10n.gnome.org/,Damned Lies}." msgstr "Viele GNU-Pakete und Nicht-GNU-Pakete können beim @uref{https://translationproject.org,Translation Project} übersetzt werden. Manche Projekte, die aus mehreren Komponenten bestehen, haben ihre eigene Plattform. Zum Beispiel hat GNOME die Übersetzungsplattform @uref{https://l10n.gnome.org/,Damned Lies}." #. type: Plain text #: guix-git/doc/contributing.texi:3359 msgid "Guix has five components hosted on Weblate." msgstr "Guix hat fünf Komponenten, die auf Weblate übersetzt werden können." #. type: item #: guix-git/doc/contributing.texi:3361 #, no-wrap msgid "@code{guix} contains all the strings from the Guix software (the" msgstr "@code{guix} umfasst alle Zeichenketten der Guix-Software (also das" #. type: itemize #: guix-git/doc/contributing.texi:3363 msgid "guided system installer, the package manager, etc), excluding packages." msgstr "geführte Installationsprogramm, die Paketverwaltung etc.) außer den Paketen." #. type: item #: guix-git/doc/contributing.texi:3363 #, no-wrap msgid "@code{packages} contains the synopsis (single-sentence description" msgstr "@code{packages} enthält die Zusammenfassungen (einzeilige Kurzbeschreibung)" #. type: itemize #: guix-git/doc/contributing.texi:3365 msgid "of a package) and description (longer description) of packages in Guix." msgstr "und die ausführlicheren Beschreibungen der Pakete in Guix." #. type: item #: guix-git/doc/contributing.texi:3365 #, no-wrap msgid "@code{website} contains the official Guix website, except for" msgstr "@code{website} enthält den offiziellen Webauftritt von Guix außer" #. type: itemize #: guix-git/doc/contributing.texi:3367 msgid "blog posts and multimedia content." msgstr "Blogeinträgen und Multimedia." #. type: item #: guix-git/doc/contributing.texi:3367 #, no-wrap msgid "@code{documentation-manual} corresponds to this manual." msgstr "@code{documentation-manual} entspricht diesem Handbuch." #. type: item #: guix-git/doc/contributing.texi:3368 #, no-wrap msgid "@code{documentation-cookbook} is the component for the cookbook." msgstr "@code{documentation-cookbook} ist die Komponente für das Kochbuch." #. type: subsubheading #: guix-git/doc/contributing.texi:3371 #, no-wrap msgid "General Directions" msgstr "Wie Sie allgemein vorgehen" #. type: Plain text #: guix-git/doc/contributing.texi:3379 msgid "Once you get an account, you should be able to select a component from @uref{https://translate.fedoraproject.org/projects/guix/,the guix project}, and select a language. If your language does not appear in the list, go to the bottom and click on the ``Start new translation'' button. Select the language you want to translate to from the list, to start your new translation." msgstr "Sobald Sie ein Konto haben, sollten Sie eine Komponente des @uref{https://translate.fedoraproject.org/projects/guix/,Guix-Projekts} und eine Sprache auswählen können. Wenn Ihre Sprache in der Liste fehlt, gehen Sie ans Ende und klicken Sie auf den „Neue Übersetzung starten“-Knopf. Nachdem Sie die Sprache, in die Sie übersetzen möchten, ausgewählt haben, wird eine neue Übersetzung angelegt." #. type: Plain text #: guix-git/doc/contributing.texi:3384 msgid "Like lots of other free software packages, Guix uses @uref{https://www.gnu.org/software/gettext,GNU Gettext} for its translations, with which translatable strings are extracted from the source code to so-called PO files." msgstr "Wie zahlreiche andere Freie-Software-Pakete benutzt Guix @uref{https://www.gnu.org/software/gettext,GNU Gettext} für seine Übersetzungen. Damit werden übersetzbare Zeichenketten aus dem Quellcode in sogenannte PO-Dateien extrahiert." #. type: Plain text #: guix-git/doc/contributing.texi:3395 msgid "Even though PO files are text files, changes should not be made with a text editor but with PO editing software. Weblate integrates PO editing functionality. Alternatively, translators can use any of various free-software tools for filling in translations, of which @uref{https://poedit.net/,Poedit} is one example, and (after logging in) @uref{https://docs.weblate.org/en/latest/user/files.html,upload} the changed file. There is also a special @uref{https://www.emacswiki.org/emacs/PoMode,PO editing mode} for users of GNU Emacs. Over time translators find out what software they are happy with and what features they need." msgstr "Obwohl es sich bei PO-Dateien um Textdateien handelt, sollten Änderungen nicht mit einem Texteditor vorgenommen werden, sondern mit Software eigens zum Bearbeiten von PO-Dateien. In Weblate sind PO-Bearbeitungsfunktionen integriert. Alternativ haben Übersetzer die Wahl zwischen vielen Freie-Software-Werkzeugen zum Eintragen von Übersetzungen; ein Beispiel ist @uref{https://poedit.net/,Poedit}. Nachdem Sie sich angemeldet haben, @uref{https://docs.weblate.org/en/latest/user/files.html,laden} Sie die geänderte Datei in Weblate hoch. Es gibt auch einen speziellen @uref{https://www.emacswiki.org/emacs/PoMode,PO-Bearbeitungsmodus} für Nutzer von GNU Emacs. Mit der Zeit finden Übersetzer heraus, welche Software sie bevorzugen und welche die Funktionen bietet, die sie brauchen." #. type: Plain text #: guix-git/doc/contributing.texi:3400 msgid "On Weblate, you will find various links to the editor, that will show various subsets (or all) of the strings. Have a look around and at the @uref{https://docs.weblate.org/en/latest/,documentation} to familiarize yourself with the platform." msgstr "In Weblate finden Sie an vielen Stellen Verweise auf den Editor, um Teilmengen der Zeichenketten oder alle davon zu übersetzen. Sehen Sie sich um und werfen Sie einen Blick auf Weblates @uref{https://docs.weblate.org/en/latest/,Dokumentation}, um sich mit der Plattform vertraut zu machen." #. type: subsubheading #: guix-git/doc/contributing.texi:3401 #, no-wrap msgid "Translation Components" msgstr "Übersetzungskomponenten" #. type: Plain text #: guix-git/doc/contributing.texi:3406 msgid "In this section, we provide more detailed guidance on the translation process, as well as details on what you should or should not do. When in doubt, please contact us, we will be happy to help!" msgstr "In diesem Abschnitt erklären wir den Übersetzungsprozess genau und geben Details, was Sie tun sollten und was nicht. Im Zweifelsfall kontaktieren Sie uns bitte; wir helfen gerne!" #. type: table #: guix-git/doc/contributing.texi:3413 msgid "Guix is written in the Guile programming language, and some strings contain special formatting that is interpreted by Guile. These special formatting should be highlighted by Weblate. They start with @code{~} followed by one or more characters." msgstr "Guix ist in der Programmiersprache Guile geschrieben und manche Zeichenketten enthalten besondere Formatzeichen, die von Guile interpretiert werden. Weblate sollte diese besonderen Formatzeichen hervorheben. Sie beginnen mit @code{~} gefolgt von einem oder mehreren Zeichen." #. type: table #: guix-git/doc/contributing.texi:3422 msgid "When printing the string, Guile replaces the special formatting symbols with actual values. For instance, the string @samp{ambiguous package specification `~a'} would be substituted to contain said package specification instead of @code{~a}. To properly translate this string, you must keep the formatting code in your translation, although you can place it where it makes sense in your language. For instance, the French translation says @samp{spécification du paquet « ~a » ambiguë} because the adjective needs to be placed in the end of the sentence." msgstr "Beim Anzeigen der Zeichenkette ersetzt Guile die speziellen Formatierungsmuster durch echte Werte. Zum Beispiel würde in die Zeichenkette @samp{ambiguous package specification `~a'} die Paketspezifikation anstelle von @code{~a} eingesetzt. Um die Zeichenkette richtig zu übersetzen, müssen Sie den Formatierungscode in Ihrer Übersetzung erhalten, aber Sie können ihn an die in Ihrer Sprache passenden Stelle in der Übersetzung verlegen. Die französische Übersetzung ist zum Beispiel @samp{spécification du paquet « ~a » ambiguë}, weil das Adjektiv dort ans Ende vom Satz gehört." #. type: table #: guix-git/doc/contributing.texi:3426 msgid "If there are multiple formatting symbols, make sure to respect the order. Guile does not know in which order you intended the string to be read, so it will substitute the symbols in the same order as the English sentence." msgstr "Wenn mehrere Formatsymbole vorkommen, sollten Sie darauf achten, die Reihenfolge beizubehalten. Guile weiß nicht, in welcher Reihenfolge die eingesetzten Symbole auftauchen sollen, also setzt es sie in derselben Abfolge wie im englischen Satz ein." #. type: table #: guix-git/doc/contributing.texi:3434 msgid "As an example, you cannot translate @samp{package '~a' has been superseded by '~a'} by @samp{'~a' superseeds package '~a'}, because the meaning would be reversed. If @var{foo} is superseded by @var{bar}, the translation would read @samp{'foo' superseeds package 'bar'}. To work around this problem, it is possible to use more advanced formatting to select a given piece of data, instead of following the default English order. @xref{Formatted Output,,, guile, GNU Guile Reference Manual}, for more information on formatting in Guile." msgstr "Es geht zum Beispiel @emph{nicht}, den Satz @samp{package '~a' has been superseded by '~a'} wie @samp{'~a' superseeds package '~a'} zu übersetzen, weil die Bedeutung umgekehrt wäre. Wenn @var{foo} durch @var{bar} abgelöst wird, würde die Übersetzung behaupten, @samp{„foo“ löst Paket „bar“ ab}. Um dieses Problem zu umgehen, ist es möglich, fortgeschrittene Formatierung einzusetzen, mit der ein bestimmtes Datum ausgewählt wird statt der englischen Reihenfolge zu folgen. Siehe @ref{Formatted Output,,, guile, Referenzhandbuch zu GNU Guile} für weitere Informationen zu formatierter Ausgabe in Guile." #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: cindex #: guix-git/doc/contributing.texi:3435 guix-git/doc/guix.texi:2883 #, no-wrap msgid "packages" msgstr "Pakete" #. type: table #: guix-git/doc/contributing.texi:3440 msgid "Package descriptions occasionally contain Texinfo markup (@pxref{Synopses and Descriptions}). Texinfo markup looks like @samp{@@code@{rm -rf@}}, @samp{@@emph@{important@}}, etc. When translating, please leave markup as is." msgstr "Manchmal trifft man in einer Paketbeschreibung auf in Texinfo-Markup ausgezeichnete Wörter (siehe @ref{Synopses and Descriptions}). Texinfo-Auszeichnungen sehen aus wie @samp{@@code@{rm -rf@}}, @samp{@@emph@{important@}} usw. Wenn Sie übersetzen, belassen Sie Auszeichnungen bitte, wie sie sind." #. type: table #: guix-git/doc/contributing.texi:3449 msgid "The characters after ``@@'' form the name of the markup, and the text between ``@{'' and ``@}'' is its content. In general, you should not translate the content of markup like @code{@@code}, as it contains literal code that do not change with language. You can translate the content of formatting markup such as @code{@@emph}, @code{@@i}, @code{@@itemize}, @code{@@item}. However, do not translate the name of the markup, or it will not be recognized. Do not translate the word after @code{@@end}, it is the name of the markup that is closed at this position (e.g.@: @code{@@itemize ... @@end itemize})." msgstr "Die „@@“ nachfolgenden Zeichen bilden den Namen der Auszeichnung und der Text zwischen „@{“ und „@}“ ist deren Inhalt. Im Allgemeinen sollten Sie @emph{nicht} den Inhalt von Auszeichnungen wie @code{@@code} übersetzen, weil Code wortwörtlich so aussehen muss und sich @emph{nicht} mit der Sprache ändert. Dagegen können Sie den Inhalt von zur Formatierung dienenden Auszeichnungen wie @code{@@emph}, @code{@@i}, @code{@@itemize}, @code{@@item} durchaus ändern. Übersetzen Sie aber @emph{nicht} den Namen der Auszeichnung, sonst wird sie nicht erkannt. Übersetzen Sie @emph{nicht} das auf @code{@@end} folgende Wort, denn es ist der Name der Auszeichnung, die an dieser Position geschlossen wird (z.B.@: @code{@@itemize … @@end itemize})." #. type: item #: guix-git/doc/contributing.texi:3450 #, no-wrap msgid "documentation-manual and documentation-cookbook" msgstr "documentation-manual und documentation-cookbook" #. type: table #: guix-git/doc/contributing.texi:3454 msgid "The first step to ensure a successful translation of the manual is to find and translate the following strings @emph{first}:" msgstr "Der erste Schritt für eine erfolgreiche Übersetzung des Handbuchs ist, folgende Zeichenketten @emph{als Erstes} zu finden und zu übersetzen:" #. type: item #: guix-git/doc/contributing.texi:3456 #, no-wrap msgid "@code{version.texi}: Translate this string as @code{version-xx.texi}," msgstr "@code{version.texi}: Übersetzen Sie diese Zeichenkette mit @code{version-xx.texi}" #. type: itemize #: guix-git/doc/contributing.texi:3459 msgid "where @code{xx} is your language code (the one shown in the URL on weblate)." msgstr "wobei @code{xx} Ihr Sprachcode ist (wie er in der URL auf Weblate steht)." #. type: item #: guix-git/doc/contributing.texi:3459 #, no-wrap msgid "@code{contributing.texi}: Translate this string as" msgstr "@code{contributing.texi}: Übersetzen Sie diese Zeichenkette mit" #. type: itemize #: guix-git/doc/contributing.texi:3461 msgid "@code{contributing.xx.texi}, where @code{xx} is the same language code." msgstr "@code{contributing.xx.texi}, wobei @code{xx} derselbe Sprachcode ist." #. type: item #: guix-git/doc/contributing.texi:3461 #, no-wrap msgid "@code{Top}: Do not translate this string, it is important for Texinfo." msgstr "@code{Top}: Übersetzen Sie diese Zeichenkette @emph{nicht}; sie ist wichtig für Texinfo." #. type: itemize #: guix-git/doc/contributing.texi:3464 msgid "If you translate it, the document will be empty (missing a Top node). Please look for it, and register @code{Top} as its translation." msgstr "Würden Sie sie übersetzen, würde das Dokument leer (weil ein Top-Knoten fehlt). Bitte suchen Sie die Zeichenkette und tragen Sie @code{Top} als Übersetzung ein." #. type: table #: guix-git/doc/contributing.texi:3469 msgid "Translating these strings first ensure we can include your translation in the guix repository without breaking the make process or the @command{guix pull} machinery." msgstr "Wenn diese Zeichenketten als erste ausgefüllt wurden, ist gewährleistet, dass wir die Übersetzung ins Guix-Repository übernehmen können, ohne dass der make-Vorgang oder die Maschinerie hinter @command{guix pull} zusammenbricht." #. type: table #: guix-git/doc/contributing.texi:3476 msgid "The manual and the cookbook both use Texinfo. As for @code{packages}, please keep Texinfo markup as is. There are more possible markup types in the manual than in the package descriptions. In general, do not translate the content of @code{@@code}, @code{@@file}, @code{@@var}, @code{@@value}, etc. You should translate the content of formatting markup such as @code{@@emph}, @code{@@i}, etc." msgstr "Das Handbuch und das Kochbuch verwenden beide Texinfo. Wie bei @code{packages} belassen Sie Texinfo-Auszeichnungen bitte so, wie sie sind. Im Handbuch gibt es mehr mögliche Auszeichnungstypen als in den Paketbeschreibungen. Im Allgemeinen sollten Sie den Inhalt von @code{@@code}, @code{@@file}, @code{@@var}, @code{@@value} usw.@: @emph{nicht} übersetzen. Sie sollten aber den Inhalt von Formatierungsauszeichnungen wie @code{@@emph}, @code{@@i} usw.@: übersetzen." #. type: table #: guix-git/doc/contributing.texi:3484 msgid "The manual contains sections that can be referred to by name by @code{@@ref}, @code{@@xref} and @code{@@pxref}. We have a mechanism in place so you do not have to translate their content. If you keep the English title, we will automatically replace it with your translation of that title. This ensures that Texinfo will always be able to find the node. If you decide to change the translation of the title, the references will automatically be updated and you will not have to update them all yourself." msgstr "Das Handbuch enthält Abschnitte, auf die man anhand ihres Namens mit @code{@@ref}, @code{@@xref} und @code{@@pxref} verweisen kann. Wir haben einen Mechanismus eingebaut, damit Sie deren Inhalt @emph{nicht} übersetzen müssen. Lassen Sie einfach den englischen Titel stehen, dann werden wir ihn automatisch durch Ihre Übersetzung des Titels ersetzen. So wird garantiert, dass Texinfo den Knoten auf jeden Fall finden kann. Wenn Sie später die Übersetzung ändern, ändern sich die Verweise darauf automatisch mit und Sie müssen sie nicht alle selbst anpassen." #. type: table #: guix-git/doc/contributing.texi:3494 msgid "When translating references from the cookbook to the manual, you need to replace the name of the manual and the name of the section. For instance, to translate @code{@@pxref@{Defining Packages,,, guix, GNU Guix Reference Manual@}}, you would replace @code{Defining Packages} with the title of that section in the translated manual @emph{only} if that title is translated. If the title is not translated in your language yet, do not translate it here, or the link will be broken. Replace @code{guix} with @code{guix.xx} where @code{xx} is your language code. @code{GNU Guix Reference Manual} is the text of the link. You can translate it however you wish." msgstr "Nur wenn Sie Verweise vom Kochbuch auf das Handbuch übersetzen, dann müssen Sie den Namen des Handbuchs und den Namen des Abschnitts ersetzen. Zum Beispiel übersetzen Sie @code{@@pxref@{Defining Packages,,, guix, GNU Guix Reference Manual@}}, indem Sie @code{Defining Packages} durch den Titel dieses Abschnittes im übersetzten Handbuch ersetzen, aber @emph{nur dann}, wenn der Titel bereits übersetzt wurde. Wenn er nicht übersetzt wurde, dann übersetzen Sie ihn auch hier @emph{nicht}, sonst funktioniert der Verweis nicht. Schreiben Sie @code{guix.xx} statt @code{guix}, wobei @code{xx} Ihr Sprachcode ist. Bei @code{GNU Guix Reference Manual} handelt es sich um den Text, mit dem der Verweis angezeigt wird. Übersetzen Sie ihn wie immer Sie mögen." #. type: item #: guix-git/doc/contributing.texi:3495 #, no-wrap msgid "website" msgstr "website" #. type: table #: guix-git/doc/contributing.texi:3502 msgid "The website pages are written using SXML, an s-expression version of HTML, the basic language of the web. We have a process to extract translatable strings from the source, and replace complex s-expressions with a more familiar XML markup, where each markup is numbered. Translators can arbitrarily change the ordering, as in the following example." msgstr "Die Seiten des Webauftritts sind in SXML geschrieben, einer Version von HTML, der Grundlage des Webs, aber mit S-Ausdrücken. Wir haben einen Prozess, um übersetzbare Zeichenketten aus dem Quellcode zu extrahieren und komplexe S-Ausdrücke als vertrautere XML-Auszeichnungen darzustellen. Dabei werden die Auszeichnungen nummeriert. Übersetzer können deren Reihenfolge nach Belieben ändern, wie im folgenden Beispiel zu sehen ist." #. type: example #: guix-git/doc/contributing.texi:3509 #, no-wrap msgid "" "#. TRANSLATORS: Defining Packages is a section name\n" "#. in the English (en) manual.\n" "#: apps/base/templates/about.scm:64\n" "msgid \"Packages are <1>defined<1.1>en</1.1><1.2>Defining-Packages.html</1.2></1> as native <2>Guile</2> modules.\"\n" "msgstr \"Pakete werden als reine <2>Guile</2>-Module <1>definiert<1.1>de</1.1><1.2>Pakete-definieren.html</1.2></1>.\"\n" msgstr "" "#. TRANSLATORS: Defining Packages is a section name\n" "#. in the English (en) manual.\n" "#: apps/base/templates/about.scm:64\n" "msgid \"Packages are <1>defined<1.1>en</1.1><1.2>Defining-Packages.html</1.2></1> as native <2>Guile</2> modules.\"\n" "msgstr \"Pakete werden als reine <2>Guile</2>-Module <1>definiert<1.1>de</1.1><1.2>Pakete-definieren.html</1.2></1>.\"\n" #. type: table #: guix-git/doc/contributing.texi:3512 msgid "Note that you need to include the same markups. You cannot skip any." msgstr "Allerdings müssen Sie dieselben Auszeichnungen verwenden. Sie können keine weglassen." #. type: Plain text #: guix-git/doc/contributing.texi:3520 msgid "In case you make a mistake, the component might fail to build properly with your language, or even make guix pull fail. To prevent that, we have a process in place to check the content of the files before pushing to our repository. We will not be able to update the translation for your language in Guix, so we will notify you (through weblate and/or by email) so you get a chance to fix the issue." msgstr "Wenn Ihnen ein Fehler unterläuft, kann die Komponente in Ihrer Sprache womöglich @emph{nicht} erstellt werden oder guix pull kann sogar fehlschlagen. Um dies zu verhindern, haben wir einen Prozess, um den Inhalt der Dateien vor einem Push auf das Repository zu überprüfen. In so einem Fall werden wir die Übersetzung für Ihre Sprache @emph{nicht} aktualisieren können und werden Sie deshalb benachrichtigen (über Weblate und/oder eine E-Mail), damit Sie die Möglichkeit bekommen, das Problem zu beheben." #. type: subsubheading #: guix-git/doc/contributing.texi:3521 #, no-wrap msgid "Outside of Weblate" msgstr "Abseits von Weblate" #. type: Plain text #: guix-git/doc/contributing.texi:3524 msgid "Currently, some parts of Guix cannot be translated on Weblate, help wanted!" msgstr "Momentan können manche Teile von Guix noch nicht mit Weblate übersetzt werden. Wir freuen uns über Hilfe!" #. type: item #: guix-git/doc/contributing.texi:3526 #, no-wrap msgid "@command{guix pull} news can be translated in @file{news.scm}, but is not" msgstr "Bei @command{guix pull} angezeigte Neuigkeiten können in @file{news.scm}" #. type: itemize #: guix-git/doc/contributing.texi:3532 msgid "available from Weblate. If you want to provide a translation, you can prepare a patch as described above, or simply send us your translation with the name of the news entry you translated and your language. @xref{Writing Channel News}, for more information about channel news." msgstr "übersetzt werden, jedoch @emph{nicht} über Weblate. Wenn Sie eine Übersetzung bereitstellen wollen, können Sie uns einen Patch wie oben beschrieben schicken oder uns einfach die Übersetzung zusammen mit Ihrer Sprache und dem Namen des Neuigkeiteneintrags, den Sie übersetzt haben, zukommen lassen. Siehe @ref{Writing Channel News} für weitere Informationen zu Neuigkeiten über Kanäle." #. type: item #: guix-git/doc/contributing.texi:3532 #, no-wrap msgid "Guix blog posts cannot currently be translated." msgstr "Blogeinträge zu Guix können derzeit @emph{nicht} übersetzt werden." #. type: item #: guix-git/doc/contributing.texi:3533 #, no-wrap msgid "The installer script (for foreign distributions) is entirely in English." msgstr "Das Installations-Skript (für Fremddistributionen) gibt es nur auf Englisch." #. type: item #: guix-git/doc/contributing.texi:3534 #, no-wrap msgid "Some of the libraries Guix uses cannot be translated or are translated" msgstr "Manche der Bibliotheken, die Guix benutzt, können @emph{nicht} übersetzt" #. type: itemize #: guix-git/doc/contributing.texi:3536 msgid "outside of the Guix project. Guile itself is not internationalized." msgstr "werden oder sie werden außerhalb von Guix übersetzt. Guile selbst ist @emph{nicht} internationalisiert." #. type: item #: guix-git/doc/contributing.texi:3536 #, no-wrap msgid "Other manuals linked from this manual or the cookbook might not be" msgstr "Andere Handbücher, auf die vom Handbuch oder Kochbuch aus verwiesen" #. type: itemize #: guix-git/doc/contributing.texi:3538 msgid "translated." msgstr "wird, sind oft @emph{nicht} übersetzt." #. type: subsubheading #: guix-git/doc/contributing.texi:3540 #, no-wrap msgid "Conditions for Inclusion" msgstr "Bedingungen für die Aufnahme" #. type: Plain text #: guix-git/doc/contributing.texi:3547 msgid "There are no conditions for adding new translations of the @code{guix} and @code{guix-packages} components, other than they need at least one translated string. New languages will be added to Guix as soon as possible. The files may be removed if they fall out of sync and have no more translated strings." msgstr "Es müssen keine Bedingungen erfüllt werden, damit neue Übersetzungen der Komponenten @code{guix} und @code{guix-packages} übernommen werden, außer dass sie mindestens eine übersetzte Zeichenkette enthalten. Neue Sprachen werden so bald wie möglich aufgenommen. Die Dateien können wieder entfernt werden, wenn sie keine Übersetzungen mehr enthalten, weil die Zeichenketten, die übersetzt wurden, nicht mehr mit den in Guix verwendeten übereinstimmen." #. type: Plain text #: guix-git/doc/contributing.texi:3553 msgid "Given that the web site is dedicated to new users, we want its translation to be as complete as possible before we include it in the language menu. For a new language to be included, it needs to reach at least 80% completion. When a language is included, it may be removed in the future if it stays out of sync and falls below 60% completion." msgstr "Aufgrund dessen, dass sich der Webauftritt an neue Benutzer richtet, möchten wir, dass dessen Übersetzung so vollständig wie möglich ist, bevor wir sie ins Menü zur Sprachauswahl aufnehmen. Eine neue Sprache muss dazu zumindest zu 80% vollständig sein. Einmal aufgenommen kann eine Sprache dann wieder entfernt werden, wenn sie eine Zeit lang nicht mehr übereinstimmt und zu weniger als 60% übersetzt ist." #. type: Plain text #: guix-git/doc/contributing.texi:3561 msgid "The manual and cookbook are automatically added in the default compilation target. Every time we synchronize translations, developers need to recompile all the translated manuals and cookbooks. This is useless for what is essentially the English manual or cookbook. Therefore, we will only include a new language when it reaches 10% completion in the component. When a language is included, it may be removed in the future if it stays out of sync and falls below 5% completion." msgstr "Handbuch und Kochbuch sind automatisch Teil des Standard-Ziels beim Kompilieren. Jedes Mal, wenn wir die Übersetzungen in Guix mit Weblate abgleichen, müssen die Entwickler alle übersetzten Hand- und Kochbücher neu kompilieren. Das lohnt sich nicht, wenn so wenig übersetzt wurde, dass wir größtenteils wieder das englische Hand- oder Kochbuch vor uns haben. Aus diesem Grund nehmen wir eine neue Sprache hier nur auf, wenn mindestens 10% der jeweiligen Komponente übersetzt sind. Eine bereits aufgenommene Sprache, die eine Zeit lang nicht übereinstimmt und wo weniger als 5% übersetzt sind, kann entfernt werden." #. type: subsubheading #: guix-git/doc/contributing.texi:3562 #, no-wrap msgid "Translation Infrastructure" msgstr "Übersetzungsinfrastruktur" #. type: Plain text #: guix-git/doc/contributing.texi:3573 msgid "Weblate is backed by a git repository from which it discovers new strings to translate and pushes new and updated translations. Normally, it would be enough to give it commit access to our repositories. However, we decided to use a separate repository for two reasons. First, we would have to give Weblate commit access and authorize its signing key, but we do not trust it in the same way we trust guix developers, especially since we do not manage the instance ourselves. Second, if translators mess something up, it can break the generation of the website and/or guix pull for all our users, independently of their language." msgstr "Hinter Weblate steht ein Git-Repository, aus dem die Weblate-Instanz neue zu übersetzende Zeichenketten bezieht und in das sie die neuen und aktualisierten Übersetzungen pusht. Normalerweise würde es ausreichen, Weblate Commit-Zugriff auf unsere Repositorys zu geben, aber wir haben uns aus zwei Gründen dagegen entschieden. Erstens müssten wir sonst Weblate Commit-Zugriff geben und seinen Signierschlüssel autorisieren, aber wir haben in Weblate nicht auf gleiche Art Vertrauen wie in die Guix-Entwickler, besonders weil wir die Instanz nicht selbst verwalten. Zweitens könnten durch ein Missgeschick der Übersetzer dann das Erzeugen des Webauftritts und/oder guix-pull-Aufrufe für all unsere Nutzer aufhören zu funktionieren, ganz gleich was deren Spracheinstellungen sind." #. type: Plain text #: guix-git/doc/contributing.texi:3577 msgid "For these reasons, we use a dedicated repository to host translations, and we synchronize it with our guix and artworks repositories after checking no issue was introduced in the translation." msgstr "Daher haben wir ein separates Repository für die Übersetzungen, das wir mit unseren guix- und guix-artwork-Repositorys abgleichen, nachdem wir geprüft haben, dass es durch die Übersetzung zu keinem Fehler kommt." #. type: Plain text #: guix-git/doc/contributing.texi:3583 msgid "Developers can download the latest PO files from weblate in the Guix repository by running the @command{make download-po} command. It will automatically download the latest files from weblate, reformat them to a canonical form, and check they do not contain issues. The manual needs to be built again to check for additional issues that might crash Texinfo." msgstr "Entwickler können die neuesten PO-Dateien von Weblate in ihr Guix-Repository laden, indem sie den Befehl @command{make download-po} ausführen. Er wird die neuesten Dateien von Weblate automatisch herunterladen, in eine kanonische Form bringen und überprüfen, dass sie keine Fehler verursachen. Das Handbuch muss neu erstellt werden, um sicherzugehen, dass keine neuen Probleme zum Absturz von Texinfo führen." #. type: Plain text #: guix-git/doc/contributing.texi:3587 msgid "Before pushing new translation files, developers should add them to the make machinery so the translations are actually available. The process differs for the various components." msgstr "Bevor sie neue Übersetzungsdateien pushen, sollten Entwickler achtgeben, dass jene Dateien eingetragen sind, damit die Make-Maschinerie die Übersetzungen auch tatsächlich bereitstellt. Der Prozess dafür unterscheidet sich je nach Komponente." #. type: item #: guix-git/doc/contributing.texi:3589 #, no-wrap msgid "New po files for the @code{guix} and @code{packages} components must" msgstr "Neue PO-Dateien für die Komponenten @code{guix} und @code{packages}" #. type: itemize #: guix-git/doc/contributing.texi:3592 msgid "be registered by adding the new language to @file{po/guix/LINGUAS} or @file{po/packages/LINGUAS}." msgstr "müssen registriert werden, indem man die neue Sprache in @file{po/guix/LINGUAS} oder @file{po/packages/LINGUAS} hinzufügt." #. type: item #: guix-git/doc/contributing.texi:3592 #, no-wrap msgid "New po files for the @code{documentation-manual} component must be" msgstr "Neue PO-Dateien für die Komponente @code{documentation-manual} müssen" #. type: itemize #: guix-git/doc/contributing.texi:3598 msgid "registered by adding the file name to @code{DOC_PO_FILES} in @file{po/doc/local.mk}, the generated @file{%D%/guix.xx.texi} manual to @code{info_TEXINFOS} in @file{doc/local.mk} and the generated @file{%D%/guix.xx.texi} and @file{%D%/contributing.xx.texi} to @code{TRANSLATED_INFO} also in @file{doc/local.mk}." msgstr "registriert werden, indem man deren Dateinamen zu @code{DOC_PO_FILES} in @file{po/doc/local.mk} hinzufügt, die erzeugte Handbuchdatei @file{%D%/guix.xx.texi} zu @code{info_TEXINFOS} in @file{doc/local.mk} hinzufügt und sowohl die erzeugte @file{%D%/guix.xx.texi} als auch @file{%D%/contributing.xx.texi} zu @code{TRANSLATED_INFO} auch wieder in @file{doc/local.mk} hinzufügt." #. type: item #: guix-git/doc/contributing.texi:3598 #, no-wrap msgid "New po files for the @code{documentation-cookbook} component must be" msgstr "Neue PO-Dateien für die Komponente @code{documentation-cookbook} müssen" #. type: itemize #: guix-git/doc/contributing.texi:3604 msgid "registered by adding the file name to @code{DOC_COOKBOOK_PO_FILES} in @file{po/doc/local.mk}, the generated @file{%D%/guix-cookbook.xx.texi} manual to @code{info_TEXINFOS} in @file{doc/local.mk} and the generated @file{%D%/guix-cookbook.xx.texi} to @code{TRANSLATED_INFO} also in @file{doc/local.mk}." msgstr "registriert werden, indem man deren Dateinamen zu @code{DOC_COOKBOOK_PO_FILES} in @file{po/doc/local.mk} hinzufügt, die erzeugte Handbuchdatei @file{%D%/guix-cookbook.xx.texi} zu @code{info_TEXINFOS} in @file{doc/local.mk} hinzufügt und die erzeugte @file{%D%/guix-cookbook.xx.texi} zu @code{TRANSLATED_INFO} auch wieder in @file{doc/local.mk} hinzufügt." #. type: item #: guix-git/doc/contributing.texi:3604 #, no-wrap msgid "New po files for the @code{website} component must be added to the" msgstr "Neue PO-Dateien für die Komponente @code{website} müssen zum Repository" #. type: itemize #: guix-git/doc/contributing.texi:3609 msgid "@code{guix-artwork} repository, in @file{website/po/}. @file{website/po/LINGUAS} and @file{website/po/ietf-tags.scm} must be updated accordingly (see @file{website/i18n-howto.txt} for more information on the process)." msgstr "@code{guix-artwork} ins dortige Verzeichnis @file{website/po/} hinzugefügt werden. @file{website/po/LINGUAS} und @file{website/po/ietf-tags.scm} müssen entsprechend aktualisiert werden (siehe @file{website/i18n-howto.txt} für Details zum Prozess)." #. type: Plain text #: guix-git/doc/guix.texi:7 msgid "@documentencoding UTF-8" msgstr "" "@documentencoding UTF-8\n" "@documentlanguage de\n" "@frenchspacing on" #. type: title #: guix-git/doc/guix.texi:7 guix-git/doc/guix.texi:165 #, no-wrap msgid "GNU Guix Reference Manual" msgstr "Referenzhandbuch zu GNU Guix" #. type: include #: guix-git/doc/guix.texi:10 #, no-wrap msgid "version.texi" msgstr "version-de.texi" #. type: copying #: guix-git/doc/guix.texi:137 #, fuzzy #| msgid "Copyright @copyright{} 2012-2024 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018, 2024 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@* Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer@* Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2023 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018, 2021, 2023 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018, 2019 Gábor Boskovits@* Copyright @copyright{} 2018, 2019, 2020, 2022, 2023, 2024 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019, 2020 Diego Nicola Barbato@* Copyright @copyright{} 2019 Ivan Petkov@* Copyright @copyright{} 2019 Jakob L. Kreuze@* Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019, 2020, 2021, 2022 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Liliana Marie Prikler@* Copyright @copyright{} 2019, 2020, 2021, 2022, 2023 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* Copyright @copyright{} 2020 Jack Hill@* Copyright @copyright{} 2020 Naga Malleswari@* Copyright @copyright{} 2020, 2021 Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* Copyright @copyright{} 2020, 2021, 2022 Pierre Langlois@* Copyright @copyright{} 2020 pinoaffe@* Copyright @copyright{} 2020, 2023 André Batista@* Copyright @copyright{} 2020, 2021 Alexandru-Sergiu Marton@* Copyright @copyright{} 2020 raingloom@* Copyright @copyright{} 2020 Daniel Brooks@* Copyright @copyright{} 2020 John Soo@* Copyright @copyright{} 2020 Jonathan Brielmaier@* Copyright @copyright{} 2020 Edgar Vincent@* Copyright @copyright{} 2021, 2022 Maxime Devos@* Copyright @copyright{} 2021 B. Wilson@* Copyright @copyright{} 2021 Xinglu Chen@* Copyright @copyright{} 2021 Raghav Gururajan@* Copyright @copyright{} 2021 Domagoj Stolfa@* Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 Alice Brenon@* Copyright @copyright{} 2021-2023 Josselin Poiret@* Copyright @copyright{} 2021, 2023 muradm@* Copyright @copyright{} 2021, 2022 Andrew Tropin@* Copyright @copyright{} 2021 Sarah Morgensen@* Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Aleksandr Vityazev@* Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Copyright @copyright{} 2022 Karl Hallsby@* Copyright @copyright{} 2022 Justin Veilleux@* Copyright @copyright{} 2022 Reily Siegel@* Copyright @copyright{} 2022 Simon Streit@* Copyright @copyright{} 2022 (@* Copyright @copyright{} 2022 John Kehayias@* Copyright @copyright{} 2022⁠–⁠2023 Bruno Victal@* Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@* Copyright @copyright{} 2023-2024 Giacomo Leidi@* Copyright @copyright{} 2022 Antero Mejr@* Copyright @copyright{} 2023 Karl Hallsby@* Copyright @copyright{} 2023 Nathaniel Nicandro@* Copyright @copyright{} 2023 Tanguy Le Carrour@* Copyright @copyright{} 2023 Zheng Junjie@* Copyright @copyright{} 2023 Brian Cully@* Copyright @copyright{} 2023 Felix Lechner@* Copyright @copyright{} 2023 Foundation Devices, Inc.@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2023 Saku Laesvuori@* Copyright @copyright{} 2023 Graham James Addis@* Copyright @copyright{} 2023 Tomas Volf@* Copyright @copyright{} 2024 Herman Rimm@* Copyright @copyright{} 2024 Matthew Trzcinski@* Copyright @copyright{} 2024 Richard Sent@*" msgid "Copyright @copyright{} 2012-2024 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016, 2024 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018, 2024 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@* Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer@* Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2023, 2024 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018, 2021, 2023 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018, 2019 Gábor Boskovits@* Copyright @copyright{} 2018, 2019, 2020, 2022, 2023, 2024 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019, 2020 Diego Nicola Barbato@* Copyright @copyright{} 2019 Ivan Petkov@* Copyright @copyright{} 2019 Jakob L. Kreuze@* Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019, 2020, 2021, 2022 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Liliana Marie Prikler@* Copyright @copyright{} 2019, 2020, 2021, 2022, 2023 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* Copyright @copyright{} 2020 Jack Hill@* Copyright @copyright{} 2020 Naga Malleswari@* Copyright @copyright{} 2020, 2021 Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* Copyright @copyright{} 2020, 2021, 2022 Pierre Langlois@* Copyright @copyright{} 2020 pinoaffe@* Copyright @copyright{} 2020, 2023 André Batista@* Copyright @copyright{} 2020, 2021 Alexandru-Sergiu Marton@* Copyright @copyright{} 2020 raingloom@* Copyright @copyright{} 2020 Daniel Brooks@* Copyright @copyright{} 2020 John Soo@* Copyright @copyright{} 2020 Jonathan Brielmaier@* Copyright @copyright{} 2020 Edgar Vincent@* Copyright @copyright{} 2021, 2022 Maxime Devos@* Copyright @copyright{} 2021 B. Wilson@* Copyright @copyright{} 2021 Xinglu Chen@* Copyright @copyright{} 2021 Raghav Gururajan@* Copyright @copyright{} 2021 Domagoj Stolfa@* Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 Alice Brenon@* Copyright @copyright{} 2021-2023 Josselin Poiret@* Copyright @copyright{} 2021, 2023 muradm@* Copyright @copyright{} 2021, 2022 Andrew Tropin@* Copyright @copyright{} 2021 Sarah Morgensen@* Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Aleksandr Vityazev@* Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Copyright @copyright{} 2022 Karl Hallsby@* Copyright @copyright{} 2022 Justin Veilleux@* Copyright @copyright{} 2022 Reily Siegel@* Copyright @copyright{} 2022 Simon Streit@* Copyright @copyright{} 2022 (@* Copyright @copyright{} 2022 John Kehayias@* Copyright @copyright{} 2022⁠–⁠2023 Bruno Victal@* Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@* Copyright @copyright{} 2023-2024 Giacomo Leidi@* Copyright @copyright{} 2022 Antero Mejr@* Copyright @copyright{} 2023 Karl Hallsby@* Copyright @copyright{} 2023 Nathaniel Nicandro@* Copyright @copyright{} 2023 Tanguy Le Carrour@* Copyright @copyright{} 2023, 2024 Zheng Junjie@* Copyright @copyright{} 2023 Brian Cully@* Copyright @copyright{} 2023 Felix Lechner@* Copyright @copyright{} 2023 Foundation Devices, Inc.@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2023 Saku Laesvuori@* Copyright @copyright{} 2023 Graham James Addis@* Copyright @copyright{} 2023, 2024 Tomas Volf@* Copyright @copyright{} 2024 Herman Rimm@* Copyright @copyright{} 2024 Matthew Trzcinski@* Copyright @copyright{} 2024 Richard Sent@* Copyright @copyright{} 2024 Dariqq@* Copyright @copyright{} 2024 Denis 'GNUtoo' Carikli@* Copyright @copyright{} 2024 Fabio Natali@* Copyright @copyright{} 2024 Arnaud Daby-Seesaram@* Copyright @copyright{} 2024 Nigko Yerden@* Copyright @copyright{} 2024 Troy Figiel@* Copyright @copyright{} 2024 Sharlatan Hellseher@*" msgstr "Copyright @copyright{} 2012-2024 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018, 2024 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@* Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer@* Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2023 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018, 2021, 2023 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018, 2019 Gábor Boskovits@* Copyright @copyright{} 2018, 2019, 2020, 2022, 2023, 2024 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019, 2020 Diego Nicola Barbato@* Copyright @copyright{} 2019 Ivan Petkov@* Copyright @copyright{} 2019 Jakob L. Kreuze@* Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019, 2020, 2021, 2022 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Liliana Marie Prikler@* Copyright @copyright{} 2019, 2020, 2021, 2022, 2023 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* Copyright @copyright{} 2020 Jack Hill@* Copyright @copyright{} 2020 Naga Malleswari@* Copyright @copyright{} 2020, 2021 Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* Copyright @copyright{} 2020, 2021, 2022 Pierre Langlois@* Copyright @copyright{} 2020 pinoaffe@* Copyright @copyright{} 2020, 2023 André Batista@* Copyright @copyright{} 2020, 2021 Alexandru-Sergiu Marton@* Copyright @copyright{} 2020 raingloom@* Copyright @copyright{} 2020 Daniel Brooks@* Copyright @copyright{} 2020 John Soo@* Copyright @copyright{} 2020 Jonathan Brielmaier@* Copyright @copyright{} 2020 Edgar Vincent@* Copyright @copyright{} 2021, 2022 Maxime Devos@* Copyright @copyright{} 2021 B. Wilson@* Copyright @copyright{} 2021 Xinglu Chen@* Copyright @copyright{} 2021 Raghav Gururajan@* Copyright @copyright{} 2021 Domagoj Stolfa@* Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 Alice Brenon@* Copyright @copyright{} 2021-2023 Josselin Poiret@* Copyright @copyright{} 2021, 2023 muradm@* Copyright @copyright{} 2021, 2022 Andrew Tropin@* Copyright @copyright{} 2021 Sarah Morgensen@* Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Aleksandr Vityazev@* Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Copyright @copyright{} 2022 Karl Hallsby@* Copyright @copyright{} 2022 Justin Veilleux@* Copyright @copyright{} 2022 Reily Siegel@* Copyright @copyright{} 2022 Simon Streit@* Copyright @copyright{} 2022 (@* Copyright @copyright{} 2022 John Kehayias@* Copyright @copyright{} 2022⁠–⁠2023 Bruno Victal@* Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@* Copyright @copyright{} 2023-2024 Giacomo Leidi@* Copyright @copyright{} 2022 Antero Mejr@* Copyright @copyright{} 2023 Karl Hallsby@* Copyright @copyright{} 2023 Nathaniel Nicandro@* Copyright @copyright{} 2023 Tanguy Le Carrour@* Copyright @copyright{} 2023 Zheng Junjie@* Copyright @copyright{} 2023 Brian Cully@* Copyright @copyright{} 2023 Felix Lechner@* Copyright @copyright{} 2023 Foundation Devices, Inc.@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2023 Saku Laesvuori@* Copyright @copyright{} 2023 Graham James Addis@* Copyright @copyright{} 2023 Tomas Volf@* Copyright @copyright{} 2024 Herman Rimm@* Copyright @copyright{} 2024 Matthew Trzcinski@* Copyright @copyright{} 2024 Richard Sent@*" #. type: copying #: guix-git/doc/guix.texi:144 msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''." msgstr "Es ist Ihnen gestattet, dieses Dokument zu vervielfältigen, weiterzugeben und/oder zu verändern, unter den Bedingungen der GNU Free Documentation License, entweder gemäß Version 1.3 der Lizenz oder (nach Ihrer Option) einer späteren Version, die von der Free Software Foundation veröffentlicht wurde, ohne unveränderliche Abschnitte, ohne vorderen Umschlagtext und ohne hinteren Umschlagtext. Eine Kopie der Lizenz finden Sie im Abschnitt mit dem Titel „GNU-Lizenz für freie Dokumentation“." #. type: dircategory #: guix-git/doc/guix.texi:146 #, no-wrap msgid "System administration" msgstr "Systemadministration" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Guix: (guix)" msgstr "Guix: (guix.de)" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Manage installed software and system configuration." msgstr "Installierte Software und Systemkonfigurationen verwalten." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix package: (guix)Invoking guix package" msgstr "guix package: (guix.de)guix package aufrufen" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Installing, removing, and upgrading packages." msgstr "Pakete installieren, entfernen und aktualisieren." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix gc: (guix)Invoking guix gc" msgstr "guix gc: (guix.de)guix gc aufrufen" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Reclaiming unused disk space." msgstr "Unbenutzten Plattenspeicher wieder freigeben." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix pull: (guix)Invoking guix pull" msgstr "guix pull: (guix.de)guix pull aufrufen" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Update the list of available packages." msgstr "Die Liste verfügbarer Pakete aktualisieren." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix system: (guix)Invoking guix system" msgstr "guix system: (guix.de)guix system aufrufen" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Manage the operating system configuration." msgstr "Die Betriebssystemkonfiguration verwalten." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix deploy: (guix)Invoking guix deploy" msgstr "guix deploy: (guix.de)guix deploy aufrufen" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Manage operating system configurations for remote hosts." msgstr "Betriebssystemkonfigurationen entfernter Rechner verwalten." #. type: dircategory #: guix-git/doc/guix.texi:156 #, no-wrap msgid "Software development" msgstr "Softwareentwicklung" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix shell: (guix)Invoking guix shell" msgstr "guix shell: (guix.de)guix shell aufrufen" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "Creating software environments." msgstr "Software-Umgebungen erzeugen." #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix environment: (guix)Invoking guix environment" msgstr "guix environment: (guix.de)guix environment aufrufen" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "Building development environments with Guix." msgstr "Umgebungen für Entwickler erstellen" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix build: (guix)Invoking guix build" msgstr "guix build: (guix.de)guix build aufrufen" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "Building packages." msgstr "Erstellen von Paketen." #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix pack: (guix)Invoking guix pack" msgstr "guix pack: (guix.de)guix pack aufrufen" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "Creating binary bundles." msgstr "Bündel aus Binärdateien erstellen." #. type: subtitle #: guix-git/doc/guix.texi:166 #, no-wrap msgid "Using the GNU Guix Functional Package Manager" msgstr "Den funktionalen Paketmanager GNU Guix benutzen" #. type: author #: guix-git/doc/guix.texi:167 #, no-wrap msgid "The GNU Guix Developers" msgstr "Die Entwickler von GNU Guix" #. type: titlepage #: guix-git/doc/guix.texi:173 msgid "Edition @value{EDITION} @* @value{UPDATED} @*" msgstr "Edition @value{EDITION} @* @value{UPDATED} @*" #. type: node #: guix-git/doc/guix.texi:180 #, no-wrap msgid "Top" msgstr "Top" #. type: top #: guix-git/doc/guix.texi:181 #, no-wrap msgid "GNU Guix" msgstr "GNU Guix" #. type: Plain text #: guix-git/doc/guix.texi:185 msgid "This document describes GNU Guix version @value{VERSION}, a functional package management tool written for the GNU system." msgstr "Dieses Dokument beschreibt GNU Guix, Version @value{VERSION}, ein Werkzeug zur funktionalen Verwaltung von Softwarepaketen, das für das GNU-System geschrieben wurde." #. You can replace the following paragraph with information on #. type: Plain text #: guix-git/doc/guix.texi:198 msgid "This manual is also available in Simplified Chinese (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), French (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}), German (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), Spanish (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}), Brazilian Portuguese (@pxref{Top,,, guix.pt_BR, Manual de referência do GNU Guix}), and Russian (@pxref{Top,,, guix.ru, Руководство GNU Guix}). If you would like to translate it in your native language, consider joining @uref{https://translate.fedoraproject.org/projects/guix/documentation-manual, Weblate} (@pxref{Translating Guix})." msgstr "Dieses Handbuch ist auch auf Englisch (siehe @ref{Top,,, guix, GNU Guix Reference Manual}), in Vereinfachtem Chinesisch (siehe @ref{Top,,, guix.zh_CN, GNU Guix参考手册}), auf Französisch (siehe @ref{Top,,, guix.fr, Manuel de référence de GNU Guix}), auf Spanisch (siehe @ref{Top,,, guix.es, Manual de referencia de GNU Guix}), auf Brasilianischem Portugiesisch (siehe @ref{Top,,, guix.pt_BR, Manual de referência do GNU Guix}) und auf Russisch verfügbar (siehe @ref{Top,,, guix.ru, Руководство GNU Guix}). Wenn Sie es in Ihre eigene Sprache übersetzen möchten, dann sind Sie bei @uref{https://translate.fedoraproject.org/projects/guix/documentation-manual, Weblate} herzlich willkommen (siehe @ref{Translating Guix})." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:232 #: guix-git/doc/guix.texi:501 guix-git/doc/guix.texi:502 #, no-wrap msgid "Introduction" msgstr "Einführung" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "What is Guix about?" msgstr "Was ist Guix überhaupt?" #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:237 #: guix-git/doc/guix.texi:698 guix-git/doc/guix.texi:699 #, no-wrap msgid "Installation" msgstr "Installation" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Installing Guix." msgstr "Guix installieren." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:251 #: guix-git/doc/guix.texi:1970 guix-git/doc/guix.texi:1971 #, no-wrap msgid "System Installation" msgstr "Systeminstallation" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Installing the whole operating system." msgstr "Das ganze Betriebssystem installieren." #. type: section #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:2681 #: guix-git/doc/guix.texi:2682 guix-git/doc/guix.texi:17095 #, no-wrap msgid "Getting Started" msgstr "Einstieg" #. type: menuentry #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:387 #: guix-git/doc/guix.texi:17092 msgid "Your first steps." msgstr "Ihre ersten Schritte." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:268 #: guix-git/doc/guix.texi:2880 guix-git/doc/guix.texi:2881 #, no-wrap msgid "Package Management" msgstr "Paketverwaltung" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Package installation, upgrade, etc." msgstr "Pakete installieren, aktualisieren usw." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:292 #: guix-git/doc/guix.texi:5188 guix-git/doc/guix.texi:5189 #, no-wrap msgid "Channels" msgstr "Kanäle" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Customizing the package collection." msgstr "Die Paketsammlung anpassen." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:306 #: guix-git/doc/guix.texi:5888 guix-git/doc/guix.texi:5889 #, no-wrap msgid "Development" msgstr "Entwicklung" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Guix-aided software development." msgstr "Von Guix unterstützte Softwareentwicklung." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:314 #: guix-git/doc/guix.texi:7504 guix-git/doc/guix.texi:7505 #, no-wrap msgid "Programming Interface" msgstr "Programmierschnittstelle" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Using Guix in Scheme." msgstr "Guix in Scheme verwenden." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:336 #: guix-git/doc/guix.texi:12902 guix-git/doc/guix.texi:12903 #, no-wrap msgid "Utilities" msgstr "Zubehör" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Package management commands." msgstr "Befehle zur Paketverwaltung." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:362 #: guix-git/doc/guix.texi:16881 guix-git/doc/guix.texi:16882 #, no-wrap msgid "Foreign Architectures" msgstr "Fremde Architekturen" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Build for foreign architectures." msgstr "Erstellen für fremde Architekturen." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:367 #: guix-git/doc/guix.texi:17047 guix-git/doc/guix.texi:17048 #, no-wrap msgid "System Configuration" msgstr "Systemkonfiguration" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Configuring the operating system." msgstr "Das Betriebssystem konfigurieren." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:441 #: guix-git/doc/guix.texi:45162 guix-git/doc/guix.texi:45163 #, no-wrap msgid "System Troubleshooting Tips" msgstr "Problembehandlung bei Guix System" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "When things don't go as planned." msgstr "Wenn es mal nicht so läuft." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:445 #: guix-git/doc/guix.texi:45277 guix-git/doc/guix.texi:45278 #, no-wrap msgid "Home Configuration" msgstr "Persönliche Konfiguration" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Configuring the home environment." msgstr "Persönliche Home-Umgebungen konfigurieren." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:48293 #: guix-git/doc/guix.texi:48294 #, no-wrap msgid "Documentation" msgstr "Dokumentation" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Browsing software user manuals." msgstr "Wie man Nutzerhandbücher von Software liest." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:472 #: guix-git/doc/guix.texi:48359 guix-git/doc/guix.texi:48360 #, no-wrap msgid "Platforms" msgstr "Plattformen" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Defining platforms." msgstr "Plattformen definieren." #. type: node #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:48493 #, no-wrap msgid "System Images" msgstr "Systemabbilder" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Creating system images." msgstr "System-Images erzeugen." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:488 #: guix-git/doc/guix.texi:49034 guix-git/doc/guix.texi:49035 #, no-wrap msgid "Installing Debugging Files" msgstr "Dateien zur Fehlersuche installieren" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Feeding the debugger." msgstr "Den Debugger füttern." #. type: node #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:49189 #, no-wrap msgid "Using TeX and LaTeX" msgstr "TeX und LaTeX gebrauchen" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Typesetting." msgstr "Texte setzen." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:49308 #: guix-git/doc/guix.texi:49309 #, no-wrap msgid "Security Updates" msgstr "Sicherheitsaktualisierungen" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Deploying security fixes quickly." msgstr "Sicherheits-Patches schnell einspielen." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:493 #: guix-git/doc/guix.texi:49423 guix-git/doc/guix.texi:49424 #, no-wrap msgid "Bootstrapping" msgstr "Bootstrapping" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "GNU/Linux built from scratch." msgstr "GNU/Linux von Grund auf selbst erstellen." #. type: node #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:49727 #, no-wrap msgid "Porting" msgstr "Portierung" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Targeting another platform or kernel." msgstr "Guix auf andere Plattformen und Kernels bringen." #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Your help needed!" msgstr "Ihre Hilfe ist nötig!" #. type: chapter #: guix-git/doc/guix.texi:227 guix-git/doc/guix.texi:49777 #: guix-git/doc/guix.texi:49778 #, no-wrap msgid "Acknowledgments" msgstr "Danksagungen" #. type: menuentry #: guix-git/doc/guix.texi:227 msgid "Thanks!" msgstr "Danke!" #. type: appendix #: guix-git/doc/guix.texi:227 guix-git/doc/guix.texi:49799 #: guix-git/doc/guix.texi:49800 #, no-wrap msgid "GNU Free Documentation License" msgstr "GNU-Lizenz für freie Dokumentation" #. type: menuentry #: guix-git/doc/guix.texi:227 msgid "The license of this manual." msgstr "Die Lizenz dieses Handbuchs." #. type: unnumbered #: guix-git/doc/guix.texi:227 guix-git/doc/guix.texi:49805 #: guix-git/doc/guix.texi:49806 #, no-wrap msgid "Concept Index" msgstr "Konzeptverzeichnis" #. type: menuentry #: guix-git/doc/guix.texi:227 msgid "Concepts." msgstr "Konzepte." #. type: unnumbered #: guix-git/doc/guix.texi:227 guix-git/doc/guix.texi:49809 #: guix-git/doc/guix.texi:49810 #, no-wrap msgid "Programming Index" msgstr "Programmierverzeichnis" #. type: menuentry #: guix-git/doc/guix.texi:227 msgid "Data types, functions, and variables." msgstr "Datentypen, Funktionen und Variable." #. type: menuentry #: guix-git/doc/guix.texi:230 msgid "--- The Detailed Node Listing ---" msgstr "--- Detaillierte Liste der Knoten ---" #. type: section #: guix-git/doc/guix.texi:235 guix-git/doc/guix.texi:528 #: guix-git/doc/guix.texi:530 guix-git/doc/guix.texi:531 #, no-wrap msgid "Managing Software the Guix Way" msgstr "Auf Guix-Art Software verwalten" #. type: menuentry #: guix-git/doc/guix.texi:235 guix-git/doc/guix.texi:528 msgid "What's special." msgstr "Was Guix besonders macht." #. type: section #: guix-git/doc/guix.texi:235 guix-git/doc/guix.texi:528 #: guix-git/doc/guix.texi:585 guix-git/doc/guix.texi:586 #, no-wrap msgid "GNU Distribution" msgstr "GNU-Distribution" #. type: menuentry #: guix-git/doc/guix.texi:235 guix-git/doc/guix.texi:528 msgid "The packages and tools." msgstr "Die Pakete und Werkzeuge." #. type: section #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 #: guix-git/doc/guix.texi:733 guix-git/doc/guix.texi:734 #, no-wrap msgid "Binary Installation" msgstr "Aus Binärdatei installieren" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Getting Guix running in no time!" msgstr "Guix installieren ohne Zeit zu verlieren!" #. type: section #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:245 #: guix-git/doc/guix.texi:731 guix-git/doc/guix.texi:865 #: guix-git/doc/guix.texi:866 #, no-wrap msgid "Setting Up the Daemon" msgstr "Den Daemon einrichten" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Preparing the build daemon's environment." msgstr "Die Umgebung des Erstellungs-Daemons vorbereiten." #. type: node #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 #: guix-git/doc/guix.texi:1398 #, no-wrap msgid "Invoking guix-daemon" msgstr "Aufruf des guix-daemon" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Running the build daemon." msgstr "Den Erstellungs-Daemon laufen lassen." #. type: section #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 #: guix-git/doc/guix.texi:1704 guix-git/doc/guix.texi:1705 #, no-wrap msgid "Application Setup" msgstr "Anwendungen einrichten" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Application-specific setup." msgstr "Anwendungsspezifische Einstellungen." #. type: section #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 #: guix-git/doc/guix.texi:1933 guix-git/doc/guix.texi:1934 #, no-wrap msgid "Upgrading Guix" msgstr "Aktualisieren von Guix" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Upgrading Guix and its build daemon." msgstr "Guix und seinen Erstellungs-Daemon aktualisieren." #. type: subsection #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 #: guix-git/doc/guix.texi:907 guix-git/doc/guix.texi:908 #, no-wrap msgid "Build Environment Setup" msgstr "Einrichten der Erstellungsumgebung" #. type: menuentry #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 msgid "Preparing the isolated build environment." msgstr "Die isolierte Umgebung zum Erstellen herrichten." #. type: node #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 #: guix-git/doc/guix.texi:1036 #, no-wrap msgid "Daemon Offload Setup" msgstr "Auslagern des Daemons einrichten" #. type: menuentry #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 msgid "Offloading builds to remote machines." msgstr "Erstellungen auf entfernte Maschinen auslagern." #. type: subsection #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 #: guix-git/doc/guix.texi:1288 guix-git/doc/guix.texi:1289 #, no-wrap msgid "SELinux Support" msgstr "SELinux-Unterstützung" #. type: menuentry #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 msgid "Using an SELinux policy for the daemon." msgstr "Wie man eine SELinux-Richtlinie für den Daemon einrichtet." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:1343 #: guix-git/doc/guix.texi:2004 guix-git/doc/guix.texi:2006 #: guix-git/doc/guix.texi:2007 #, no-wrap msgid "Limitations" msgstr "Einschränkungen" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "What you can expect." msgstr "Was Sie erwarten dürfen." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2023 guix-git/doc/guix.texi:2024 #, no-wrap msgid "Hardware Considerations" msgstr "Hardware-Überlegungen" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Supported hardware." msgstr "Unterstützte Hardware." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2061 guix-git/doc/guix.texi:2062 #, no-wrap msgid "USB Stick and DVD Installation" msgstr "Installation von USB-Stick oder DVD" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Preparing the installation medium." msgstr "Das Installationsmedium vorbereiten." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2152 guix-git/doc/guix.texi:2153 #, no-wrap msgid "Preparing for Installation" msgstr "Vor der Installation" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Networking, partitioning, etc." msgstr "Netzwerkanbindung, Partitionierung usw." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2175 guix-git/doc/guix.texi:2176 #, no-wrap msgid "Guided Graphical Installation" msgstr "Geführte grafische Installation" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Easy graphical installation." msgstr "Leichte grafische Installation." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:263 #: guix-git/doc/guix.texi:2004 guix-git/doc/guix.texi:2206 #: guix-git/doc/guix.texi:2207 #, no-wrap msgid "Manual Installation" msgstr "Manuelle Installation" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Manual installation for wizards." msgstr "Manuelle Installation für Zauberer." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2577 guix-git/doc/guix.texi:2578 #, no-wrap msgid "After System Installation" msgstr "Nach der Systeminstallation" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "When installation succeeded." msgstr "Wenn die Installation erfolgreich war." #. type: node #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2597 #, no-wrap msgid "Installing Guix in a VM" msgstr "Guix in einer VM installieren" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Guix System playground." msgstr "Ein „Guix System“-Spielplatz." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2648 guix-git/doc/guix.texi:2649 #, no-wrap msgid "Building the Installation Image" msgstr "Ein Abbild zur Installation erstellen" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "How this comes to be." msgstr "Wie ein solches entsteht." # Commas in node names would prevent the terminal info viewer from following links. #. type: node #: guix-git/doc/guix.texi:266 guix-git/doc/guix.texi:2224 #: guix-git/doc/guix.texi:2226 #, no-wrap msgid "Keyboard Layout and Networking and Partitioning" msgstr "Tastaturbelegung und Netzwerkanbindung und Partitionierung" #. type: menuentry #: guix-git/doc/guix.texi:266 guix-git/doc/guix.texi:2224 msgid "Initial setup." msgstr "Vorab." #. type: subsection #: guix-git/doc/guix.texi:266 guix-git/doc/guix.texi:2224 #: guix-git/doc/guix.texi:2488 guix-git/doc/guix.texi:2489 #, no-wrap msgid "Proceeding with the Installation" msgstr "Fortfahren mit der Installation" #. type: menuentry #: guix-git/doc/guix.texi:266 guix-git/doc/guix.texi:2224 msgid "Installing." msgstr "Installieren." #. type: section #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:2915 guix-git/doc/guix.texi:2916 #, no-wrap msgid "Features" msgstr "Funktionalitäten" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "How Guix will make your life brighter." msgstr "Wie Guix Ihr Leben schöner machen wird." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:3005 #, no-wrap msgid "Invoking guix package" msgstr "Aufruf von guix package" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Package installation, removal, etc." msgstr "Pakete installieren, entfernen usw." #. type: section #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:282 #: guix-git/doc/guix.texi:2913 guix-git/doc/guix.texi:3618 #: guix-git/doc/guix.texi:3619 #, no-wrap msgid "Substitutes" msgstr "Substitute" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Downloading pre-built binaries." msgstr "Vorerstelle Binärdateien herunterladen." #. type: section #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:3970 guix-git/doc/guix.texi:3971 #, no-wrap msgid "Packages with Multiple Outputs" msgstr "Pakete mit mehreren Ausgaben." #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Single source package, multiple outputs." msgstr "Ein Quellpaket, mehrere Ausgaben." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4043 #, no-wrap msgid "Invoking guix locate" msgstr "Aufruf von guix locate" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Locating packages that provide a file." msgstr "Pakete finden, die eine Datei enthalten." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4173 #, no-wrap msgid "Invoking guix gc" msgstr "Aufruf von guix gc" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Running the garbage collector." msgstr "Den Müllsammler laufen lassen." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4397 #, no-wrap msgid "Invoking guix pull" msgstr "Aufruf von guix pull" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Fetching the latest Guix and distribution." msgstr "Das neueste Guix samt Distribution laden." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4649 #, no-wrap msgid "Invoking guix time-machine" msgstr "Aufruf von time-machine" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Running an older revision of Guix." msgstr "Alte Guix-Versionen verwenden." #. type: section #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4775 guix-git/doc/guix.texi:4776 #, no-wrap msgid "Inferiors" msgstr "Untergeordnete" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Interacting with another revision of Guix." msgstr "Mit einer anderen Version von Guix interagieren." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4900 #, no-wrap msgid "Invoking guix describe" msgstr "Aufruf von guix describe" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Display information about your Guix revision." msgstr "Informationen über Ihre Guix-Version anzeigen." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4996 #, no-wrap msgid "Invoking guix archive" msgstr "Aufruf von guix archive" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Exporting and importing store files." msgstr "Import und Export von Store-Dateien." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3644 guix-git/doc/guix.texi:3645 #, no-wrap msgid "Official Substitute Servers" msgstr "Offizielle Substitut-Server" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "One particular source of substitutes." msgstr "Eine besondere Quelle von Substituten." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3674 guix-git/doc/guix.texi:3675 #, no-wrap msgid "Substitute Server Authorization" msgstr "Substitut-Server autorisieren" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "How to enable or disable substitutes." msgstr "Wie man Substitute an- und abschaltet." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3744 guix-git/doc/guix.texi:3745 #, no-wrap msgid "Getting Substitutes from Other Servers" msgstr "Substitute von anderen Servern holen" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "Substitute diversity." msgstr "Substitutevielfalt." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3865 guix-git/doc/guix.texi:3866 #, no-wrap msgid "Substitute Authentication" msgstr "Substitutauthentifizierung" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "How Guix verifies substitutes." msgstr "Wie Guix Substitute verifiziert." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3900 guix-git/doc/guix.texi:3901 #, no-wrap msgid "Proxy Settings" msgstr "Proxy-Einstellungen" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "How to get substitutes via proxy." msgstr "Wie Sie Substitute über einen Proxy beziehen." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3912 guix-git/doc/guix.texi:3913 #, no-wrap msgid "Substitution Failure" msgstr "Fehler bei der Substitution" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "What happens when substitution fails." msgstr "Was passiert, wenn die Substitution fehlschlägt." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3940 guix-git/doc/guix.texi:3941 #, no-wrap msgid "On Trusting Binaries" msgstr "Vom Vertrauen gegenüber Binärdateien" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "How can you trust that binary blob?" msgstr "Wie können Sie diesem binären Blob trauen?" #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5222 guix-git/doc/guix.texi:5223 #, no-wrap msgid "Specifying Additional Channels" msgstr "Weitere Kanäle angeben" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Extending the package collection." msgstr "Die Paketsammlung erweitern." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5268 guix-git/doc/guix.texi:5269 #, no-wrap msgid "Using a Custom Guix Channel" msgstr "Eigenen Guix-Kanal benutzen" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Using a customized Guix." msgstr "Ein angepasstes Guix benutzen." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5309 guix-git/doc/guix.texi:5310 #, no-wrap msgid "Replicating Guix" msgstr "Guix nachbilden" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Running the @emph{exact same} Guix." msgstr "Haargenau dasselbe Guix bekommen." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5428 guix-git/doc/guix.texi:5429 #, no-wrap msgid "Channel Authentication" msgstr "Kanalauthentifizierung" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "How Guix verifies what it fetches." msgstr "Wie Guix seine Aktualisierung verifiziert." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5468 guix-git/doc/guix.texi:5469 #, no-wrap msgid "Channels with Substitutes" msgstr "Kanäle mit Substituten" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Using channels with available substitutes." msgstr "Kanäle nutzen, für die es Substitute gibt." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5493 guix-git/doc/guix.texi:5494 #, no-wrap msgid "Creating a Channel" msgstr "Einen Kanal erstellen" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "How to write your custom channel." msgstr "Wie Sie Ihren eigenen Kanal schreiben." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5624 guix-git/doc/guix.texi:5625 #, no-wrap msgid "Package Modules in a Sub-directory" msgstr "Paketmodule in einem Unterverzeichnis" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Specifying the channel's package modules location." msgstr "Den Ort der Paketmodule des Kanals angeben." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5650 guix-git/doc/guix.texi:5651 #, no-wrap msgid "Declaring Channel Dependencies" msgstr "Kanalabhängigkeiten deklarieren" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "How to depend on other channels." msgstr "Abhängigkeiten von anderen Kanälen festlegen." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5692 guix-git/doc/guix.texi:5693 #, no-wrap msgid "Specifying Channel Authorizations" msgstr "Kanalautorisierungen angeben" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Defining channel authors authorizations." msgstr "Autorisierungen von Kanalautoren definieren." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5795 guix-git/doc/guix.texi:5796 #, no-wrap msgid "Primary URL" msgstr "Primäre URL" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Distinguishing mirror to original." msgstr "Spiegelserver vom Original unterscheiden." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5818 guix-git/doc/guix.texi:5819 #, no-wrap msgid "Writing Channel News" msgstr "Kanalneuigkeiten verfassen" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Communicating information to channel's users." msgstr "Den Kanalnutzern Informationen mitteilen." #. type: node #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:5910 #, no-wrap msgid "Invoking guix shell" msgstr "Aufruf von guix shell" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 msgid "Spawning one-off software environments." msgstr "Software-Umgebungen für den Moment." #. type: node #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:6456 #, no-wrap msgid "Invoking guix environment" msgstr "Aufruf von guix environment" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 msgid "Setting up development environments." msgstr "Entwicklungsumgebungen einrichten." #. type: node #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:6853 #, no-wrap msgid "Invoking guix pack" msgstr "Aufruf von guix pack" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 msgid "Creating software bundles." msgstr "Software-Bündel erstellen." #. type: section #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:7382 guix-git/doc/guix.texi:7383 #, no-wrap msgid "The GCC toolchain" msgstr "GCC-Toolchain" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 msgid "Working with languages supported by GCC." msgstr "Arbeiten mit vom GCC unterstützten Sprachen." #. type: node #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:7408 #, no-wrap msgid "Invoking guix git authenticate" msgstr "Aufruf von guix git authenticate" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 msgid "Authenticating Git repositories." msgstr "Git-Repositorys authentifizieren." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:7550 guix-git/doc/guix.texi:7551 #, no-wrap msgid "Package Modules" msgstr "Paketmodule" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Packages from the programmer's viewpoint." msgstr "Pakete aus Sicht des Programmierers." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:331 #: guix-git/doc/guix.texi:7548 guix-git/doc/guix.texi:7612 #: guix-git/doc/guix.texi:7613 #, no-wrap msgid "Defining Packages" msgstr "Pakete definieren" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Defining new packages." msgstr "Wie Sie neue Pakete definieren." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:8437 guix-git/doc/guix.texi:8438 #, no-wrap msgid "Defining Package Variants" msgstr "Paketvarianten definieren" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Customizing packages." msgstr "Pakete anpassen." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:8726 guix-git/doc/guix.texi:8727 #, no-wrap msgid "Writing Manifests" msgstr "Manifeste verfassen" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "The bill of materials of your environment." msgstr "Woraus Ihre Umgebung besteht." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:9031 guix-git/doc/guix.texi:9032 #, no-wrap msgid "Build Systems" msgstr "Erstellungssysteme" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Specifying how packages are built." msgstr "Angeben, wie Pakete erstellt werden." #. type: subsection #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:10360 guix-git/doc/guix.texi:10361 #: guix-git/doc/guix.texi:10903 #, no-wrap msgid "Build Phases" msgstr "Erstellungsphasen" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Phases of the build process of a package." msgstr "Die Phasen im Erstellungsprozess eines Pakets." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:10585 guix-git/doc/guix.texi:10586 #, no-wrap msgid "Build Utilities" msgstr "Werkzeuge zur Erstellung" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Helpers for your package definitions and more." msgstr "Helferlein für Ihre Paketdefinitionen und anderes." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11060 guix-git/doc/guix.texi:11061 #, no-wrap msgid "Search Paths" msgstr "Suchpfade" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Declaring search path environment variables." msgstr "Umgebungsvariable mit Suchpfaden deklarieren." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11264 guix-git/doc/guix.texi:11265 #, no-wrap msgid "The Store" msgstr "Der Store" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Manipulating the package store." msgstr "Den Paket-Store verändern." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11416 guix-git/doc/guix.texi:11417 #, no-wrap msgid "Derivations" msgstr "Ableitungen" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Low-level interface to package derivations." msgstr "Systemnahe Schnittstelle für Paketableitungen." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11609 guix-git/doc/guix.texi:11610 #, no-wrap msgid "The Store Monad" msgstr "Die Store-Monade" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Purely functional interface to the store." msgstr "Rein funktionale Schnittstelle zum Store." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11931 guix-git/doc/guix.texi:11932 #, no-wrap msgid "G-Expressions" msgstr "G-Ausdrücke" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Manipulating build expressions." msgstr "Erstellungsausdrücke verarbeiten." #. type: node #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:12623 #, no-wrap msgid "Invoking guix repl" msgstr "Aufruf von guix repl" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Programming Guix in Guile" msgstr "Guix in Guile programmieren." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:12740 guix-git/doc/guix.texi:12741 #, no-wrap msgid "Using Guix Interactively" msgstr "Interaktiv mit Guix arbeiten" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Fine-grain interaction at the REPL." msgstr "Genau steuern auf der REPL." #. type: node #: guix-git/doc/guix.texi:334 guix-git/doc/guix.texi:7816 #: guix-git/doc/guix.texi:7819 #, no-wrap msgid "package Reference" msgstr "„package“-Referenz" #. type: menuentry #: guix-git/doc/guix.texi:334 guix-git/doc/guix.texi:7816 msgid "The package data type." msgstr "Der Datentyp für Pakete." #. type: node #: guix-git/doc/guix.texi:334 guix-git/doc/guix.texi:7816 #: guix-git/doc/guix.texi:8131 #, no-wrap msgid "origin Reference" msgstr "„origin“-Referenz" #. type: menuentry #: guix-git/doc/guix.texi:334 guix-git/doc/guix.texi:7816 msgid "The origin data type." msgstr "Datentyp für Paketursprünge." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:12929 #, no-wrap msgid "Invoking guix build" msgstr "Aufruf von guix build" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Building packages from the command line." msgstr "Pakete aus der Befehlszeile heraus erstellen." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:13887 #, no-wrap msgid "Invoking guix edit" msgstr "Aufruf von guix edit" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Editing package definitions." msgstr "Paketdefinitionen bearbeiten." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:13917 #, no-wrap msgid "Invoking guix download" msgstr "Aufruf von guix download" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Downloading a file and printing its hash." msgstr "Eine Datei herunterladen und ihre Hash-Prüfsumme ausgeben." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:13998 #, no-wrap msgid "Invoking guix hash" msgstr "Aufruf von guix hash" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Computing the cryptographic hash of a file." msgstr "Die kryptografische Prüfsumme einer Datei berechnen." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:14089 #, no-wrap msgid "Invoking guix import" msgstr "Aufruf von guix import" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Importing package definitions." msgstr "Paketdefinitionen importieren." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:14776 #, no-wrap msgid "Invoking guix refresh" msgstr "Aufruf von guix refresh" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Updating package definitions." msgstr "Paketdefinitionen aktualisieren." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:15232 #, no-wrap msgid "Invoking guix style" msgstr "Aufruf von guix style" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Styling package definitions." msgstr "Paketdefinitionen umgestalten." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:15441 #, no-wrap msgid "Invoking guix lint" msgstr "Aufruf von guix lint" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Finding errors in package definitions." msgstr "Fehler in Paketdefinitionen finden." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:15627 #, no-wrap msgid "Invoking guix size" msgstr "Aufruf von guix size" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Profiling disk usage." msgstr "Plattenplatzverbrauch profilieren." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:15771 #, no-wrap msgid "Invoking guix graph" msgstr "Aufruf von guix graph" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Visualizing the graph of packages." msgstr "Den Paketgraphen visualisieren." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16052 #, no-wrap msgid "Invoking guix publish" msgstr "Aufruf von guix publish" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Sharing substitutes." msgstr "Substitute teilen." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16326 #, no-wrap msgid "Invoking guix challenge" msgstr "Aufruf von guix challenge" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Challenging substitute servers." msgstr "Die Substitut-Server anfechten." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16515 #, no-wrap msgid "Invoking guix copy" msgstr "Aufruf von guix copy" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Copying to and from a remote store." msgstr "Mit einem entfernten Store Dateien austauschen." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16579 #, no-wrap msgid "Invoking guix container" msgstr "Aufruf von guix container" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Process isolation." msgstr "Prozesse isolieren." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16633 #, no-wrap msgid "Invoking guix weather" msgstr "Aufruf von guix weather" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Assessing substitute availability." msgstr "Die Verfügbarkeit von Substituten einschätzen." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16782 #, no-wrap msgid "Invoking guix processes" msgstr "Aufruf von guix processes" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Listing client processes." msgstr "Auflisten der Client-Prozesse" #. type: section #: guix-git/doc/guix.texi:355 guix-git/doc/guix.texi:12930 #, no-wrap msgid "Invoking @command{guix build}" msgstr "Aufruf von @command{guix build}" #. type: subsection #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 #: guix-git/doc/guix.texi:12983 guix-git/doc/guix.texi:12984 #, no-wrap msgid "Common Build Options" msgstr "Gemeinsame Erstellungsoptionen" #. type: menuentry #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 msgid "Build options for most commands." msgstr "Erstellungsoptionen für die meisten Befehle." #. type: subsection #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 #: guix-git/doc/guix.texi:13138 guix-git/doc/guix.texi:13139 #, no-wrap msgid "Package Transformation Options" msgstr "Paketumwandlungsoptionen" #. type: menuentry #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 msgid "Creating variants of packages." msgstr "Varianten von Paketen erzeugen." #. type: subsection #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 #: guix-git/doc/guix.texi:13561 guix-git/doc/guix.texi:13562 #, no-wrap msgid "Additional Build Options" msgstr "Zusätzliche Erstellungsoptionen" #. type: menuentry #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 msgid "Options specific to 'guix build'." msgstr "Optionen spezifisch für „guix build“." #. type: subsection #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 #: guix-git/doc/guix.texi:13807 guix-git/doc/guix.texi:13808 #, no-wrap msgid "Debugging Build Failures" msgstr "Fehlschläge beim Erstellen untersuchen" #. type: menuentry #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 msgid "Real life packaging experience." msgstr "Praxiserfahrung beim Paketeschreiben." #. type: section #: guix-git/doc/guix.texi:365 guix-git/doc/guix.texi:16905 #: guix-git/doc/guix.texi:16907 guix-git/doc/guix.texi:16908 #, no-wrap msgid "Cross-Compilation" msgstr "Cross-Kompilieren" #. type: menuentry #: guix-git/doc/guix.texi:365 guix-git/doc/guix.texi:16905 msgid "Cross-compiling for another architecture." msgstr "Cross-Kompilieren für eine andere Architektur." #. type: section #: guix-git/doc/guix.texi:365 guix-git/doc/guix.texi:16905 #: guix-git/doc/guix.texi:16959 guix-git/doc/guix.texi:16960 #, no-wrap msgid "Native Builds" msgstr "Native Erstellungen" #. type: menuentry #: guix-git/doc/guix.texi:365 guix-git/doc/guix.texi:16905 msgid "Targeting another architecture through native builds." msgstr "Trotz anderer Architektur nativ erstellen." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:17094 #, no-wrap msgid "Getting Started with the System" msgstr "Einstieg in Guix System" #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:17297 guix-git/doc/guix.texi:17298 #, no-wrap msgid "Using the Configuration System" msgstr "Das Konfigurationssystem nutzen" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Customizing your GNU system." msgstr "Ihr GNU-System anpassen." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:17626 #, no-wrap msgid "operating-system Reference" msgstr "„operating-system“-Referenz" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Detail of operating-system declarations." msgstr "Details der Betriebssystem-Deklarationen." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:389 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:17845 #: guix-git/doc/guix.texi:17846 #, no-wrap msgid "File Systems" msgstr "Dateisysteme" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Configuring file system mounts." msgstr "Die Dateisystemeinbindungen konfigurieren." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:18222 guix-git/doc/guix.texi:18223 #, no-wrap msgid "Mapped Devices" msgstr "Zugeordnete Geräte" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Block device extra processing." msgstr "Näheres zu blockorientierten Speichermedien." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:18395 guix-git/doc/guix.texi:18396 #, no-wrap msgid "Swap Space" msgstr "Swap-Speicher" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Backing RAM with disk space." msgstr "Arbeitsspeicher auslagern." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:18577 guix-git/doc/guix.texi:18578 #, no-wrap msgid "User Accounts" msgstr "Benutzerkonten" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Specifying user accounts." msgstr "Benutzerkonten festlegen." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:2233 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:18758 #: guix-git/doc/guix.texi:18759 #, no-wrap msgid "Keyboard Layout" msgstr "Tastaturbelegung" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "How the system interprets key strokes." msgstr "Wie das System Tastendrücke interpretiert." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:1712 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:18903 #: guix-git/doc/guix.texi:18904 #, no-wrap msgid "Locales" msgstr "Locales" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Language and cultural convention settings." msgstr "Sprache und kulturelle Konventionen." #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Specifying system services." msgstr "Systemdienste festlegen." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:42011 guix-git/doc/guix.texi:42012 #, no-wrap msgid "Privileged Programs" msgstr "Privilegierte Programme" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Programs running with elevated privileges." msgstr "Mit erhöhten Berechtigungen startende Programme." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:1876 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:42108 #: guix-git/doc/guix.texi:42109 #, no-wrap msgid "X.509 Certificates" msgstr "X.509-Zertifikate" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Authenticating HTTPS servers." msgstr "HTTPS-Server authentifizieren." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:1771 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:42172 #: guix-git/doc/guix.texi:42173 #, no-wrap msgid "Name Service Switch" msgstr "Name Service Switch" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Configuring libc's name service switch." msgstr "Den Name Service Switch von libc konfigurieren." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:42310 guix-git/doc/guix.texi:42311 #, no-wrap msgid "Initial RAM Disk" msgstr "Initiale RAM-Disk" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Linux-Libre bootstrapping." msgstr "Linux-libre hochfahren." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:42517 guix-git/doc/guix.texi:42518 #, no-wrap msgid "Bootloader Configuration" msgstr "Bootloader-Konfiguration" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Configuring the boot loader." msgstr "Den Bootloader konfigurieren." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:42953 #, no-wrap msgid "Invoking guix system" msgstr "Aufruf von guix system" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Instantiating a system configuration." msgstr "Instanziierung einer Systemkonfiguration." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:43600 #, no-wrap msgid "Invoking guix deploy" msgstr "Aufruf von guix deploy" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Deploying a system configuration to a remote host." msgstr "Eine Systemkonfiguration auf einen entfernten Rechner aufspielen." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:43841 #, no-wrap msgid "Running Guix in a VM" msgstr "Guix in einer VM starten" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "How to run Guix System in a virtual machine." msgstr "Wie man „Guix System“ in einer virtuellen Maschine startet." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:433 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:43976 #: guix-git/doc/guix.texi:43977 #, no-wrap msgid "Defining Services" msgstr "Dienste definieren" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Adding new service definitions." msgstr "Neue Dienstdefinitionen hinzufügen." #. type: subsection #: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:18116 #: guix-git/doc/guix.texi:18118 guix-git/doc/guix.texi:18119 #, no-wrap msgid "Btrfs file system" msgstr "Btrfs-Dateisystem" #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:19143 guix-git/doc/guix.texi:19144 #, no-wrap msgid "Base Services" msgstr "Basisdienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Essential system services." msgstr "Essenzielle Systemdienste." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:20517 guix-git/doc/guix.texi:20518 #, no-wrap msgid "Scheduled Job Execution" msgstr "Geplante Auftragsausführung" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "The mcron service." msgstr "Der mcron-Dienst." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:20691 guix-git/doc/guix.texi:20692 #, no-wrap msgid "Log Rotation" msgstr "Log-Rotation" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "The rottlog service." msgstr "Der rottlog-Dienst." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:20915 guix-git/doc/guix.texi:20916 #, no-wrap msgid "Networking Setup" msgstr "Netzwerkeinrichtung" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Setting up network interfaces." msgstr "Netzwerkschnittstellen verbinden." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:21627 guix-git/doc/guix.texi:21628 #, no-wrap msgid "Networking Services" msgstr "Netzwerkdienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Firewall, SSH daemon, etc." msgstr "Firewall, SSH-Daemon etc." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:23159 guix-git/doc/guix.texi:23160 #, no-wrap msgid "Unattended Upgrades" msgstr "Unbeaufsichtigte Aktualisierungen" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Automated system upgrades." msgstr "Automatische Systemaktualisierungen." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:23312 guix-git/doc/guix.texi:23313 #, no-wrap msgid "X Window" msgstr "X Window" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Graphical display." msgstr "Grafische Anzeige." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:23975 guix-git/doc/guix.texi:23976 #, no-wrap msgid "Printing Services" msgstr "Druckdienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Local and remote printer support." msgstr "Unterstützung für lokale und entfernte Drucker." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:24797 guix-git/doc/guix.texi:24798 #, no-wrap msgid "Desktop Services" msgstr "Desktop-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "D-Bus and desktop services." msgstr "D-Bus- und Desktop-Dienste." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:25995 guix-git/doc/guix.texi:25996 #, no-wrap msgid "Sound Services" msgstr "Tondienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "ALSA and Pulseaudio services." msgstr "Dienste für ALSA und Pulseaudio." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:26168 guix-git/doc/guix.texi:26169 #, no-wrap msgid "File Search Services" msgstr "Dateisuch-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Tools to search for files." msgstr "Um nach Dateien suchen zu können." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:26272 guix-git/doc/guix.texi:26273 #, no-wrap msgid "Database Services" msgstr "Datenbankdienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "SQL databases, key-value stores, etc." msgstr "SQL-Datenbanken, Schlüssel-Wert-Speicher etc." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:26639 guix-git/doc/guix.texi:26640 #, no-wrap msgid "Mail Services" msgstr "Mail-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "IMAP, POP3, SMTP, and all that." msgstr "IMAP, POP3, SMTP und so weiter." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:28741 guix-git/doc/guix.texi:28742 #, no-wrap msgid "Messaging Services" msgstr "Kurznachrichtendienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Messaging services." msgstr "Dienste für Kurznachrichten." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:29252 guix-git/doc/guix.texi:29253 #, no-wrap msgid "Telephony Services" msgstr "Telefondienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Telephony services." msgstr "Telefoniedienste." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:29704 guix-git/doc/guix.texi:29705 #, no-wrap msgid "File-Sharing Services" msgstr "Dateientauschdienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "File-sharing services." msgstr "File Sharing." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:30502 guix-git/doc/guix.texi:30503 #, no-wrap msgid "Monitoring Services" msgstr "Systemüberwachungsdienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Monitoring services." msgstr "Dienste zur Systemüberwachung." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:31160 guix-git/doc/guix.texi:31161 #, no-wrap msgid "Kerberos Services" msgstr "Kerberos-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Kerberos services." msgstr "Kerberos-Dienste." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:31286 guix-git/doc/guix.texi:31287 #, no-wrap msgid "LDAP Services" msgstr "LDAP-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "LDAP services." msgstr "LDAP-Dienste." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:31950 guix-git/doc/guix.texi:31951 #, no-wrap msgid "Web Services" msgstr "Web-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Web servers." msgstr "Web-Server." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:33257 guix-git/doc/guix.texi:33258 #, no-wrap msgid "Certificate Services" msgstr "Zertifikatsdienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "TLS certificates via Let's Encrypt." msgstr "TLS-Zertifikate via Let’s Encrypt." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:33437 guix-git/doc/guix.texi:33438 #, no-wrap msgid "DNS Services" msgstr "DNS-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "DNS daemons." msgstr "DNS-Daemons." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34094 guix-git/doc/guix.texi:34095 #, no-wrap msgid "VNC Services" msgstr "VNC-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "VNC daemons." msgstr "VNC-Daemons." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34248 guix-git/doc/guix.texi:34249 #, no-wrap msgid "VPN Services" msgstr "VPN-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "VPN daemons." msgstr "VPN-Daemons." #. type: node #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34618 guix-git/doc/guix.texi:34619 #: guix-git/doc/guix.texi:34814 #, no-wrap msgid "Network File System" msgstr "Network File System" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "NFS related services." msgstr "Dienste mit Bezug zum Netzwerkdateisystem." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34814 guix-git/doc/guix.texi:34815 #, no-wrap msgid "Samba Services" msgstr "Samba-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Samba services." msgstr "Dienste zu Samba." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34814 guix-git/doc/guix.texi:34966 #: guix-git/doc/guix.texi:34967 #, no-wrap msgid "Continuous Integration" msgstr "Kontinuierliche Integration" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Cuirass and Laminar services." msgstr "Cuirass- und Laminar-Dienste." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:35264 guix-git/doc/guix.texi:35265 #, no-wrap msgid "Power Management Services" msgstr "Dienste zur Stromverbrauchsverwaltung" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Extending battery life." msgstr "Den Akku schonen." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:35895 guix-git/doc/guix.texi:35896 #, no-wrap msgid "Audio Services" msgstr "Audio-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "The MPD." msgstr "Der MPD." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:36302 guix-git/doc/guix.texi:36303 #, no-wrap msgid "Virtualization Services" msgstr "Virtualisierungsdienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Virtualization services." msgstr "Dienste für virtuelle Maschinen." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:38205 guix-git/doc/guix.texi:38206 #, no-wrap msgid "Version Control Services" msgstr "Versionskontrolldienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Providing remote access to Git repositories." msgstr "Entfernten Zugang zu Git-Repositorys bieten." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:39562 guix-git/doc/guix.texi:39563 #, no-wrap msgid "Game Services" msgstr "Spieldienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Game servers." msgstr "Spielserver." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:39617 guix-git/doc/guix.texi:39618 #, no-wrap msgid "PAM Mount Service" msgstr "PAM-Einbindedienst" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Service to mount volumes when logging in." msgstr "Dienst, um Datenträger beim Anmelden einzubinden." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:39798 guix-git/doc/guix.texi:39799 #, no-wrap msgid "Guix Services" msgstr "Guix-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Services relating specifically to Guix." msgstr "Dienste, die speziell mit Guix zu tun haben." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:40295 guix-git/doc/guix.texi:40296 #, no-wrap msgid "Linux Services" msgstr "Linux-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Services tied to the Linux kernel." msgstr "Dienste nur für Systeme mit Linux-Kernel." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:40672 guix-git/doc/guix.texi:40673 #, no-wrap msgid "Hurd Services" msgstr "Hurd-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Services specific for a Hurd System." msgstr "Dienste, die nur Hurd-Systeme betreffen." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:40714 guix-git/doc/guix.texi:40715 #, no-wrap msgid "Miscellaneous Services" msgstr "Verschiedene Dienste" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Other services." msgstr "Andere Dienste." #. type: subsection #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 #: guix-git/doc/guix.texi:43991 guix-git/doc/guix.texi:43992 #, no-wrap msgid "Service Composition" msgstr "Dienstkompositionen" #. type: menuentry #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 msgid "The model for composing services." msgstr "Wie Dienste zusammengestellt werden." #. type: subsection #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 #: guix-git/doc/guix.texi:44047 guix-git/doc/guix.texi:44048 #, no-wrap msgid "Service Types and Services" msgstr "Diensttypen und Dienste" #. type: menuentry #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 msgid "Types and services." msgstr "Typen und Dienste." #. type: subsection #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 #: guix-git/doc/guix.texi:44183 guix-git/doc/guix.texi:44184 #, no-wrap msgid "Service Reference" msgstr "Service-Referenz" #. type: menuentry #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 msgid "API reference." msgstr "Referenz zur Programmierschnittstelle." #. type: subsection #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 #: guix-git/doc/guix.texi:44500 guix-git/doc/guix.texi:44501 #, no-wrap msgid "Shepherd Services" msgstr "Shepherd-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 msgid "A particular type of service." msgstr "Eine spezielle Art von Dienst." #. type: subsection #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 #: guix-git/doc/guix.texi:44785 guix-git/doc/guix.texi:44786 #, no-wrap msgid "Complex Configurations" msgstr "Komplizierte Konfigurationen" #. type: menuentry #: guix-git/doc/guix.texi:439 guix-git/doc/guix.texi:43989 msgid "Defining bindings for complex configurations." msgstr "Die Anbindungen für komplizierte Konfigurationen definieren." #. type: section #: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45179 #: guix-git/doc/guix.texi:45181 guix-git/doc/guix.texi:45182 #, no-wrap msgid "Chrooting into an existing system" msgstr "Chroot ins vorliegende System" #. type: section #: guix-git/doc/guix.texi:450 guix-git/doc/guix.texi:45334 #: guix-git/doc/guix.texi:45336 guix-git/doc/guix.texi:45337 #, no-wrap msgid "Declaring the Home Environment" msgstr "Deklaration der Persönlichen Umgebung" #. type: menuentry #: guix-git/doc/guix.texi:450 guix-git/doc/guix.texi:45334 msgid "Customizing your Home." msgstr "Die Persönliche Umgebung einrichten." #. type: section #: guix-git/doc/guix.texi:450 guix-git/doc/guix.texi:45334 #: guix-git/doc/guix.texi:45425 guix-git/doc/guix.texi:45426 #, no-wrap msgid "Configuring the Shell" msgstr "Shell-Konfiguration" #. type: menuentry #: guix-git/doc/guix.texi:450 guix-git/doc/guix.texi:45334 msgid "Enabling home environment." msgstr "Die Persönliche Umgebung aktivieren." #. type: section #: guix-git/doc/guix.texi:450 guix-git/doc/guix.texi:452 #: guix-git/doc/guix.texi:45334 guix-git/doc/guix.texi:45472 #: guix-git/doc/guix.texi:45473 #, no-wrap msgid "Home Services" msgstr "Persönliche Dienste" #. type: menuentry #: guix-git/doc/guix.texi:450 guix-git/doc/guix.texi:45334 msgid "Specifying home services." msgstr "Dienste der Persönlichen Umgebung festlegen." #. type: node #: guix-git/doc/guix.texi:450 guix-git/doc/guix.texi:45334 #: guix-git/doc/guix.texi:47951 #, no-wrap msgid "Invoking guix home" msgstr "Aufruf von guix home" #. type: menuentry #: guix-git/doc/guix.texi:450 guix-git/doc/guix.texi:45334 msgid "Instantiating a home configuration." msgstr "Die Konfiguration einer Persönlichen Umgebung instanziieren." #. type: subsection #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 #: guix-git/doc/guix.texi:45524 guix-git/doc/guix.texi:45525 #, no-wrap msgid "Essential Home Services" msgstr "Essenzielle Persönliche Dienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Environment variables, packages, on-* scripts." msgstr "Umgebungsvariable, Pakete, on-*-Skripte." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Shells: Shells Home Services" msgstr "Shells: Persönliche Shell-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "POSIX shells, Bash, Zsh." msgstr "POSIX-Shells, Bash, Zsh." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Mcron: Mcron Home Service" msgstr "Mcron: Persönlicher Mcron-Dienst" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Scheduled User's Job Execution." msgstr "Geplante Auftragsausführung durch Benutzer." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Power Management: Power Management Home Services" msgstr "Stromverbrauch: Persönliche Dienste zur Stromverbrauchsverwaltung" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Services for battery power." msgstr "Dienste zum Batterieverbrauch." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Shepherd: Shepherd Home Service" msgstr "Shepherd: Persönlicher Shepherd-Dienst" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Managing User's Daemons." msgstr "Des Benutzers Daemons verwalten." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "SSH: Secure Shell" msgstr "SSH: Secure Shell" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Setting up the secure shell client." msgstr "Den Secure-Shell-Client einrichten." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "GPG: GNU Privacy Guard" msgstr "GPG: GNU Privacy Guard" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Setting up GPG and related tools." msgstr "Einrichten von GPG und was dazugehört." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Desktop: Desktop Home Services" msgstr "Desktop: Persönliche Desktop-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Services for graphical environments." msgstr "Dienste für grafische Umgebungen." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Guix: Guix Home Services" msgstr "Guix: Persönliche Guix-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Services for Guix." msgstr "Dienste zu Guix." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Fonts: Fonts Home Services" msgstr "Schriftarten: Persönliche Schriftarten-Dienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Services for managing User's fonts." msgstr "Schriftarten je Benutzer." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Sound: Sound Home Services" msgstr "Audio: Persönliche Tondienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Dealing with audio." msgstr "Ton regeln." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Mail: Mail Home Services" msgstr "Mail: Persönliche Maildienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Services for managing mail." msgstr "Dienste, um E-Mail einzurichten." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Messaging: Messaging Home Services" msgstr "Kurznachrichten: Persönliche Kurznachrichtendienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Services for managing messaging." msgstr "Messaging managen." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Media: Media Home Services" msgstr "Medien: Persönliche Mediendienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Services for managing media." msgstr "Zum Umgang mit Medien." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Sway: Sway window manager" msgstr "Sway: Sway-Fensterverwaltung" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Setting up the Sway configuration." msgstr "Anlegen der Sway-Konfiguration." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Networking: Networking Home Services" msgstr "Netzwerk: Persönliche Netzwerkdienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Networking services." msgstr "Netzwerkdienste." #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "Miscellaneous: Miscellaneous Home Services" msgstr "Verschiedenes: Verschiedene Persönliche Dienste" #. type: menuentry #: guix-git/doc/guix.texi:470 guix-git/doc/guix.texi:45521 msgid "More services." msgstr "Weitere Dienste." #. type: node #: guix-git/doc/guix.texi:475 guix-git/doc/guix.texi:48371 #: guix-git/doc/guix.texi:48373 #, no-wrap msgid "platform Reference" msgstr "„platform“-Referenz" #. type: menuentry #: guix-git/doc/guix.texi:475 guix-git/doc/guix.texi:48371 msgid "Detail of platform declarations." msgstr "Details der Plattform-Deklarationen." #. type: section #: guix-git/doc/guix.texi:475 guix-git/doc/guix.texi:48371 #: guix-git/doc/guix.texi:48420 guix-git/doc/guix.texi:48421 #, no-wrap msgid "Supported Platforms" msgstr "Unterstützte Plattformen" #. type: menuentry #: guix-git/doc/guix.texi:475 guix-git/doc/guix.texi:48371 msgid "Description of the supported platforms." msgstr "Beschreibung der unterstützten Plattformen." #. type: chapter #: guix-git/doc/guix.texi:477 guix-git/doc/guix.texi:48494 #, no-wrap msgid "Creating System Images" msgstr "Systemabbilder erstellen" #. type: node #: guix-git/doc/guix.texi:482 guix-git/doc/guix.texi:48526 #: guix-git/doc/guix.texi:48528 #, no-wrap msgid "image Reference" msgstr "„image“-Referenz" #. type: menuentry #: guix-git/doc/guix.texi:482 guix-git/doc/guix.texi:48526 msgid "Detail of image declarations." msgstr "Details der Abbild-Deklarationen." #. type: section #: guix-git/doc/guix.texi:482 guix-git/doc/guix.texi:48526 #: guix-git/doc/guix.texi:48682 guix-git/doc/guix.texi:48683 #, no-wrap msgid "Instantiate an Image" msgstr "Abbilder instanziieren" #. type: menuentry #: guix-git/doc/guix.texi:482 guix-git/doc/guix.texi:48526 msgid "How to instantiate an image record." msgstr "So legen Sie eine Image-Instanz an." #. type: section #: guix-git/doc/guix.texi:482 guix-git/doc/guix.texi:48526 #: guix-git/doc/guix.texi:48852 guix-git/doc/guix.texi:48853 #, no-wrap msgid "image-type Reference" msgstr "„image-type“-Referenz" #. type: menuentry #: guix-git/doc/guix.texi:482 guix-git/doc/guix.texi:48526 msgid "Detail of image types declaration." msgstr "Details der Abbildtyp-Deklarationen." #. type: section #: guix-git/doc/guix.texi:482 guix-git/doc/guix.texi:48526 #: guix-git/doc/guix.texi:48981 guix-git/doc/guix.texi:48982 #, no-wrap msgid "Image Modules" msgstr "Abbild-Module" #. type: menuentry #: guix-git/doc/guix.texi:482 guix-git/doc/guix.texi:48526 msgid "Definition of image modules." msgstr "Module mit Images definieren." #. type: section #: guix-git/doc/guix.texi:484 guix-git/doc/guix.texi:48529 #, no-wrap msgid "@code{image} Reference" msgstr "@code{image}-Referenz" #. type: node #: guix-git/doc/guix.texi:486 guix-git/doc/guix.texi:48618 #: guix-git/doc/guix.texi:48620 #, no-wrap msgid "partition Reference" msgstr "„partition“-Referenz" #. type: section #: guix-git/doc/guix.texi:491 guix-git/doc/guix.texi:49051 #: guix-git/doc/guix.texi:49053 guix-git/doc/guix.texi:49054 #, no-wrap msgid "Separate Debug Info" msgstr "Fehlersuchinformationen abtrennen" #. type: menuentry #: guix-git/doc/guix.texi:491 guix-git/doc/guix.texi:49051 msgid "Installing 'debug' outputs." msgstr "‚debug‘-Ausgaben installieren." #. type: section #: guix-git/doc/guix.texi:491 guix-git/doc/guix.texi:49051 #: guix-git/doc/guix.texi:49126 guix-git/doc/guix.texi:49127 #, no-wrap msgid "Rebuilding Debug Info" msgstr "Fehlersuchinformationen erneuern" #. type: menuentry #: guix-git/doc/guix.texi:491 guix-git/doc/guix.texi:49051 msgid "Building missing debug info." msgstr "Fehlende Informationen zur Fehlersuche erstellen." #. type: node #: guix-git/doc/guix.texi:496 guix-git/doc/guix.texi:49462 #: guix-git/doc/guix.texi:49464 #, no-wrap msgid "Full-Source Bootstrap" msgstr "Quellcode von Anfang an" #. type: menuentry #: guix-git/doc/guix.texi:496 guix-git/doc/guix.texi:49462 msgid "A Bootstrap worthy of GNU." msgstr "Ein Bootstrapping, wie GNU es verdient." # Commas in node names would prevent the terminal info viewer from following links. #. type: section #: guix-git/doc/guix.texi:496 guix-git/doc/guix.texi:49462 #: guix-git/doc/guix.texi:49551 guix-git/doc/guix.texi:49552 #, no-wrap msgid "Preparing to Use the Bootstrap Binaries" msgstr "Vorbereitung zur Verwendung der Bootstrap-Binärdateien" #. type: menuentry #: guix-git/doc/guix.texi:496 guix-git/doc/guix.texi:49462 msgid "Building that what matters most." msgstr "Das Allerwichtigste erstellen." #. type: cindex #: guix-git/doc/guix.texi:504 #, no-wrap msgid "purpose" msgstr "Zweck" #. type: Plain text #: guix-git/doc/guix.texi:512 msgid "GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using the international phonetic alphabet (IPA).} is a package management tool for and distribution of the GNU system. Guix makes it easy for unprivileged users to install, upgrade, or remove software packages, to roll back to a previous package set, to build packages from source, and generally assists with the creation and maintenance of software environments." msgstr "GNU Guix@footnote{„Guix“ wird wie „geeks“ ausgesprochen, also als „ɡiːks“ in der Notation des Internationalen Phonetischen Alphabets (IPA).} ist ein Werkzeug zur Verwaltung von Softwarepaketen für das GNU-System und eine Distribution (eine „Verteilung“) desselbigen GNU-Systems. Guix macht es @emph{nicht} mit besonderen Berechtigungen ausgestatteten, „unprivilegierten“ Nutzern leicht, Softwarepakete zu installieren, zu aktualisieren oder zu entfernen, zu einem vorherigen Satz von Paketen zurückzuwechseln, Pakete aus ihrem Quellcode heraus zu erstellen und hilft allgemein bei der Erzeugung und Wartung von Software-Umgebungen." #. type: cindex #: guix-git/doc/guix.texi:513 guix-git/doc/guix.texi:588 #: guix-git/doc/guix.texi:703 #, no-wrap msgid "Guix System" msgstr "Guix System" #. type: cindex #: guix-git/doc/guix.texi:514 #, no-wrap msgid "GuixSD, now Guix System" msgstr "GuixSD, was jetzt Guix System heißt" #. type: cindex #: guix-git/doc/guix.texi:515 #, no-wrap msgid "Guix System Distribution, now Guix System" msgstr "Guix System Distribution, welche jetzt Guix System heißt" #. type: Plain text #: guix-git/doc/guix.texi:524 msgid "You can install GNU@tie{}Guix on top of an existing GNU/Linux system where it complements the available tools without interference (@pxref{Installation}), or you can use it as a standalone operating system distribution, @dfn{Guix@tie{}System}@footnote{We used to refer to Guix System as ``Guix System Distribution'' or ``GuixSD''. We now consider it makes more sense to group everything under the ``Guix'' banner since, after all, Guix System is readily available through the @command{guix system} command, even if you're using a different distro underneath!}. @xref{GNU Distribution}." msgstr "Sie können GNU@tie{}Guix auf ein bestehendes GNU/Linux-System aufsetzen, wo es die bereits verfügbaren Werkzeuge ergänzt, ohne zu stören (siehe @ref{Installation}), oder Sie können es als eine eigenständige Betriebssystem-Distribution namens @dfn{Guix@tie{}System} verwenden@footnote{Der Name @dfn{Guix@tie{}System} wird auf englische Weise ausgesprochen. Früher hatten wir „Guix System“ als „Guix System Distribution“ bezeichnet und mit „GuixSD“ abgekürzt. Wir denken mittlerweile aber, dass es sinnvoller ist, alles unter der Fahne von Guix zu gruppieren, weil schließlich „Guix System“ auch über den Befehl @command{guix system} verfügbar ist, selbst wenn Sie Guix auf einer fremden Distribution benutzen!}. Siehe @ref{GNU Distribution}." #. type: cindex #: guix-git/doc/guix.texi:533 #, no-wrap msgid "user interfaces" msgstr "Benutzeroberflächen" #. type: Plain text #: guix-git/doc/guix.texi:539 msgid "Guix provides a command-line package management interface (@pxref{Package Management}), tools to help with software development (@pxref{Development}), command-line utilities for more advanced usage (@pxref{Utilities}), as well as Scheme programming interfaces (@pxref{Programming Interface})." msgstr "Guix bietet eine befehlszeilenbasierte Paketverwaltungsschnittstelle (siehe @ref{Invoking guix package}), Werkzeuge als Hilfestellung bei der Software-Entwicklung (siehe @ref{Development}), Befehlszeilenwerkzeuge für fortgeschrittenere Nutzung (siehe @ref{Utilities}) sowie Schnittstellen zur Programmierung in Scheme (siehe @ref{Programming Interface})." #. type: cindex #: guix-git/doc/guix.texi:539 #, no-wrap msgid "build daemon" msgstr "Erstellungs-Daemon" #. type: Plain text #: guix-git/doc/guix.texi:543 msgid "Its @dfn{build daemon} is responsible for building packages on behalf of users (@pxref{Setting Up the Daemon}) and for downloading pre-built binaries from authorized sources (@pxref{Substitutes})." msgstr "Der @dfn{Erstellungs-Daemon} ist für das Erstellen von Paketen im Auftrag von Nutzern verantwortlich (siehe @ref{Setting Up the Daemon}) und für das Herunterladen vorerstellter Binärdateien aus autorisierten Quellen (siehe @ref{Substitutes})." #. type: cindex #: guix-git/doc/guix.texi:544 #, no-wrap msgid "extensibility of the distribution" msgstr "Erweiterbarkeit der Distribution" #. type: cindex #: guix-git/doc/guix.texi:545 guix-git/doc/guix.texi:7572 #, no-wrap msgid "customization, of packages" msgstr "Anpassung, von Paketen" #. type: Plain text #: guix-git/doc/guix.texi:554 msgid "Guix includes package definitions for many GNU and non-GNU packages, all of which @uref{https://www.gnu.org/philosophy/free-sw.html, respect the user's computing freedom}. It is @emph{extensible}: users can write their own package definitions (@pxref{Defining Packages}) and make them available as independent package modules (@pxref{Package Modules}). It is also @emph{customizable}: users can @emph{derive} specialized package definitions from existing ones, including from the command line (@pxref{Package Transformation Options})." msgstr "Guix enthält Paketdefinitionen für viele Pakete, manche aus GNU und andere nicht aus GNU, die alle @uref{https://www.gnu.org/philosophy/free-sw.html, die Freiheit des Computernutzers respektieren}. Es ist @emph{erweiterbar}: Nutzer können ihre eigenen Paketdefinitionen schreiben (siehe @ref{Defining Packages}) und sie als unabhängige Paketmodule verfügbar machen (siehe @ref{Package Modules}). Es ist auch @emph{anpassbar}: Nutzer können spezialisierte Paketdefinitionen aus bestehenden @emph{ableiten}, auch von der Befehlszeile (siehe @ref{Package Transformation Options})." #. type: cindex #: guix-git/doc/guix.texi:555 #, no-wrap msgid "functional package management" msgstr "funktionale Paketverwaltung" #. type: cindex #: guix-git/doc/guix.texi:556 #, no-wrap msgid "isolation" msgstr "Isolierung" #. type: Plain text #: guix-git/doc/guix.texi:571 msgid "Under the hood, Guix implements the @dfn{functional package management} discipline pioneered by Nix (@pxref{Acknowledgments}). In Guix, the package build and installation process is seen as a @emph{function}, in the mathematical sense. That function takes inputs, such as build scripts, a compiler, and libraries, and returns an installed package. As a pure function, its result depends solely on its inputs---for instance, it cannot refer to software or scripts that were not explicitly passed as inputs. A build function always produces the same result when passed a given set of inputs. It cannot alter the environment of the running system in any way; for instance, it cannot create, modify, or delete files outside of its build and installation directories. This is achieved by running build processes in isolated environments (or @dfn{containers}), where only their explicit inputs are visible." msgstr "Intern implementiert Guix die Disziplin der @dfn{funktionalen Paketverwaltung}, zu der Nix schon die Pionierarbeit geleistet hat (siehe @ref{Acknowledgments}). In Guix wird der Prozess, ein Paket zu erstellen und zu installieren, als eine @emph{Funktion} im mathematischen Sinn aufgefasst. Diese Funktion hat Eingaben, wie zum Beispiel Erstellungs-Skripts, einen Compiler und Bibliotheken, und liefert ein installiertes Paket. Als eine reine Funktion hängt sein Ergebnis allein von seinen Eingaben ab@tie{}– zum Beispiel kann er nicht auf Software oder Skripts Bezug nehmen, die nicht ausdrücklich als Eingaben übergeben wurden. Eine Erstellungsfunktion führt immer zum selben Ergebnis, wenn ihr die gleiche Menge an Eingaben übergeben wurde. Sie kann die Umgebung des laufenden Systems auf keine Weise beeinflussen, zum Beispiel kann sie keine Dateien außerhalb ihrer Erstellungs- und Installationsverzeichnisse verändern. Um dies zu erreichen, laufen Erstellungsprozesse in isolierten Umgebungen (sogenannte @dfn{Container}), wo nur ausdrückliche Eingaben sichtbar sind." #. type: cindex #: guix-git/doc/guix.texi:572 guix-git/doc/guix.texi:4165 #: guix-git/doc/guix.texi:11267 #, no-wrap msgid "store" msgstr "store" #. type: Plain text #: guix-git/doc/guix.texi:579 msgid "The result of package build functions is @dfn{cached} in the file system, in a special directory called @dfn{the store} (@pxref{The Store}). Each package is installed in a directory of its own in the store---by default under @file{/gnu/store}. The directory name contains a hash of all the inputs used to build that package; thus, changing an input yields a different directory name." msgstr "Das Ergebnis von Paketerstellungsfunktionen wird im Dateisystem @dfn{zwischengespeichert} in einem besonderen Verzeichnis, was als @dfn{der Store} bezeichnet wird (siehe @ref{The Store}). Jedes Paket wird in sein eigenes Verzeichnis im Store installiert@tie{}– standardmäßig ist er unter @file{/gnu/store} zu finden. Der Verzeichnisname enthält einen Hash aller Eingaben, anhand derer das Paket erzeugt wurde, somit hat das Ändern einer Eingabe einen völlig anderen Verzeichnisnamen zur Folge." #. type: Plain text #: guix-git/doc/guix.texi:583 msgid "This approach is the foundation for the salient features of Guix: support for transactional package upgrade and rollback, per-user installation, and garbage collection of packages (@pxref{Features})." msgstr "Dieses Vorgehen ist die Grundlage für die Guix auszeichnenden Funktionalitäten: Unterstützung transaktionsbasierter Paketaktualisierungen und -rücksetzungen, Installation von Paketen für jeden Nutzer sowie Garbage Collection für Pakete (siehe @ref{Features})." #. type: Plain text #: guix-git/doc/guix.texi:598 msgid "Guix comes with a distribution of the GNU system consisting entirely of free software@footnote{The term ``free'' here refers to the @url{https://www.gnu.org/philosophy/free-sw.html,freedom provided to users of that software}.}. The distribution can be installed on its own (@pxref{System Installation}), but it is also possible to install Guix as a package manager on top of an installed GNU/Linux system (@pxref{Installation}). When we need to distinguish between the two, we refer to the standalone distribution as Guix@tie{}System." msgstr "Mit Guix kommt eine Distribution des GNU-Systems, die nur aus freier Software@footnote{Die Bezeichnung „frei“ steht hier für die @url{https://www.gnu.org/philosophy/free-sw.html,Freiheiten@comma{} die Nutzern der Software geboten werden}.} besteht. Die Distribution kann für sich allein installiert werden (siehe @ref{System Installation}), aber Guix kann auch auf einem bestehenden GNU/Linux-System installiert werden. Wenn wir die Anwendungsfälle unterscheiden möchten, bezeichnen wir die alleinstehende Distribution als „Guix@tie{}System“ (mit englischer Aussprache)." #. type: Plain text #: guix-git/doc/guix.texi:604 msgid "The distribution provides core GNU packages such as GNU libc, GCC, and Binutils, as well as many GNU and non-GNU applications. The complete list of available packages can be browsed @url{https://www.gnu.org/software/guix/packages,on-line} or by running @command{guix package} (@pxref{Invoking guix package}):" msgstr "Die Distribution stellt den Kern der GNU-Pakete, also insbesondere GNU libc, GCC und Binutils, sowie zahlreiche zum GNU-Projekt gehörende und nicht dazu gehörende Anwendungen zur Verfügung. Die vollständige Liste verfügbarer Pakete können Sie @url{https://www.gnu.org/software/guix/packages,online} einsehen, oder indem Sie @command{guix package} ausführen (siehe @ref{Invoking guix package}):" #. type: example #: guix-git/doc/guix.texi:607 #, no-wrap msgid "guix package --list-available\n" msgstr "guix package --list-available\n" #. type: Plain text #: guix-git/doc/guix.texi:613 msgid "Our goal is to provide a practical 100% free software distribution of Linux-based and other variants of GNU, with a focus on the promotion and tight integration of GNU components, and an emphasis on programs and tools that help users exert that freedom." msgstr "Unser Ziel ist, eine zu 100% freie Software-Distribution von Linux-basierten und von anderen GNU-Varianten anzubieten, mit dem Fokus darauf, das GNU-Projekt und die enge Zusammenarbeit seiner Bestandteile zu befördern, sowie die Programme und Werkzeuge hervorzuheben, die die Nutzer dabei unterstützen, von dieser Freiheit Gebrauch zu machen." #. type: Plain text #: guix-git/doc/guix.texi:615 msgid "Packages are currently available on the following platforms:" msgstr "Pakete sind zurzeit auf folgenden Plattformen verfügbar:" #. type: defvar #: guix-git/doc/guix.texi:618 guix-git/doc/guix.texi:2070 #: guix-git/doc/guix.texi:48454 #, no-wrap msgid "x86_64-linux" msgstr "x86_64-linux" #. type: table #: guix-git/doc/guix.texi:620 msgid "Intel/AMD @code{x86_64} architecture, Linux-Libre kernel." msgstr "Intel/AMD-@code{x86_64}-Architektur, Linux-Libre als Kernel." #. type: defvar #: guix-git/doc/guix.texi:621 guix-git/doc/guix.texi:2073 #: guix-git/doc/guix.texi:48450 #, no-wrap msgid "i686-linux" msgstr "i686-linux" #. type: table #: guix-git/doc/guix.texi:623 msgid "Intel 32-bit architecture (IA32), Linux-Libre kernel." msgstr "Intel-32-Bit-Architektur (IA-32), Linux-Libre als Kernel." #. type: item #: guix-git/doc/guix.texi:624 #, no-wrap msgid "armhf-linux" msgstr "armhf-linux" #. type: table #: guix-git/doc/guix.texi:628 msgid "ARMv7-A architecture with hard float, Thumb-2 and NEON, using the EABI hard-float application binary interface (ABI), and Linux-Libre kernel." msgstr "ARMv7-A-Architektur mit „hard float“, Thumb-2 und NEON, für die EABI „hard-float application binary interface“, mit Linux-Libre als Kernel." #. type: defvar #: guix-git/doc/guix.texi:629 guix-git/doc/guix.texi:48430 #, no-wrap msgid "aarch64-linux" msgstr "aarch64-linux" #. type: table #: guix-git/doc/guix.texi:631 msgid "little-endian 64-bit ARMv8-A processors, Linux-Libre kernel." msgstr "64-Bit-ARMv8-A-Prozessoren, little-endian, mit Linux-Libre als Kernel." #. type: defvar #: guix-git/doc/guix.texi:632 guix-git/doc/guix.texi:48473 #, no-wrap msgid "i586-gnu" msgstr "i586-gnu" #. type: table #: guix-git/doc/guix.texi:635 msgid "@uref{https://hurd.gnu.org, GNU/Hurd} on the Intel 32-bit architecture (IA32)." msgstr "@uref{https://hurd.gnu.org, GNU/Hurd} auf der Intel-32-Bit-Architektur (IA32)." #. type: table #: guix-git/doc/guix.texi:641 msgid "This configuration is experimental and under development. The easiest way for you to give it a try is by setting up an instance of @code{hurd-vm-service-type} on your GNU/Linux machine (@pxref{transparent-emulation-qemu, @code{hurd-vm-service-type}}). @xref{Contributing}, on how to help!" msgstr "Diese Konfiguration ist experimentell und befindet sich noch in der Entwicklung. Wenn Sie sie ausprobieren möchten, ist es am einfachsten, eine Instanz des Diensttyps @code{hurd-vm-service-type} auf Ihrer GNU/Linux-Maschine einzurichten (siehe @ref{transparent-emulation-qemu, @code{hurd-vm-service-type}}). Siehe auch @ref{Contributing} für Informationen, wie Sie helfen können!" #. type: item #: guix-git/doc/guix.texi:642 #, no-wrap msgid "mips64el-linux (unsupported)" msgstr "mips64el-linux (eingeschränkte Unterstützung)" #. type: table #: guix-git/doc/guix.texi:648 msgid "little-endian 64-bit MIPS processors, specifically the Loongson series, n32 ABI, and Linux-Libre kernel. This configuration is no longer fully supported; in particular, there is no ongoing work to ensure that this architecture still works. Should someone decide they wish to revive this architecture then the code is still available." msgstr "64-Bit-MIPS-Prozessoren, little-endian, speziell die Loongson-Reihe, n32-ABI, mit Linux-Libre als Kernel. Diese Konfiguration wird nicht länger in vollem Umfang unterstützt; insbesondere gibt es @emph{keine} laufenden Bemühungen, die Funktionsfähigkeit dieser Architektur sicherzustellen. Wenn sich jemand findet, der diese Architektur wiederbeleben will, dann ist der Code dafür noch verfügbar." #. type: item #: guix-git/doc/guix.texi:649 #, no-wrap msgid "powerpc-linux (unsupported)" msgstr "powerpc-linux (eingeschränkte Unterstützung)" #. type: table #: guix-git/doc/guix.texi:654 msgid "big-endian 32-bit PowerPC processors, specifically the PowerPC G4 with AltiVec support, and Linux-Libre kernel. This configuration is not fully supported and there is no ongoing work to ensure this architecture works." msgstr "32-Bit-PowerPC-Prozessoren, big-endian, speziell der PowerPC G4 mit AltiVec, mit Linux-Libre als Kernel. Diese Konfiguration wird @emph{nicht} in vollem Umfang unterstützt und es gibt @emph{keine} laufenden Bemühungen, die Funktionsfähigkeit dieser Architektur sicherzustellen." #. type: table #: guix-git/doc/guix.texi:665 msgid "little-endian 64-bit Power ISA processors, Linux-Libre kernel. This includes POWER9 systems such as the @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, RYF Talos II mainboard}. This platform is available as a \"technology preview\": although it is supported, substitutes are not yet available from the build farm (@pxref{Substitutes}), and some packages may fail to build (@pxref{Tracking Bugs and Changes}). That said, the Guix community is actively working on improving this support, and now is a great time to try it and get involved!" msgstr "64-Bit-Prozessoren mit Power-Befehlssatz, little-endian, mit Linux-Libre als Kernel. Dazu gehören POWER9-Systeme wie die @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, RYF-zertifizierte Talos-II-Hauptplatine}. Bei der Plattform handelt es sich um eine „Technologievorschau“; obwohl sie unterstützt wird, gibt es noch keine Substitute von der Erstellungsfarm (siehe @ref{Substitutes}) und bei manchen Paketen könnte die Erstellung fehlschlagen (siehe @ref{Tracking Bugs and Changes}). Dennoch arbeitet die Guix-Gemeinde aktiv daran, diese Unterstützung auszubauen, und jetzt ist eine gute Gelegenheit, sie auszuprobieren und mitzumachen!" #. type: defvar #: guix-git/doc/guix.texi:666 guix-git/doc/guix.texi:48446 #, no-wrap msgid "riscv64-linux" msgstr "riscv64-linux" #. type: table #: guix-git/doc/guix.texi:674 msgid "little-endian 64-bit RISC-V processors, specifically RV64GC, and Linux-Libre kernel. This platform is available as a \"technology preview\": although it is supported, substitutes are not yet available from the build farm (@pxref{Substitutes}), and some packages may fail to build (@pxref{Tracking Bugs and Changes}). That said, the Guix community is actively working on improving this support, and now is a great time to try it and get involved!" msgstr "64-Bit-Prozessoren mit RISC-V-Befehlssatz, little-endian, speziell der RV64GC, mit Linux-Libre als Kernel. Bei der Plattform handelt es sich um eine „Technologievorschau“; obwohl sie unterstützt wird, gibt es noch keine Substitute von der Erstellungsfarm (siehe @ref{Substitutes}) und bei manchen Paketen könnte die Erstellung fehlschlagen (siehe @ref{Tracking Bugs and Changes}). Dennoch arbeitet die Guix-Gemeinde aktiv daran, diese Unterstützung auszubauen, und jetzt ist eine gute Gelegenheit, sie auszuprobieren und mitzumachen!" #. type: Plain text #: guix-git/doc/guix.texi:684 msgid "With Guix@tie{}System, you @emph{declare} all aspects of the operating system configuration and Guix takes care of instantiating the configuration in a transactional, reproducible, and stateless fashion (@pxref{System Configuration}). Guix System uses the Linux-libre kernel, the Shepherd initialization system (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual}), the well-known GNU utilities and tool chain, as well as the graphical environment or system services of your choice." msgstr "Mit Guix@tie{}System @emph{deklarieren} Sie alle Aspekte der Betriebssystemkonfiguration und Guix kümmert sich darum, die Konfiguration auf transaktionsbasierte, reproduzierbare und zustandslose Weise zu instanziieren (siehe @ref{System Configuration}). Guix System benutzt den Kernel Linux-libre, das Shepherd-Initialisierungssystem (siehe @ref{Introduction,,, shepherd, The GNU Shepherd Manual}), die wohlbekannten GNU-Werkzeuge mit der zugehörigen Werkzeugkette sowie die grafische Umgebung und Systemdienste Ihrer Wahl." #. type: Plain text #: guix-git/doc/guix.texi:688 msgid "Guix System is available on all the above platforms except @code{mips64el-linux}, @code{powerpc-linux}, @code{powerpc64le-linux} and @code{riscv64-linux}." msgstr "Guix System ist auf allen oben genannten Plattformen außer @code{mips64el-linux}, @code{powerpc-linux}, @code{powerpc64le-linux} und @code{riscv64-linux} verfügbar." #. type: Plain text #: guix-git/doc/guix.texi:692 msgid "For information on porting to other architectures or kernels, @pxref{Porting}." msgstr "Informationen, wie auf andere Architekturen oder Kernels portiert werden kann, finden Sie im Abschnitt @ref{Porting}." #. type: Plain text #: guix-git/doc/guix.texi:695 msgid "Building this distribution is a cooperative effort, and you are invited to join! @xref{Contributing}, for information about how you can help." msgstr "Diese Distribution aufzubauen basiert auf Kooperation, und Sie sind herzlich eingeladen, dabei mitzumachen! Im Abschnitt @ref{Contributing} stehen weitere Informationen, wie Sie uns helfen können." #. type: cindex #: guix-git/doc/guix.texi:701 #, no-wrap msgid "installing Guix" msgstr "Guix installieren" #. type: cindex #: guix-git/doc/guix.texi:702 guix-git/doc/guix.texi:1707 #, no-wrap msgid "foreign distro" msgstr "Fremddistribution" #. type: Plain text #: guix-git/doc/guix.texi:710 msgid "You can install the package management tool Guix on top of an existing GNU/Linux or GNU/Hurd system@footnote{Hurd support is currently limited.}, referred to as a @dfn{foreign distro}. If, instead, you want to install the complete, standalone GNU system distribution, @dfn{Guix@tie{}System}, @pxref{System Installation}. This section is concerned only with the installation of Guix on a foreign distro." msgstr "Sie können das Paketverwaltungswerkzeug Guix auf einem bestehenden GNU/Linux- oder GNU/Hurd-System installieren@footnote{Die Hurd-Unterstützung ist bislang nur eingeschränkt.}, welche wir als eine @dfn{Fremddistribution} bezeichnen. Wenn Sie stattdessen die vollständige, eigenständige GNU-Systemdistribution namens @dfn{Guix@tie{}System} installieren möchten, siehe @ref{System Installation}. In diesem Abschnitt behandeln wir nur die Installation von Guix auf einer Fremddistribution." #. type: quotation #: guix-git/doc/guix.texi:714 guix-git/doc/guix.texi:746 msgid "This section only applies to systems without Guix. Following it for existing Guix installations will overwrite important system files." msgstr "Dieser Abschnitt gilt nur für Systeme ohne Guix. Wenn Sie eine bestehende Guix-Installation haben, würden wichtige Systemdateien überschrieben, wenn Sie der Anleitung folgten." #. type: cindex #: guix-git/doc/guix.texi:716 #, no-wrap msgid "directories related to foreign distro" msgstr "Verzeichnisse auf einer Fremddistribution" #. type: Plain text #: guix-git/doc/guix.texi:721 msgid "When installed on a foreign distro, GNU@tie{}Guix complements the available tools without interference. Its data lives exclusively in two directories, usually @file{/gnu/store} and @file{/var/guix}; other files on your system, such as @file{/etc}, are left untouched." msgstr "Wenn es auf einer Fremddistribution installiert wird, ergänzt GNU@tie{}Guix die verfügbaren Werkzeuge, ohne dass sie sich gegenseitig stören. Guix’ Daten befinden sich ausschließlich in zwei Verzeichnissen, üblicherweise @file{/gnu/store} und @file{/var/guix}; andere Dateien auf Ihrem System wie @file{/etc} bleiben unberührt." #. type: Plain text #: guix-git/doc/guix.texi:724 msgid "Once installed, Guix can be updated by running @command{guix pull} (@pxref{Invoking guix pull})." msgstr "Sobald es installiert ist, kann Guix durch Ausführen von @command{guix pull} aktualisiert werden (siehe @ref{Invoking guix pull})." #. type: cindex #: guix-git/doc/guix.texi:736 #, no-wrap msgid "installing Guix from binaries" msgstr "Guix aus Binärdateien installieren" #. type: cindex #: guix-git/doc/guix.texi:737 #, no-wrap msgid "installer script" msgstr "Installations-Skript" #. type: Plain text #: guix-git/doc/guix.texi:742 msgid "This section describes how to install Guix from a self-contained tarball providing binaries for Guix and for all its dependencies. This is often quicker than installing from source, described later (@pxref{Building from Git})." msgstr "Dieser Abschnitt beschreibt, wie Sie Guix aus einem alle Komponenten umfassenden Tarball installieren, der Binärdateien für Guix und all seine Abhängigkeiten liefert. Dies geht in der Regel schneller, als Guix aus seinen Quelldateien zu installieren, was später beschrieben wird." #. type: Plain text #: guix-git/doc/guix.texi:752 msgid "Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE provide Guix through their own package managers. The version of Guix may be older than @value{VERSION} but you can update it afterwards by running @samp{guix pull}." msgstr "Auf einigen GNU/Linux-Distributionen, wie Debian, Ubuntu und openSUSE, wird Guix über deren Paketverwaltung angeboten. Vielleicht bringen sie eine ältere Version als @value{VERSION} mit, aber Sie können Guix anschließend über den Befehl @samp{guix pull} aktualisieren." #. type: Plain text #: guix-git/doc/guix.texi:757 msgid "We advise system administrators who install Guix, both from the installation script or @i{via} the native package manager of their foreign distribution, to also regularly read and follow security notices, as shown by @command{guix pull}." msgstr "Wir empfehlen Systemadministratoren, die Guix installieren, egal ob über das Installations-Skript oder über die Paketverwaltung ihrer Fremddistribution, regelmäßig die Sicherheitshinweise zu lesen und zu befolgen, die @command{guix pull} anzeigt." #. type: Plain text #: guix-git/doc/guix.texi:759 msgid "For Debian or derivatives such as Ubuntu or Trisquel, call:" msgstr "Wenn Sie Debian oder ein Debian-Derivat wie Ubuntu oder Trisquel verwenden, rufen Sie auf:" #. type: example #: guix-git/doc/guix.texi:762 #, no-wrap msgid "sudo apt install guix\n" msgstr "sudo apt install guix\n" #. type: Plain text #: guix-git/doc/guix.texi:765 msgid "Likewise, on openSUSE:" msgstr "Das Gleiche gilt auf openSUSE:" #. type: example #: guix-git/doc/guix.texi:768 #, no-wrap msgid "sudo zypper install guix\n" msgstr "sudo zypper install guix\n" #. type: Plain text #: guix-git/doc/guix.texi:772 msgid "If you are running Parabola, after enabling the pcr (Parabola Community Repo) repository, you can install Guix with:" msgstr "Wenn bei Ihnen Parabola läuft, können Sie, nachdem Sie das Repository pcr (Parabola Community Repo) aktiviert haben, mit diesem Befehl Guix installieren:" #. type: example #: guix-git/doc/guix.texi:774 #, no-wrap msgid "sudo pacman -S guix\n" msgstr "sudo pacman -S guix\n" #. type: Plain text #: guix-git/doc/guix.texi:782 msgid "The Guix project also provides a shell script, @file{guix-install.sh}, which automates the binary installation process without use of a foreign distro package manager@footnote{@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh}}. Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget, and Xz." msgstr "Das Guix-Projekt stellt außerdem ein Shell-Skript bereit, @file{guix-install.sh}, mit dem der Installationsvorgang aus Binärdateien ohne ein Paketverwaltungsprogramm der Fremddistribution automatisiert wird@footnote{@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh}}. Um @file{guix-install.sh} benutzen zu können, werden Bash, GnuPG, GNU@tie{}tar, wget und Xz vorausgesetzt." #. type: Plain text #: guix-git/doc/guix.texi:784 msgid "The script guides you through the following:" msgstr "Das Skript führt Sie durch Folgendes:" #. type: item #: guix-git/doc/guix.texi:786 #, no-wrap msgid "Downloading and extracting the binary tarball" msgstr "Herunterladen und Entpacken des Tarballs mit Binärdateien" #. type: item #: guix-git/doc/guix.texi:787 #, no-wrap msgid "Setting up the build daemon" msgstr "Einrichten des Erstellungs-Daemons" #. type: item #: guix-git/doc/guix.texi:788 #, no-wrap msgid "Making the ‘guix’ command available to non-root users" msgstr "Bereitstellen des Befehls ‚guix‘ an Benutzer außer root" #. type: item #: guix-git/doc/guix.texi:789 #, no-wrap msgid "Configuring substitute servers" msgstr "Substitut-Server einrichten" #. type: Plain text #: guix-git/doc/guix.texi:793 msgid "As root, run:" msgstr "Führen Sie als Administratornutzer „root“ aus:" #. type: example #: guix-git/doc/guix.texi:799 #, no-wrap msgid "" "# cd /tmp\n" "# wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh\n" "# chmod +x guix-install.sh\n" "# ./guix-install.sh\n" msgstr "" "# cd /tmp\n" "# wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh\n" "# chmod +x guix-install.sh\n" "# ./guix-install.sh\n" #. type: Plain text #: guix-git/doc/guix.texi:803 msgid "The script to install Guix is also packaged in Parabola (in the pcr repository). You can install and run it with:" msgstr "Das Skript, um Guix zu installieren, können Sie auf Parabola auch als Paket bekommen (im Repository pcr). So können Sie es installieren und ausführen:" #. type: example #: guix-git/doc/guix.texi:806 #, no-wrap msgid "" "sudo pacman -S guix-installer\n" "sudo guix-install.sh\n" msgstr "" "sudo pacman -S guix-installer\n" "sudo guix-install.sh\n" #. type: quotation #: guix-git/doc/guix.texi:816 msgid "By default, @file{guix-install.sh} will configure Guix to download pre-built package binaries, called @dfn{substitutes} (@pxref{Substitutes}), from the project's build farms. If you choose not to permit this, Guix will build @emph{everything} from source, making each installation and upgrade very expensive. @xref{On Trusting Binaries} for a discussion of why you may want to build packages from source." msgstr "Nach Voreinstellung richtet @file{guix-install.sh} Guix so ein, dass vorerstellte Binärdateien, die wir als @dfn{Substitute} bezeichnen, von den Erstellungsfarmen des Projekts heruntergeladen werden (siehe @ref{Substitutes}). Wenn Sie keine Zustimmung zu Substituten geben, muss Guix @emph{alles} auf Ihrem Rechner aus dem Quellcode heraus erstellen, wodurch jede Installation und jede Aktualisierung sehr aufwendig wird. Siehe @ref{On Trusting Binaries} für eine Erörterung, aus welchen Gründen man Pakete aus dem Quellcode heraus erstellen wollen könnte." #. type: cindex #: guix-git/doc/guix.texi:817 guix-git/doc/guix.texi:3678 #: guix-git/doc/guix.texi:19753 #, no-wrap msgid "substitutes, authorization thereof" msgstr "Substitute, deren Autorisierung" #. type: quotation #: guix-git/doc/guix.texi:821 msgid "To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}}, @code{@value{SUBSTITUTE-SERVER-2}} or a mirror, you must authorize them. For example," msgstr "Um Substitute von @code{@value{SUBSTITUTE-SERVER-1}}, @code{@value{SUBSTITUTE-SERVER-2}} oder einem Spiegelserver davon zu benutzen (siehe @ref{Substitutes}), müssen Sie sie erst autorisieren. Zum Beispiel:" #. type: example #: guix-git/doc/guix.texi:827 #, no-wrap msgid "" "# guix archive --authorize < \\\n" " ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub\n" "# guix archive --authorize < \\\n" " ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub\n" msgstr "" "# guix archive --authorize < \\\n" " ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub\n" "# guix archive --authorize < \\\n" " ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub\n" #. type: Plain text #: guix-git/doc/guix.texi:833 msgid "When you're done installing Guix, @pxref{Application Setup} for extra configuration you might need, and @ref{Getting Started} for your first steps!" msgstr "Wenn Sie die Installation von Guix erledigt haben, werfen Sie einen Blick auf @ref{Application Setup} für weitere Einstellungen, die Sie vielleicht vornehmen möchten, und lesen Sie die ersten Schritte im @ref{Getting Started}, um loszulegen!" #. type: quotation #: guix-git/doc/guix.texi:837 msgid "The binary installation tarball can be (re)produced and verified simply by running the following command in the Guix source tree:" msgstr "Der Tarball zur Installation aus einer Binärdatei kann einfach durch Ausführung des folgenden Befehls im Guix-Quellbaum (re-)produziert und verifiziert werden:" #. type: example #: guix-git/doc/guix.texi:840 #, no-wrap msgid "make guix-binary.@var{system}.tar.xz\n" msgstr "make guix-binary.@var{System}.tar.xz\n" #. type: quotation #: guix-git/doc/guix.texi:844 msgid "...@: which, in turn, runs:" msgstr "…@: was wiederum dies ausführt:" #. type: example #: guix-git/doc/guix.texi:848 #, no-wrap msgid "" "guix pack -s @var{system} --localstatedir \\\n" " --profile-name=current-guix guix\n" msgstr "" "guix pack -s @var{System} --localstatedir \\\n" " --profile-name=current-guix guix\n" #. type: quotation #: guix-git/doc/guix.texi:851 msgid "@xref{Invoking guix pack}, for more info on this handy tool." msgstr "Siehe @ref{Invoking guix pack} für weitere Informationen zu diesem praktischen Werkzeug." #. type: cindex #: guix-git/doc/guix.texi:853 #, no-wrap msgid "uninstalling Guix" msgstr "Guix deinstallieren" #. type: cindex #: guix-git/doc/guix.texi:854 #, no-wrap msgid "uninstallation, of Guix" msgstr "Deinstallieren, von Guix" #. type: Plain text #: guix-git/doc/guix.texi:857 msgid "Should you eventually want to uninstall Guix, run the same script with the @option{--uninstall} flag:" msgstr "Falls Sie Guix irgendwann deinstallieren möchten, führen Sie dasselbe Skript mit der Befehlszeilenoption @option{--uninstall} aus:" #. type: example #: guix-git/doc/guix.texi:860 #, no-wrap msgid "./guix-install.sh --uninstall\n" msgstr "./guix-install.sh --uninstall\n" #. type: Plain text #: guix-git/doc/guix.texi:864 msgid "With @option{--uninstall}, the script irreversibly deletes all the Guix files, configuration, and services." msgstr "Durch @option{--uninstall} wird das Skript alle Dateien, Konfigurationen und Dienste von Guix unwiederbringlich löschen." #. type: cindex #: guix-git/doc/guix.texi:868 #, no-wrap msgid "daemon" msgstr "Daemon" #. type: Plain text #: guix-git/doc/guix.texi:872 msgid "During installation, the @dfn{build daemon} that must be running to use Guix has already been set up and you can run @command{guix} commands in your terminal program, @pxref{Getting Started}:" msgstr "Bei der Installation wurde der @dfn{Erstellungs-Daemon}, der laufen muss, damit man Guix benutzen kann, bereits eingerichtet und Sie können Befehle mit @command{guix} in Ihrem Terminalprogramm ausführen, siehe @ref{Getting Started}:" #. type: example #: guix-git/doc/guix.texi:875 #, no-wrap msgid "guix build hello\n" msgstr "guix build hello\n" #. type: Plain text #: guix-git/doc/guix.texi:880 msgid "If this runs through without error, feel free to skip this section. You should continue with the following section, @ref{Application Setup}." msgstr "Wenn dies ohne Fehler durchläuft, können Sie diesen Abschnitt auch überspringen. Ihre nächste Station wäre der nachfolgende Abschnitt, @ref{Application Setup}." #. type: Plain text #: guix-git/doc/guix.texi:888 msgid "However, now would be a good time to replace outdated daemon versions, tweak it, perform builds on other machines (@pxref{Daemon Offload Setup}), or start it manually in special environments like ``chroots'' (@pxref{Chrooting into an existing system}) or WSL (not needed for WSL images created with Guix, @pxref{System Images, @code{wsl2-image-type}}). If you want to know more or optimize your system, this section is worth reading." msgstr "Allerdings ist jetzt ein guter Zeitpunkt, um alte Versionen des Daemons auszutauschen, Anpassungen vorzunehmen, Erstellungen auf andere Maschinen auszulagern (siehe @ref{Daemon Offload Setup}) oder ihn in speziellen Umgebungen manuell zu starten, z.B.@: in „chroots“ (siehe @ref{Chrooting into an existing system}) oder WSL (nicht nötig bei mit Guix erzeugten WSL-Abbildern, siehe @ref{System Images, @code{wsl2-image-type}}). Wenn Sie mehr wissen möchten oder vorhaben, Ihr System zu optimieren, lohnt es sich, diesen Abschnitt zu lesen." #. type: Plain text #: guix-git/doc/guix.texi:896 msgid "Operations such as building a package or running the garbage collector are all performed by a specialized process, the build daemon, on behalf of clients. Only the daemon may access the store and its associated database. Thus, any operation that manipulates the store goes through the daemon. For instance, command-line tools such as @command{guix package} and @command{guix build} communicate with the daemon (@i{via} remote procedure calls) to instruct it what to do." msgstr "Operationen wie das Erstellen eines Pakets oder Laufenlassen des Müllsammlers werden alle durch einen spezialisierten Prozess durchgeführt, den Erstellungs-Daemon, im Auftrag seiner Kunden (den Clients). Nur der Daemon darf auf den Store und seine zugehörige Datenbank zugreifen. Daher wird jede den Store verändernde Operation durch den Daemon durchgeführt. Zum Beispiel kommunizieren Befehlszeilenwerkzeuge wie @command{guix package} und @command{guix build} mit dem Daemon (mittels entfernter Prozeduraufrufe), um ihm Anweisungen zu geben, was er tun soll." #. type: Plain text #: guix-git/doc/guix.texi:900 msgid "The following sections explain how to prepare the build daemon's environment. @xref{Substitutes} for how to allow the daemon to download pre-built binaries." msgstr "Folgende Abschnitte beschreiben, wie Sie die Umgebung des Erstellungs-Daemons ausstatten sollten. @xref{Substitutes} für Informationen darüber, wie Sie es dem Daemon ermöglichen, vorerstellte Binärdateien herunterzuladen." #. type: cindex #: guix-git/doc/guix.texi:910 guix-git/doc/guix.texi:1419 #, no-wrap msgid "build environment" msgstr "Erstellungsumgebung" #. type: Plain text #: guix-git/doc/guix.texi:918 msgid "In a standard multi-user setup, Guix and its daemon---the @command{guix-daemon} program---are installed by the system administrator; @file{/gnu/store} is owned by @code{root} and @command{guix-daemon} runs as @code{root}. Unprivileged users may use Guix tools to build packages or otherwise access the store, and the daemon will do it on their behalf, ensuring that the store is kept in a consistent state, and allowing built packages to be shared among users." msgstr "In einem normalen Mehrbenutzersystem werden Guix und sein Daemon@tie{}– das Programm @command{guix-daemon}@tie{}– vom Systemadministrator installiert; @file{/gnu/store} gehört @code{root} und @command{guix-daemon} läuft als @code{root}. Nicht mit erweiterten Rechten ausgestattete Nutzer können Guix-Werkzeuge benutzen, um Pakete zu erstellen oder anderweitig auf den Store zuzugreifen, und der Daemon wird dies für sie erledigen und dabei sicherstellen, dass der Store in einem konsistenten Zustand verbleibt und sich die Nutzer erstellte Pakete teilen." #. type: cindex #: guix-git/doc/guix.texi:919 #, no-wrap msgid "build users" msgstr "Erstellungsbenutzer" #. type: Plain text #: guix-git/doc/guix.texi:930 msgid "When @command{guix-daemon} runs as @code{root}, you may not want package build processes themselves to run as @code{root} too, for obvious security reasons. To avoid that, a special pool of @dfn{build users} should be created for use by build processes started by the daemon. These build users need not have a shell and a home directory: they will just be used when the daemon drops @code{root} privileges in build processes. Having several such users allows the daemon to launch distinct build processes under separate UIDs, which guarantees that they do not interfere with each other---an essential feature since builds are regarded as pure functions (@pxref{Introduction})." msgstr "Wenn @command{guix-daemon} als Administratornutzer @code{root} läuft, wollen Sie aber vielleicht dennoch nicht, dass Paketerstellungsprozesse auch als @code{root} ablaufen, aus offensichtlichen Sicherheitsgründen. Um dies zu vermeiden, sollte ein besonderer Pool aus @dfn{Erstellungsbenutzern} geschaffen werden, damit vom Daemon gestartete Erstellungsprozesse ihn benutzen. Diese Erstellungsbenutzer müssen weder eine Shell noch ein Persönliches Verzeichnis zugewiesen bekommen, sie werden lediglich benutzt, wenn der Daemon @code{root}-Rechte in Erstellungsprozessen ablegt. Mehrere solche Benutzer zu haben, ermöglicht es dem Daemon, verschiedene Erstellungsprozessen unter verschiedenen Benutzeridentifikatoren (UIDs) zu starten, was garantiert, dass sie einander nicht stören@tie{}– eine essenzielle Funktionalität, da Erstellungen als reine Funktionen angesehen werden (siehe @ref{Introduction})." #. type: Plain text #: guix-git/doc/guix.texi:933 msgid "On a GNU/Linux system, a build user pool may be created like this (using Bash syntax and the @code{shadow} commands):" msgstr "Auf einem GNU/Linux-System kann ein Pool von Erstellungsbenutzern wie folgt erzeugt werden (mit Bash-Syntax und den Befehlen von @code{shadow}):" #. type: example #: guix-git/doc/guix.texi:945 #, no-wrap msgid "" "# groupadd --system guixbuild\n" "# for i in $(seq -w 1 10);\n" " do\n" " useradd -g guixbuild -G guixbuild \\\n" " -d /var/empty -s $(which nologin) \\\n" " -c \"Guix build user $i\" --system \\\n" " guixbuilder$i;\n" " done\n" msgstr "" "# groupadd --system guixbuild\n" "# for i in $(seq -w 1 10);\n" " do\n" " useradd -g guixbuild -G guixbuild \\\n" " -d /var/empty -s $(which nologin) \\\n" " -c \"Guix-Erstellungsbenutzer $i\" --system \\\n" " guixbuilder$i;\n" " done\n" #. type: Plain text #: guix-git/doc/guix.texi:955 msgid "The number of build users determines how many build jobs may run in parallel, as specified by the @option{--max-jobs} option (@pxref{Invoking guix-daemon, @option{--max-jobs}}). To use @command{guix system vm} and related commands, you may need to add the build users to the @code{kvm} group so they can access @file{/dev/kvm}, using @code{-G guixbuild,kvm} instead of @code{-G guixbuild} (@pxref{Invoking guix system})." msgstr "Die Anzahl der Erstellungsbenutzer entscheidet, wie viele Erstellungsaufträge parallel ausgeführt werden können, wie es mit der Befehlszeilenoption @option{--max-jobs} vorgegeben werden kann (siehe @ref{Invoking guix-daemon, @option{--max-jobs}}). Um @command{guix system vm} und ähnliche Befehle nutzen zu können, müssen Sie die Erstellungsbenutzer unter Umständen zur @code{kvm}-Benutzergruppe hinzufügen, damit sie Zugriff auf @file{/dev/kvm} haben, mit @code{-G guixbuild,kvm} statt @code{-G guixbuild} (siehe @ref{Invoking guix system})." #. type: Plain text #: guix-git/doc/guix.texi:964 msgid "The @code{guix-daemon} program may then be run as @code{root} with the following command@footnote{If your machine uses the systemd init system, copying the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} file to @file{/etc/systemd/system} will ensure that @command{guix-daemon} is automatically started. Similarly, if your machine uses the Upstart init system, copy the @file{@var{prefix}/lib/upstart/system/guix-daemon.conf} file to @file{/etc/init}.}:" msgstr "Das Programm @code{guix-daemon} kann mit dem folgenden Befehl als @code{root} gestartet werden@footnote{Wenn Ihre Maschine systemd als „init“-System verwendet, genügt es, die Datei @file{@var{prefix}/lib/systemd/system/guix-daemon.service} nach @file{/etc/systemd/system} zu kopieren, damit @command{guix-daemon} automatisch gestartet wird. Ebenso können Sie, wenn Ihre Maschine Upstart als „init“-System benutzt, die Datei @file{@var{prefix}/lib/upstart/system/guix-daemon.conf} nach @file{/etc/init} kopieren.}:" #. type: example #: guix-git/doc/guix.texi:967 guix-git/doc/guix.texi:1408 #, no-wrap msgid "# guix-daemon --build-users-group=guixbuild\n" msgstr "# guix-daemon --build-users-group=guixbuild\n" #. type: cindex #: guix-git/doc/guix.texi:969 guix-git/doc/guix.texi:1417 #, no-wrap msgid "chroot" msgstr "chroot" #. type: Plain text #: guix-git/doc/guix.texi:974 msgid "This way, the daemon starts build processes in a chroot, under one of the @code{guixbuilder} users. On GNU/Linux, by default, the chroot environment contains nothing but:" msgstr "Auf diese Weise startet der Daemon Erstellungsprozesse in einem chroot als einer der @code{guixbuilder}-Benutzer. Auf GNU/Linux enthält die chroot-Umgebung standardmäßig nichts außer:" #. type: itemize #: guix-git/doc/guix.texi:982 msgid "a minimal @code{/dev} directory, created mostly independently from the host @code{/dev}@footnote{``Mostly'', because while the set of files that appear in the chroot's @code{/dev} is fixed, most of these files can only be created if the host has them.};" msgstr "einem minimalen @code{/dev}-Verzeichnis, was größtenteils vom @code{/dev} des Wirtssystems unabhängig erstellt wurde@footnote{„Größtenteils“, denn obwohl die Menge an Dateien, die im @code{/dev} des chroots vorkommen, fest ist, können die meisten dieser Dateien nur dann erstellt werden, wenn das Wirtssystem sie auch hat.}," #. type: itemize #: guix-git/doc/guix.texi:986 msgid "the @code{/proc} directory; it only shows the processes of the container since a separate PID name space is used;" msgstr "dem @code{/proc}-Verzeichnis, es zeigt nur die Prozesse des Containers, weil ein separater Namensraum für Prozess-IDs (PIDs) benutzt wird," #. type: itemize #: guix-git/doc/guix.texi:990 msgid "@file{/etc/passwd} with an entry for the current user and an entry for user @file{nobody};" msgstr "@file{/etc/passwd} mit einem Eintrag für den aktuellen Benutzer und einem Eintrag für den Benutzer @file{nobody}," #. type: itemize #: guix-git/doc/guix.texi:993 msgid "@file{/etc/group} with an entry for the user's group;" msgstr "@file{/etc/group} mit einem Eintrag für die Gruppe des Benutzers," #. type: itemize #: guix-git/doc/guix.texi:997 msgid "@file{/etc/hosts} with an entry that maps @code{localhost} to @code{127.0.0.1};" msgstr "@file{/etc/hosts} mit einem Eintrag, der @code{localhost} auf @code{127.0.0.1} abbildet," #. type: itemize #: guix-git/doc/guix.texi:1000 msgid "a writable @file{/tmp} directory." msgstr "einem @file{/tmp}-Verzeichnis mit Schreibrechten." #. type: Plain text #: guix-git/doc/guix.texi:1006 msgid "The chroot does not contain a @file{/home} directory, and the @env{HOME} environment variable is set to the non-existent @file{/homeless-shelter}. This helps to highlight inappropriate uses of @env{HOME} in the build scripts of packages." msgstr "Im chroot ist kein @file{/home}-Verzeichnis enthalten und die Umgebungsvariable @env{HOME} ist auf das @emph{nicht} existierende Verzeichnis @file{/homeless-shelter} festgelegt. Dadurch fallen unangemessene Verwendungen von @env{HOME} in den Erstellungs-Skripts von Paketen auf." #. type: Plain text #: guix-git/doc/guix.texi:1011 msgid "All this usually enough to ensure details of the environment do not influence build processes. In some exceptional cases where more control is needed---typically over the date, kernel, or CPU---you can resort to a virtual build machine (@pxref{build-vm, virtual build machines})." msgstr "Durch diese Maßnahmen ist in der Regel gewährleistet, dass Details aus Ihrer Umgebung keinen Einfluss auf Erstellungsprozesse haben. In manchen besonderen Fällen bedarf es mehr Kontrolle@tie{}– typischerweise über Datum, Kernel oder Prozessor@tie{}– und dazu können Sie auf eine virtuelle Erstellungsmaschine zurückgreifen (siehe @ref{build-vm, virtuelle Erstellungsmaschinen})." #. type: Plain text #: guix-git/doc/guix.texi:1019 msgid "You can influence the directory where the daemon stores build trees @i{via} the @env{TMPDIR} environment variable. However, the build tree within the chroot is always called @file{/tmp/guix-build-@var{name}.drv-0}, where @var{name} is the derivation name---e.g., @code{coreutils-8.24}. This way, the value of @env{TMPDIR} does not leak inside build environments, which avoids discrepancies in cases where build processes capture the name of their build tree." msgstr "Sie können beeinflussen, in welchem Verzeichnis der Daemon Verzeichnisbäume zur Erstellung unterbringt, indem sie den Wert der Umgebungsvariablen @env{TMPDIR} ändern. Allerdings heißt innerhalb des chroots der Erstellungsbaum immer @file{/tmp/guix-build-@var{Name}.drv-0}, wobei @var{Name} der Ableitungsname ist@tie{}– z.B.@: @code{coreutils-8.24}. Dadurch hat der Wert von @env{TMPDIR} keinen Einfluss auf die Erstellungsumgebung, wodurch Unterschiede vermieden werden, falls Erstellungsprozesse den Namen ihres Erstellungsbaumes einfangen." #. type: vindex #: guix-git/doc/guix.texi:1020 guix-git/doc/guix.texi:3903 #, no-wrap msgid "http_proxy" msgstr "http_proxy" #. type: vindex #: guix-git/doc/guix.texi:1021 guix-git/doc/guix.texi:3904 #, no-wrap msgid "https_proxy" msgstr "https_proxy" #. type: Plain text #: guix-git/doc/guix.texi:1026 msgid "The daemon also honors the @env{http_proxy} and @env{https_proxy} environment variables for HTTP and HTTPS downloads it performs, be it for fixed-output derivations (@pxref{Derivations}) or for substitutes (@pxref{Substitutes})." msgstr "Der Daemon befolgt außerdem den Wert der Umgebungsvariablen @env{http_proxy} und @env{https_proxy} für von ihm durchgeführte HTTP- und HTTPS-Downloads, sei es für Ableitungen mit fester Ausgabe (siehe @ref{Derivations}) oder für Substitute (siehe @ref{Substitutes})." #. type: Plain text #: guix-git/doc/guix.texi:1034 msgid "If you are installing Guix as an unprivileged user, it is still possible to run @command{guix-daemon} provided you pass @option{--disable-chroot}. However, build processes will not be isolated from one another, and not from the rest of the system. Thus, build processes may interfere with each other, and may access programs, libraries, and other files available on the system---making it much harder to view them as @emph{pure} functions." msgstr "Wenn Sie Guix als ein Benutzer ohne erweiterte Rechte installieren, ist es dennoch möglich, @command{guix-daemon} auszuführen, sofern Sie @option{--disable-chroot} übergeben. Allerdings können Erstellungsprozesse dann nicht voneinander und vom Rest des Systems isoliert werden. Daher können sich Erstellungsprozesse gegenseitig stören und auf Programme, Bibliotheken und andere Dateien zugreifen, die dem restlichen System zur Verfügung stehen@tie{}– was es deutlich schwerer macht, sie als @emph{reine} Funktionen aufzufassen." #. type: subsection #: guix-git/doc/guix.texi:1037 #, no-wrap msgid "Using the Offload Facility" msgstr "Nutzung der Auslagerungsfunktionalität" #. type: cindex #: guix-git/doc/guix.texi:1039 guix-git/doc/guix.texi:1478 #, no-wrap msgid "offloading" msgstr "Auslagern" #. type: cindex #: guix-git/doc/guix.texi:1040 #, no-wrap msgid "build hook" msgstr "Build-Hook" #. type: Plain text #: guix-git/doc/guix.texi:1059 msgid "When desired, the build daemon can @dfn{offload} derivation builds to other machines running Guix, using the @code{offload} @dfn{build hook}@footnote{This feature is available only when @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} is present.}. When that feature is enabled, a list of user-specified build machines is read from @file{/etc/guix/machines.scm}; every time a build is requested, for instance via @code{guix build}, the daemon attempts to offload it to one of the machines that satisfy the constraints of the derivation, in particular its system types---e.g., @code{x86_64-linux}. A single machine can have multiple system types, either because its architecture natively supports it, via emulation (@pxref{transparent-emulation-qemu, Transparent Emulation with QEMU}), or both. Missing prerequisites for the build are copied over SSH to the target machine, which then proceeds with the build; upon success the output(s) of the build are copied back to the initial machine. The offload facility comes with a basic scheduler that attempts to select the best machine. The best machine is chosen among the available machines based on criteria such as:" msgstr "Wenn erwünscht, kann der Erstellungs-Daemon Ableitungserstellungen auf andere Maschinen @dfn{auslagern}, auf denen Guix läuft, mit Hilfe des @code{offload}-@dfn{Build-Hooks}@footnote{Diese Funktionalität ist nur verfügbar, wenn @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} vorhanden ist.}. Wenn diese Funktionalität aktiviert ist, wird eine nutzerspezifizierte Liste von Erstellungsmaschinen aus @file{/etc/guix/machines.scm} gelesen. Wann immer eine Erstellung angefragt wird, zum Beispiel durch @code{guix build}, versucht der Daemon, sie an eine der Erstellungsmaschinen auszulagern, die die Einschränkungen der Ableitung erfüllen, insbesondere ihre Systemtypen@tie{}– z.B.@: @code{x86_64-linux}. Eine einzelne Maschine kann mehrere Systemtypen haben, entweder weil ihre Architektur eine native Unterstützung vorsieht, weil Emulation eingerichtet wurde (siehe @ref{transparent-emulation-qemu, Transparente Emulation mit QEMU}) oder beides. Fehlende Voraussetzungen für die Erstellung werden über SSH auf die Zielmaschine kopiert, welche dann mit der Erstellung weitermacht. Hat sie Erfolg damit, so werden die Ausgabe oder Ausgaben der Erstellung zurück auf die ursprüngliche Maschine kopiert. Die Auslagerungsfunktion verfügt über einen einfachen Planungsalgorithmus (einen Scheduler), mit dem versucht wird, die jeweils beste Maschine auszuwählen. Unter den verfügbaren wird die beste Maschine nach Kriterien wie diesen ausgewählt:" #. type: enumerate #: guix-git/doc/guix.texi:1065 msgid "The availability of a build slot. A build machine can have as many build slots (connections) as the value of the @code{parallel-builds} field of its @code{build-machine} object." msgstr "Ob Zeitfenster für Erstellungen frei sind („build slots“). Eine Erstellungsmaschine kann so viele Erstellungszeitfenster (Verbindungen) unterhalten wie es dem Wert des @code{parallel-builds}-Feldes des @code{build-machine}-Objekts entspricht." #. type: enumerate #: guix-git/doc/guix.texi:1069 msgid "Its relative speed, as defined via the @code{speed} field of its @code{build-machine} object." msgstr "Was ihre relative Geschwindigkeit ist, gemäß ihrer Definition im @code{speed}-Feld ihres @code{build-machine}-Objekts." #. type: enumerate #: guix-git/doc/guix.texi:1074 msgid "Its load. The normalized machine load must be lower than a threshold value, configurable via the @code{overload-threshold} field of its @code{build-machine} object." msgstr "Ihrer Auslastung („load“). Die normalisierte Auslastung der Maschine darf einen Schwellwert nicht überschreiten. Dieser ist über das @code{overload-threshold}-Feld ihres @code{build-machine}-Objekts einstellbar." #. type: enumerate #: guix-git/doc/guix.texi:1077 msgid "Disk space availability. More than a 100 MiB must be available." msgstr "Verfügbarem Speicherplatz auf ihrem Datenträger. Es müssen mehr als 100@tie{}MiB verfügbar sein." #. type: Plain text #: guix-git/doc/guix.texi:1080 msgid "The @file{/etc/guix/machines.scm} file typically looks like this:" msgstr "Die Datei @file{/etc/guix/machines.scm} sieht normalerweise so aus:" #. type: lisp #: guix-git/doc/guix.texi:1088 #, no-wrap msgid "" "(list (build-machine\n" " (name \"eightysix.example.org\")\n" " (systems (list \"x86_64-linux\" \"i686-linux\"))\n" " (host-key \"ssh-ed25519 AAAAC3Nza@dots{}\")\n" " (user \"bob\")\n" " (speed 2.)) ;incredibly fast!\n" "\n" msgstr "" "(list (build-machine\n" " (name \"eightysix.example.org\")\n" " (systems (list \"x86_64-linux\" \"i686-linux\"))\n" " (host-key \"ssh-ed25519 AAAAC3Nza…\")\n" " (user \"bob\")\n" " (speed 2.)) ;unglaublich schnell!\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:1094 #, no-wrap msgid "" " (build-machine\n" " (name \"armeight.example.org\")\n" " (systems (list \"aarch64-linux\"))\n" " (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n" " (user \"alice\")\n" "\n" msgstr "" " (build-machine\n" " (name \"armeight.example.org\")\n" " (systems (list \"aarch64-linux\"))\n" " (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n" " (user \"alice\")\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:1098 #, no-wrap msgid "" " ;; Remember 'guix offload' is spawned by\n" " ;; 'guix-daemon' as root.\n" " (private-key \"/root/.ssh/identity-for-guix\")))\n" msgstr "" " ;; Weil 'guix offload' vom 'guix-daemon' als\n" " ;; Administratornutzer root gestartet wird.\n" " (private-key \"/root/.ssh/identität-für-guix\")))\n" #. type: Plain text #: guix-git/doc/guix.texi:1104 msgid "In the example above we specify a list of two build machines, one for the @code{x86_64} and @code{i686} architectures and one for the @code{aarch64} architecture." msgstr "Im obigen Beispiel geben wir eine Liste mit zwei Erstellungsmaschinen vor, eine für die @code{x86_64}- und @code{i686}-Architektur und eine für die @code{aarch64}-Architektur." #. type: Plain text #: guix-git/doc/guix.texi:1113 msgid "In fact, this file is---not surprisingly!---a Scheme file that is evaluated when the @code{offload} hook is started. Its return value must be a list of @code{build-machine} objects. While this example shows a fixed list of build machines, one could imagine, say, using DNS-SD to return a list of potential build machines discovered in the local network (@pxref{Introduction, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme Programs}). The @code{build-machine} data type is detailed below." msgstr "Tatsächlich ist diese Datei@tie{}– wenig überraschend!@tie{}– eine Scheme-Datei, die ausgewertet wird, wenn der @code{offload}-Hook gestartet wird. Der Wert, den sie zurückliefert, muss eine Liste von @code{build-machine}-Objekten sein. Obwohl dieses Beispiel eine feste Liste von Erstellungsmaschinen zeigt, könnte man auch auf die Idee kommen, etwa mit DNS-SD eine Liste möglicher im lokalen Netzwerk entdeckter Erstellungsmaschinen zu liefern (siehe @ref{Introduction, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme Programs}). Der Datentyp @code{build-machine} wird im Folgenden weiter ausgeführt." #. type: deftp #: guix-git/doc/guix.texi:1114 #, no-wrap msgid "{Data Type} build-machine" msgstr "{Datentyp} build-machine" #. type: deftp #: guix-git/doc/guix.texi:1117 msgid "This data type represents build machines to which the daemon may offload builds. The important fields are:" msgstr "Dieser Datentyp repräsentiert Erstellungsmaschinen, an die der Daemon Erstellungen auslagern darf. Die wichtigen Felder sind:" #. type: code{#1} #: guix-git/doc/guix.texi:1120 guix-git/doc/guix.texi:7829 #: guix-git/doc/guix.texi:8889 guix-git/doc/guix.texi:18623 #: guix-git/doc/guix.texi:18722 guix-git/doc/guix.texi:18962 #: guix-git/doc/guix.texi:21090 guix-git/doc/guix.texi:22001 #: guix-git/doc/guix.texi:22329 guix-git/doc/guix.texi:26491 #: guix-git/doc/guix.texi:29680 guix-git/doc/guix.texi:31221 #: guix-git/doc/guix.texi:32018 guix-git/doc/guix.texi:32396 #: guix-git/doc/guix.texi:32451 guix-git/doc/guix.texi:34591 #: guix-git/doc/guix.texi:37698 guix-git/doc/guix.texi:37736 #: guix-git/doc/guix.texi:40944 guix-git/doc/guix.texi:40961 #: guix-git/doc/guix.texi:42289 guix-git/doc/guix.texi:44305 #: guix-git/doc/guix.texi:44663 guix-git/doc/guix.texi:48869 #, no-wrap msgid "name" msgstr "name" #. type: table #: guix-git/doc/guix.texi:1122 msgid "The host name of the remote machine." msgstr "Der Rechnername (d.h.@: der Hostname) der entfernten Maschine." #. type: item #: guix-git/doc/guix.texi:1123 #, no-wrap msgid "systems" msgstr "systems" #. type: table #: guix-git/doc/guix.texi:1126 msgid "The system types the remote machine supports---e.g., @code{(list \"x86_64-linux\" \"i686-linux\")}." msgstr "Die Systemtypen, die die entfernte Maschine unterstützt@tie{}– z.B.@: @code{(list \"x86_64-linux\" \"i686-linux\")}." #. type: code{#1} #: guix-git/doc/guix.texi:1127 guix-git/doc/guix.texi:22011 #, no-wrap msgid "user" msgstr "user" #. type: table #: guix-git/doc/guix.texi:1131 msgid "The user account on the remote machine to use when connecting over SSH. Note that the SSH key pair must @emph{not} be passphrase-protected, to allow non-interactive logins." msgstr "Das Benutzerkonto auf der entfernten Maschine, mit dem eine Verbindung über SSH aufgebaut werden soll. Beachten Sie, dass das SSH-Schlüsselpaar @emph{nicht} durch eine Passphrase geschützt sein darf, damit nicht-interaktive Anmeldungen möglich sind." #. type: item #: guix-git/doc/guix.texi:1132 #, no-wrap msgid "host-key" msgstr "host-key" #. type: table #: guix-git/doc/guix.texi:1136 msgid "This must be the machine's SSH @dfn{public host key} in OpenSSH format. This is used to authenticate the machine when we connect to it. It is a long string that looks like this:" msgstr "Dies muss der @dfn{öffentliche SSH-Rechnerschlüssel} („Host Key“) der Maschine im OpenSSH-Format sein. Er wird benutzt, um die Identität der Maschine zu prüfen, wenn wir uns mit ihr verbinden. Er ist eine lange Zeichenkette, die ungefähr so aussieht:" #. type: example #: guix-git/doc/guix.texi:1139 #, no-wrap msgid "ssh-ed25519 AAAAC3NzaC@dots{}mde+UhL hint@@example.org\n" msgstr "ssh-ed25519 AAAAC3NzaC…mde+UhL hint@@example.org\n" #. type: table #: guix-git/doc/guix.texi:1144 msgid "If the machine is running the OpenSSH daemon, @command{sshd}, the host key can be found in a file such as @file{/etc/ssh/ssh_host_ed25519_key.pub}." msgstr "Wenn auf der Maschine der OpenSSH-Daemon, @command{sshd}, läuft, ist der Rechnerschlüssel in einer Datei wie @file{/etc/ssh/ssh_host_ed25519_key.pub} zu finden." #. type: table #: guix-git/doc/guix.texi:1149 msgid "If the machine is running the SSH daemon of GNU@tie{}lsh, @command{lshd}, the host key is in @file{/etc/lsh/host-key.pub} or a similar file. It can be converted to the OpenSSH format using @command{lsh-export-key} (@pxref{Converting keys,,, lsh, LSH Manual}):" msgstr "Wenn auf der Maschine der SSH-Daemon von GNU@tie{}lsh, nämlich @command{lshd}, läuft, befindet sich der Rechnerschlüssel in @file{/etc/lsh/host-key.pub} oder einer ähnlichen Datei. Er kann ins OpenSSH-Format umgewandelt werden durch @command{lsh-export-key} (siehe @ref{Converting keys,,, lsh, LSH Manual}):" #. type: example #: guix-git/doc/guix.texi:1153 #, no-wrap msgid "" "$ lsh-export-key --openssh < /etc/lsh/host-key.pub\n" "ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV@dots{}\n" msgstr "" "$ lsh-export-key --openssh < /etc/lsh/host-key.pub\n" "ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV…\n" #. type: deftp #: guix-git/doc/guix.texi:1158 msgid "A number of optional fields may be specified:" msgstr "Eine Reihe optionaler Felder kann festgelegt werden:" #. type: item #: guix-git/doc/guix.texi:1161 guix-git/doc/guix.texi:43781 #, no-wrap msgid "@code{port} (default: @code{22})" msgstr "@code{port} (Vorgabe: @code{22})" #. type: table #: guix-git/doc/guix.texi:1163 msgid "Port number of SSH server on the machine." msgstr "Portnummer des SSH-Servers auf der Maschine." #. type: item #: guix-git/doc/guix.texi:1164 #, no-wrap msgid "@code{private-key} (default: @file{~root/.ssh/id_rsa})" msgstr "@code{private-key} (Vorgabe: @file{~root/.ssh/id_rsa})" #. type: table #: guix-git/doc/guix.texi:1167 msgid "The SSH private key file to use when connecting to the machine, in OpenSSH format. This key must not be protected with a passphrase." msgstr "Die Datei mit dem privaten SSH-Schlüssel, der beim Verbinden zur Maschine genutzt werden soll, im OpenSSH-Format. Dieser Schlüssel darf nicht mit einer Passphrase geschützt sein." #. type: table #: guix-git/doc/guix.texi:1170 msgid "Note that the default value is the private key @emph{of the root account}. Make sure it exists if you use the default." msgstr "Beachten Sie, dass als Vorgabewert der private Schlüssel @emph{des root-Benutzers} genommen wird. Vergewissern Sie sich, dass er existiert, wenn Sie die Standardeinstellung verwenden." #. type: item #: guix-git/doc/guix.texi:1171 #, no-wrap msgid "@code{compression} (default: @code{\"zlib@@openssh.com,zlib\"})" msgstr "@code{compression} (Vorgabe: @code{\"zlib@@openssh.com,zlib\"})" #. type: itemx #: guix-git/doc/guix.texi:1172 #, no-wrap msgid "@code{compression-level} (default: @code{3})" msgstr "@code{compression-level} (Vorgabe: @code{3})" #. type: table #: guix-git/doc/guix.texi:1174 msgid "The SSH-level compression methods and compression level requested." msgstr "Die Kompressionsmethoden auf SSH-Ebene und das angefragte Kompressionsniveau." #. type: table #: guix-git/doc/guix.texi:1177 msgid "Note that offloading relies on SSH compression to reduce bandwidth usage when transferring files to and from build machines." msgstr "Beachten Sie, dass Auslagerungen SSH-Kompression benötigen, um beim Übertragen von Dateien an Erstellungsmaschinen und zurück weniger Bandbreite zu benutzen." #. type: item #: guix-git/doc/guix.texi:1178 #, no-wrap msgid "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" msgstr "@code{daemon-socket} (Vorgabe: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:1181 msgid "File name of the Unix-domain socket @command{guix-daemon} is listening to on that machine." msgstr "Dateiname des Unix-Sockets, auf dem @command{guix-daemon} auf der Maschine lauscht." #. type: item #: guix-git/doc/guix.texi:1182 #, no-wrap msgid "@code{overload-threshold} (default: @code{0.8})" msgstr "@code{overload-threshold} (Vorgabe: @code{0.8})" #. type: table #: guix-git/doc/guix.texi:1188 msgid "The load threshold above which a potential offload machine is disregarded by the offload scheduler. The value roughly translates to the total processor usage of the build machine, ranging from 0.0 (0%) to 1.0 (100%). It can also be disabled by setting @code{overload-threshold} to @code{#f}." msgstr "Der Schwellwert für die Auslastung (englisch „load“), ab der eine potentielle Auslagerungsmaschine für den Auslagerungsplaner nicht mehr in Betracht kommt. Der Wert entspricht grob der gesamten Prozessornutzung der Erstellungsmaschine. Er reicht von 0.0 (0%) bis 1.0 (100%). Wenn er ignoriert werden soll, dann setzen Sie @code{overload-threshold} auf @code{#f}." #. type: item #: guix-git/doc/guix.texi:1189 #, no-wrap msgid "@code{parallel-builds} (default: @code{1})" msgstr "@code{parallel-builds} (Vorgabe: @code{1})" #. type: table #: guix-git/doc/guix.texi:1191 msgid "The number of builds that may run in parallel on the machine." msgstr "Die Anzahl der Erstellungen, die auf der Maschine parallel ausgeführt werden können." #. type: item #: guix-git/doc/guix.texi:1192 #, no-wrap msgid "@code{speed} (default: @code{1.0})" msgstr "@code{speed} (Vorgabe: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:1195 msgid "A ``relative speed factor''. The offload scheduler will tend to prefer machines with a higher speed factor." msgstr "Ein „relativer Geschwindigkeitsfaktor“. Der Auslagerungsplaner gibt tendenziell Maschinen mit höherem Geschwindigkeitsfaktor den Vorrang." #. type: item #: guix-git/doc/guix.texi:1196 #, no-wrap msgid "@code{features} (default: @code{'()})" msgstr "@code{features} (Vorgabe: @code{'()})" #. type: table #: guix-git/doc/guix.texi:1201 msgid "A list of strings denoting specific features supported by the machine. An example is @code{\"kvm\"} for machines that have the KVM Linux modules and corresponding hardware support. Derivations can request features by name, and they will be scheduled on matching build machines." msgstr "Eine Liste von Zeichenketten, die besondere von der Maschine unterstützte Funktionalitäten bezeichnen. Ein Beispiel ist @code{\"kvm\"} für Maschinen, die über die KVM-Linux-Module zusammen mit entsprechender Hardware-Unterstützung verfügen. Ableitungen können Funktionalitäten dem Namen nach anfragen und werden dann auf passenden Erstellungsmaschinen eingeplant." #. type: quotation #: guix-git/doc/guix.texi:1211 msgid "On Guix System, instead of managing @file{/etc/guix/machines.scm} independently, you can choose to specify build machines directly in the @code{operating-system} declaration, in the @code{build-machines} field of @code{guix-configuration}. @xref{guix-configuration-build-machines, @code{build-machines} field of @code{guix-configuration}}." msgstr "Auf Guix System können Sie statt sich um eine zusätzliche Datei @file{/etc/guix/machines.scm} zu kümmern auch die Erstellungsmaschinen als Teil der Betriebssystemdeklaration in @code{operating-system} im Feld @code{build-machines} von @code{guix-configuration} angeben. Siehe das @ref{guix-configuration-build-machines, @code{build-machines}-Feld von @code{guix-configuration}}." #. type: Plain text #: guix-git/doc/guix.texi:1215 msgid "The @command{guix} command must be in the search path on the build machines. You can check whether this is the case by running:" msgstr "Der Befehl @code{guix} muss sich im Suchpfad der Erstellungsmaschinen befinden. Um dies nachzuprüfen, können Sie Folgendes ausführen:" #. type: example #: guix-git/doc/guix.texi:1218 #, no-wrap msgid "ssh build-machine guix repl --version\n" msgstr "ssh build-machine guix repl --version\n" #. type: Plain text #: guix-git/doc/guix.texi:1225 msgid "There is one last thing to do once @file{machines.scm} is in place. As explained above, when offloading, files are transferred back and forth between the machine stores. For this to work, you first need to generate a key pair on each machine to allow the daemon to export signed archives of files from the store (@pxref{Invoking guix archive}):" msgstr "Es gibt noch eine weitere Sache zu tun, sobald @file{machines.scm} eingerichtet ist. Wie zuvor erklärt, werden beim Auslagern Dateien zwischen den Stores der Maschinen hin- und hergeschickt. Damit das funktioniert, müssen Sie als Erstes ein Schlüsselpaar auf jeder Maschine erzeugen, damit der Daemon signierte Archive mit den Dateien aus dem Store versenden kann (siehe @ref{Invoking guix archive}):" #. type: example #: guix-git/doc/guix.texi:1228 guix-git/doc/guix.texi:43685 #, no-wrap msgid "# guix archive --generate-key\n" msgstr "# guix archive --generate-key\n" #. type: quotation #: guix-git/doc/guix.texi:1233 msgid "This key pair is not related to the SSH key pair that was previously mentioned in the description of the @code{build-machine} data type." msgstr "Dieses Schlüsselpaar hat mit dem SSH-Schlüsselpaar, das zuvor in der Beschreibung des Datentyps @code{build-machine} vorkam, @emph{nichts} zu tun." #. type: Plain text #: guix-git/doc/guix.texi:1238 msgid "Each build machine must authorize the key of the master machine so that it accepts store items it receives from the master:" msgstr "Jede Erstellungsmaschine muss den Schlüssel der Hauptmaschine autorisieren, damit diese Store-Objekte von der Hauptmaschine empfangen kann:" #. type: example #: guix-git/doc/guix.texi:1241 #, no-wrap msgid "# guix archive --authorize < master-public-key.txt\n" msgstr "# guix archive --authorize < öffentlicher-schlüssel-hauptmaschine.txt\n" #. type: Plain text #: guix-git/doc/guix.texi:1245 msgid "Likewise, the master machine must authorize the key of each build machine." msgstr "Andersherum muss auch die Hauptmaschine den jeweiligen Schlüssel jeder Erstellungsmaschine autorisieren." #. type: Plain text #: guix-git/doc/guix.texi:1251 msgid "All the fuss with keys is here to express pairwise mutual trust relations between the master and the build machines. Concretely, when the master receives files from a build machine (and @i{vice versa}), its build daemon can make sure they are genuine, have not been tampered with, and that they are signed by an authorized key." msgstr "Der ganze Umstand mit den Schlüsseln soll ausdrücken, dass sich Haupt- und Erstellungsmaschinen paarweise gegenseitig vertrauen. Konkret kann der Erstellungs-Daemon auf der Hauptmaschine die Unverfälschtheit von den Erstellungsmaschinen empfangener Dateien gewährleisten (und umgekehrt), und auch dass sie nicht sabotiert wurden und mit einem autorisierten Schlüssel signiert wurden." #. type: cindex #: guix-git/doc/guix.texi:1252 #, no-wrap msgid "offload test" msgstr "Auslagerung testen" #. type: Plain text #: guix-git/doc/guix.texi:1255 msgid "To test whether your setup is operational, run this command on the master node:" msgstr "Um zu testen, ob Ihr System funktioniert, führen Sie diesen Befehl auf der Hauptmaschine aus:" #. type: example #: guix-git/doc/guix.texi:1258 #, no-wrap msgid "# guix offload test\n" msgstr "# guix offload test\n" #. type: Plain text #: guix-git/doc/guix.texi:1264 msgid "This will attempt to connect to each of the build machines specified in @file{/etc/guix/machines.scm}, make sure Guix is available on each machine, attempt to export to the machine and import from it, and report any error in the process." msgstr "Dadurch wird versucht, zu jeder Erstellungsmaschine eine Verbindung herzustellen, die in @file{/etc/guix/machines.scm} angegeben wurde, sichergestellt, dass auf jeder Guix nutzbar ist, und jeweils versucht, etwas auf die Erstellungsmaschine zu exportieren und von dort zu importieren. Dabei auftretende Fehler werden gemeldet." #. type: Plain text #: guix-git/doc/guix.texi:1267 msgid "If you want to test a different machine file, just specify it on the command line:" msgstr "Wenn Sie stattdessen eine andere Maschinendatei verwenden möchten, geben Sie diese einfach auf der Befehlszeile an:" #. type: example #: guix-git/doc/guix.texi:1270 #, no-wrap msgid "# guix offload test machines-qualif.scm\n" msgstr "# guix offload test maschinen-qualif.scm\n" #. type: Plain text #: guix-git/doc/guix.texi:1274 msgid "Last, you can test the subset of the machines whose name matches a regular expression like this:" msgstr "Letztendlich können Sie hiermit nur die Teilmenge der Maschinen testen, deren Name zu einem regulären Ausdruck passt:" #. type: example #: guix-git/doc/guix.texi:1277 #, no-wrap msgid "# guix offload test machines.scm '\\.gnu\\.org$'\n" msgstr "# guix offload test maschinen.scm '\\.gnu\\.org$'\n" #. type: cindex #: guix-git/doc/guix.texi:1279 #, no-wrap msgid "offload status" msgstr "Auslagerungs-Lagebericht" #. type: Plain text #: guix-git/doc/guix.texi:1282 msgid "To display the current load of all build hosts, run this command on the main node:" msgstr "Um die momentane Auslastung aller Erstellungsrechner anzuzeigen, führen Sie diesen Befehl auf dem Hauptknoten aus:" #. type: example #: guix-git/doc/guix.texi:1285 #, no-wrap msgid "# guix offload status\n" msgstr "# guix offload status\n" #. type: cindex #: guix-git/doc/guix.texi:1291 #, no-wrap msgid "SELinux, daemon policy" msgstr "SELinux, Policy für den Daemon" #. type: cindex #: guix-git/doc/guix.texi:1292 #, no-wrap msgid "mandatory access control, SELinux" msgstr "Mandatory Access Control, SELinux" #. type: cindex #: guix-git/doc/guix.texi:1293 #, no-wrap msgid "security, guix-daemon" msgstr "Sicherheit, des guix-daemon" #. type: Plain text #: guix-git/doc/guix.texi:1299 msgid "Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can be installed on a system where SELinux is enabled, in order to label Guix files and to specify the expected behavior of the daemon. Since Guix System does not provide an SELinux base policy, the daemon policy cannot be used on Guix System." msgstr "Guix enthält eine SELinux-Richtliniendatei („Policy“) unter @file{etc/guix-daemon.cil}, die auf einem System installiert werden kann, auf dem SELinux aktiviert ist, damit Guix-Dateien gekennzeichnet sind und um das erwartete Verhalten des Daemons anzugeben. Da Guix System keine Grundrichtlinie („Base Policy“) für SELinux bietet, kann diese Richtlinie für den Daemon auf Guix System nicht benutzt werden." #. type: subsubsection #: guix-git/doc/guix.texi:1300 #, no-wrap msgid "Installing the SELinux policy" msgstr "Installieren der SELinux-Policy" #. type: cindex #: guix-git/doc/guix.texi:1301 #, no-wrap msgid "SELinux, policy installation" msgstr "SELinux, Policy installieren" #. type: quotation #: guix-git/doc/guix.texi:1306 msgid "The @code{guix-install.sh} binary installation script offers to perform the steps below for you (@pxref{Binary Installation})." msgstr "Wenn Sie mit dem Skript @code{guix-install.sh} die Installation aus einer Binärdatei durchführen, wird Ihnen angeboten, die folgenden Schritte automatisch durchzuführen (siehe @ref{Binary Installation})." #. type: Plain text #: guix-git/doc/guix.texi:1309 msgid "To install the policy run this command as root:" msgstr "Um die Richtlinie (Policy) zu installieren, führen Sie folgenden Befehl mit Administratorrechten aus:" #. type: example #: guix-git/doc/guix.texi:1312 #, no-wrap msgid "semodule -i /var/guix/profiles/per-user/root/current-guix/share/selinux/guix-daemon.cil\n" msgstr "semodule -i /var/guix/profiles/per-user/root/current-guix/share/selinux/guix-daemon.cil\n" #. type: Plain text #: guix-git/doc/guix.texi:1316 msgid "Then, as root, relabel the file system, possibly after making it writable:" msgstr "Dann kennzeichnen Sie als Administratornutzer das Dateisystem neu. Womöglich müssen Sie sich zuerst Schreibrechte darauf verschaffen:" #. type: example #: guix-git/doc/guix.texi:1320 #, no-wrap msgid "" "mount -o remount,rw /gnu/store\n" "restorecon -R /gnu /var/guix\n" msgstr "" "mount -o remount,rw /gnu/store\n" "restorecon -R /gnu /var/guix\n" #. type: Plain text #: guix-git/doc/guix.texi:1325 msgid "At this point you can start or restart @command{guix-daemon}; on a distribution that uses systemd as its service manager, you can do that with:" msgstr "Nun ist die Zeit gekommen, @command{guix-daemon} zu starten oder neu zu starten. Wenn Ihre Distribution systemd zur Diensteverwaltung benutzt, dann geht das so:" #. type: example #: guix-git/doc/guix.texi:1328 #, no-wrap msgid "systemctl restart guix-daemon\n" msgstr "systemctl restart guix-daemon\n" #. type: Plain text #: guix-git/doc/guix.texi:1334 msgid "Once the policy is installed, the file system has been relabeled, and the daemon has been restarted, it should be running in the @code{guix_daemon_t} context. You can confirm this with the following command:" msgstr "Sobald die Richtlinie installiert ist, das Dateisystem neu gekennzeichnet wurde und der Daemon neugestartet wurde, sollte er im Kontext @code{guix_daemon_t} laufen. Sie können dies mit dem folgenden Befehl nachprüfen:" #. type: example #: guix-git/doc/guix.texi:1337 #, no-wrap msgid "ps -Zax | grep guix-daemon\n" msgstr "ps -Zax | grep guix-daemon\n" #. type: Plain text #: guix-git/doc/guix.texi:1342 msgid "Monitor the SELinux log files as you run a command like @code{guix build hello} to convince yourself that SELinux permits all necessary operations." msgstr "Beobachten Sie die Protokolldateien von SELinux, wenn Sie einen Befehl wie @code{guix build hello} ausführen, um sich zu überzeugen, dass SELinux alle notwendigen Operationen gestattet." #. type: cindex #: guix-git/doc/guix.texi:1344 #, no-wrap msgid "SELinux, limitations" msgstr "SELinux, Einschränkungen" #. type: Plain text #: guix-git/doc/guix.texi:1349 msgid "This policy is not perfect. Here is a list of limitations or quirks that should be considered when deploying the provided SELinux policy for the Guix daemon." msgstr "Diese Richtlinie ist nicht perfekt. Im Folgenden finden Sie eine Liste von Einschränkungen oder merkwürdigen Verhaltensweisen, die bedacht werden sollten, wenn man die mitgelieferte SELinux-Richtlinie für den Guix-Daemon einspielt." #. type: enumerate #: guix-git/doc/guix.texi:1356 msgid "@code{guix_daemon_socket_t} isn’t actually used. None of the socket operations involve contexts that have anything to do with @code{guix_daemon_socket_t}. It doesn’t hurt to have this unused label, but it would be preferable to define socket rules for only this label." msgstr "@code{guix_daemon_socket_t} wird nicht wirklich benutzt. Keine der Socket-Operationen benutzt Kontexte, die irgendetwas mit @code{guix_daemon_socket_t} zu tun haben. Es schadet nicht, diese ungenutzte Kennzeichnung zu haben, aber es wäre besser, für die Kennzeichnung auch Socket-Regeln festzulegen." #. type: enumerate #: guix-git/doc/guix.texi:1367 msgid "@code{guix gc} cannot access arbitrary links to profiles. By design, the file label of the destination of a symlink is independent of the file label of the link itself. Although all profiles under @file{$localstatedir} are labelled, the links to these profiles inherit the label of the directory they are in. For links in the user’s home directory this will be @code{user_home_t}. But for links from the root user’s home directory, or @file{/tmp}, or the HTTP server’s working directory, etc, this won’t work. @code{guix gc} would be prevented from reading and following these links." msgstr "@code{guix gc} kann nicht auf beliebige Verknüpfungen zu Profilen zugreifen. Die Kennzeichnung des Ziels einer symbolischen Verknüpfung ist notwendigerweise unabhängig von der Dateikennzeichnung der Verknüpfung. Obwohl alle Profile unter @file{$localstatedir} gekennzeichnet sind, erben die Verknüpfungen auf diese Profile die Kennzeichnung desjenigen Verzeichnisses, in dem sie sich befinden. Für Verknüpfungen im Persönlichen Verzeichnis des Benutzers ist das @code{user_home_t}, aber für Verknüpfungen aus dem Persönlichen Verzeichnis des Administratornutzers, oder @file{/tmp}, oder das Arbeitsverzeichnis des HTTP-Servers, etc., funktioniert das nicht. @code{guix gc} würde es nicht gestattet, diese Verknüpfungen auszulesen oder zu verfolgen." #. type: enumerate #: guix-git/doc/guix.texi:1372 msgid "The daemon’s feature to listen for TCP connections might no longer work. This might require extra rules, because SELinux treats network sockets differently from files." msgstr "Die vom Daemon gebotene Funktionalität, auf TCP-Verbindungen zu lauschen, könnte nicht mehr funktionieren. Dies könnte zusätzliche Regeln brauchen, weil SELinux Netzwerk-Sockets anders behandelt als Dateien." #. type: enumerate #: guix-git/doc/guix.texi:1383 msgid "Currently all files with a name matching the regular expression @code{/gnu/store/.+-(guix-.+|profile)/bin/guix-daemon} are assigned the label @code{guix_daemon_exec_t}; this means that @emph{any} file with that name in any profile would be permitted to run in the @code{guix_daemon_t} domain. This is not ideal. An attacker could build a package that provides this executable and convince a user to install and run it, which lifts it into the @code{guix_daemon_t} domain. At that point SELinux could not prevent it from accessing files that are allowed for processes in that domain." msgstr "Derzeit wird allen Dateien mit einem Namen, der zum regulären Ausdruck @code{/gnu/store/.+-(guix-.+|profile)/bin/guix-daemon} passt, die Kennzeichnung @code{guix_daemon_exec_t} zugewiesen, wodurch @emph{jeder beliebigen} Datei mit diesem Namen in irgendeinem Profil gestattet wäre, in der Domäne @code{guix_daemon_t} ausgeführt zu werden. Das ist nicht ideal. Ein Angreifer könnte ein Paket erstellen, dass solch eine ausführbare Datei enthält, und den Nutzer überzeugen, es zu installieren und auszuführen. Dadurch käme es in die Domäne @code{guix_daemon_t}. Ab diesem Punkt könnte SELinux nicht mehr verhindern, dass es auf Dateien zugreift, auf die Prozesse in dieser Domäne zugreifen dürfen." #. type: enumerate #: guix-git/doc/guix.texi:1388 msgid "You will need to relabel the store directory after all upgrades to @file{guix-daemon}, such as after running @code{guix pull}. Assuming the store is in @file{/gnu}, you can do this with @code{restorecon -vR /gnu}, or by other means provided by your operating system." msgstr "Nach jeder Aktualisierung des @file{guix-daemon}, z.B.@: nachdem Sie @code{guix pull} ausgeführt haben, müssen Sie das Store-Verzeichnis neu kennzeichnen. Angenommen, der Store befindet sich unter @file{/gnu}, dann können Sie das mit @code{restorecon -vR /gnu} bewerkstelligen oder durch andere Mittel, die Ihr Betriebssystem Ihnen zur Verfügung stellt." #. type: enumerate #: guix-git/doc/guix.texi:1396 msgid "We could generate a much more restrictive policy at installation time, so that only the @emph{exact} file name of the currently installed @code{guix-daemon} executable would be labelled with @code{guix_daemon_exec_t}, instead of using a broad regular expression. The downside is that root would have to install or upgrade the policy at installation time whenever the Guix package that provides the effectively running @code{guix-daemon} executable is upgraded." msgstr "Wir könnten zum Zeitpunkt der Installation eine wesentlich restriktivere Richtlinie generieren, für die nur @emph{genau derselbe} Dateiname des gerade installierten @code{guix-daemon}-Programms als @code{guix_daemon_exec_t} gekennzeichnet würde, statt einen vieles umfassenden regulären Ausdruck zu benutzen. Aber dann müsste der Administratornutzer zum Zeitpunkt der Installation jedes Mal die Richtlinie installieren oder aktualisieren müssen, sobald das Guix-Paket aktualisiert wird, dass das tatsächlich in Benutzung befindliche @code{guix-daemon}-Programm enthält." #. type: section #: guix-git/doc/guix.texi:1399 #, no-wrap msgid "Invoking @command{guix-daemon}" msgstr "Aufruf von @command{guix-daemon}" #. type: command{#1} #: guix-git/doc/guix.texi:1400 #, no-wrap msgid "guix-daemon" msgstr "guix-daemon" #. type: Plain text #: guix-git/doc/guix.texi:1405 msgid "The @command{guix-daemon} program implements all the functionality to access the store. This includes launching build processes, running the garbage collector, querying the availability of a build result, etc. It is normally run as @code{root} like this:" msgstr "Das Programm @command{guix-daemon} implementiert alle Funktionalitäten, um auf den Store zuzugreifen. Dazu gehört das Starten von Erstellungsprozessen, das Ausführen des Müllsammlers, das Abfragen, ob ein Erstellungsergebnis verfügbar ist, etc. Normalerweise wird er so als Administratornutzer (@code{root}) gestartet:" #. type: cindex #: guix-git/doc/guix.texi:1410 #, no-wrap msgid "socket activation, for @command{guix-daemon}" msgstr "Socket-Aktivierung, bei @command{guix-daemon}" #. type: Plain text #: guix-git/doc/guix.texi:1414 msgid "This daemon can also be started following the systemd ``socket activation'' protocol (@pxref{Service De- and Constructors, @code{make-systemd-constructor},, shepherd, The GNU Shepherd Manual})." msgstr "Sie können den Daemon auch über das systemd-Protokoll zur „Socket-Aktivierung“ starten (siehe @ref{Service De- and Constructors, @code{make-systemd-constructor},, shepherd, The GNU Shepherd Manual})." #. type: Plain text #: guix-git/doc/guix.texi:1416 msgid "For details on how to set it up, @pxref{Setting Up the Daemon}." msgstr "Details, wie Sie ihn einrichten, finden Sie im Abschnitt @ref{Setting Up the Daemon}." #. type: cindex #: guix-git/doc/guix.texi:1418 #, no-wrap msgid "container, build environment" msgstr "Container, Erstellungsumgebung" #. type: cindex #: guix-git/doc/guix.texi:1420 guix-git/doc/guix.texi:2967 #: guix-git/doc/guix.texi:3884 guix-git/doc/guix.texi:16329 #, no-wrap msgid "reproducible builds" msgstr "Reproduzierbare Erstellungen" #. type: Plain text #: guix-git/doc/guix.texi:1432 msgid "By default, @command{guix-daemon} launches build processes under different UIDs, taken from the build group specified with @option{--build-users-group}. In addition, each build process is run in a chroot environment that only contains the subset of the store that the build process depends on, as specified by its derivation (@pxref{Programming Interface, derivation}), plus a set of specific system directories. By default, the latter contains @file{/dev} and @file{/dev/pts}. Furthermore, on GNU/Linux, the build environment is a @dfn{container}: in addition to having its own file system tree, it has a separate mount name space, its own PID name space, network name space, etc. This helps achieve reproducible builds (@pxref{Features})." msgstr "Standardmäßig führt @command{guix-daemon} Erstellungsprozesse mit unterschiedlichen UIDs aus, die aus der Erstellungsgruppe stammen, deren Name mit @option{--build-users-group} übergeben wurde. Außerdem läuft jeder Erstellungsprozess in einer chroot-Umgebung, die nur die Teilmenge des Stores enthält, von der der Erstellungsprozess abhängt, entsprechend seiner Ableitung (siehe @ref{Programming Interface, Ableitungen}), und ein paar bestimmte Systemverzeichnisse, darunter standardmäßig auch @file{/dev} und @file{/dev/pts}. Zudem ist die Erstellungsumgebung auf GNU/Linux eine isolierte Umgebung, d.h.@: ein @dfn{Container}: Nicht nur hat sie ihren eigenen Dateisystembaum, sie hat auch einen separaten Namensraum zum Einhängen von Dateisystemen, ihren eigenen Namensraum für PIDs, für Netzwerke, etc. Dies hilft dabei, reproduzierbare Erstellungen zu garantieren (siehe @ref{Features})." #. type: Plain text #: guix-git/doc/guix.texi:1438 msgid "When the daemon performs a build on behalf of the user, it creates a build directory under @file{/tmp} or under the directory specified by its @env{TMPDIR} environment variable. This directory is shared with the container for the duration of the build, though within the container, the build tree is always called @file{/tmp/guix-build-@var{name}.drv-0}." msgstr "Wenn der Daemon im Auftrag des Nutzers eine Erstellung durchführt, erzeugt er ein Erstellungsverzeichnis, entweder in @file{/tmp} oder im Verzeichnis, das durch die Umgebungsvariable @env{TMPDIR} angegeben wurde. Dieses Verzeichnis wird mit dem Container geteilt, solange die Erstellung noch läuft, allerdings trägt es im Container stattdessen immer den Namen „/tmp/guix-build-NAME.drv-0“." #. type: Plain text #: guix-git/doc/guix.texi:1442 msgid "The build directory is automatically deleted upon completion, unless the build failed and the client specified @option{--keep-failed} (@pxref{Common Build Options, @option{--keep-failed}})." msgstr "Nach Abschluss der Erstellung wird das Erstellungsverzeichnis automatisch entfernt, außer wenn die Erstellung fehlgeschlagen ist und der Client @option{--keep-failed} angegeben hat (siehe @ref{Common Build Options, @option{--keep-failed}})." #. type: Plain text #: guix-git/doc/guix.texi:1448 msgid "The daemon listens for connections and spawns one sub-process for each session started by a client (one of the @command{guix} sub-commands). The @command{guix processes} command allows you to get an overview of the activity on your system by viewing each of the active sessions and clients. @xref{Invoking guix processes}, for more information." msgstr "Der Daemon lauscht auf Verbindungen und erstellt jeweils einen Unterprozess für jede von einem Client begonnene Sitzung (d.h.@: von einem der @command{guix}-Unterbefehle). Der Befehl @command{guix processes} zeigt Ihnen eine Übersicht solcher Systemaktivitäten; damit werden Ihnen alle aktiven Sitzungen und Clients gezeigt. Weitere Informationen finden Sie unter @ref{Invoking guix processes}." #. type: Plain text #: guix-git/doc/guix.texi:1450 msgid "The following command-line options are supported:" msgstr "Die folgenden Befehlszeilenoptionen werden unterstützt:" #. type: item #: guix-git/doc/guix.texi:1452 #, no-wrap msgid "--build-users-group=@var{group}" msgstr "--build-users-group=@var{Gruppe}" #. type: table #: guix-git/doc/guix.texi:1455 msgid "Take users from @var{group} to run build processes (@pxref{Setting Up the Daemon, build users})." msgstr "Verwende die Benutzerkonten aus der @var{Gruppe}, um Erstellungsprozesse auszuführen (siehe @ref{Setting Up the Daemon, Erstellungsbenutzer})." #. type: item #: guix-git/doc/guix.texi:1456 guix-git/doc/guix.texi:13043 #, no-wrap msgid "--no-substitutes" msgstr "--no-substitutes" #. type: cindex #: guix-git/doc/guix.texi:1457 guix-git/doc/guix.texi:2979 #: guix-git/doc/guix.texi:3621 #, no-wrap msgid "substitutes" msgstr "Substitute" #. type: table #: guix-git/doc/guix.texi:1461 guix-git/doc/guix.texi:13047 msgid "Do not use substitutes for build products. That is, always build things locally instead of allowing downloads of pre-built binaries (@pxref{Substitutes})." msgstr "Benutze keine Substitute für Erstellungsergebnisse. Das heißt, dass alle Objekte lokal erstellt werden müssen, und kein Herunterladen von vorab erstellten Binärdateien erlaubt ist (siehe @ref{Substitutes})." #. type: table #: guix-git/doc/guix.texi:1465 msgid "When the daemon runs with @option{--no-substitutes}, clients can still explicitly enable substitution @i{via} the @code{set-build-options} remote procedure call (@pxref{The Store})." msgstr "Wenn der Daemon mit @option{--no-substitutes} ausgeführt wird, können Clients trotzdem Substitute explizit aktivieren über den entfernten Prozeduraufruf @code{set-build-options} (siehe @ref{The Store})." #. type: anchor{#1} #: guix-git/doc/guix.texi:1467 msgid "daemon-substitute-urls" msgstr "daemon-substitute-urls" #. type: item #: guix-git/doc/guix.texi:1467 guix-git/doc/guix.texi:13030 #: guix-git/doc/guix.texi:15731 guix-git/doc/guix.texi:16481 #: guix-git/doc/guix.texi:16711 #, no-wrap msgid "--substitute-urls=@var{urls}" msgstr "--substitute-urls=@var{URLs}" #. type: table #: guix-git/doc/guix.texi:1471 msgid "Consider @var{urls} the default whitespace-separated list of substitute source URLs. When this option is omitted, @indicateurl{@value{SUBSTITUTE-URLS}} is used." msgstr "@var{URLs} als standardmäßige, leerzeichengetrennte Liste der Quell-URLs für Substitute benutzen. Wenn diese Befehlszeilenoption @emph{nicht} angegeben wird, wird @indicateurl{@value{SUBSTITUTE-URLS}} verwendet." #. type: table #: guix-git/doc/guix.texi:1474 msgid "This means that substitutes may be downloaded from @var{urls}, as long as they are signed by a trusted signature (@pxref{Substitutes})." msgstr "Das hat zur Folge, dass Substitute von den @var{URLs} heruntergeladen werden können, solange sie mit einer Signatur versehen sind, der vertraut wird (siehe @ref{Substitutes})." #. type: table #: guix-git/doc/guix.texi:1477 msgid "@xref{Getting Substitutes from Other Servers}, for more information on how to configure the daemon to get substitutes from other servers." msgstr "Siehe @ref{Getting Substitutes from Other Servers} für weitere Informationen, wie der Daemon konfiguriert werden kann, um Substitute von anderen Servern zu beziehen." #. type: item #: guix-git/doc/guix.texi:1479 guix-git/doc/guix.texi:13066 #, no-wrap msgid "--no-offload" msgstr "--no-offload" #. type: table #: guix-git/doc/guix.texi:1483 guix-git/doc/guix.texi:13070 msgid "Do not use offload builds to other machines (@pxref{Daemon Offload Setup}). That is, always build things locally instead of offloading builds to remote machines." msgstr "Nicht versuchen, an andere Maschinen ausgelagerte Erstellungen zu benutzen (siehe @ref{Daemon Offload Setup}). Somit wird lokal erstellt, statt Erstellungen auf entfernte Maschinen auszulagern." #. type: item #: guix-git/doc/guix.texi:1484 #, no-wrap msgid "--cache-failures" msgstr "--cache-failures" #. type: table #: guix-git/doc/guix.texi:1486 msgid "Cache build failures. By default, only successful builds are cached." msgstr "Fehler bei der Erstellung zwischenspeichern. Normalerweise werden nur erfolgreiche Erstellungen gespeichert." #. type: table #: guix-git/doc/guix.texi:1491 msgid "When this option is used, @command{guix gc --list-failures} can be used to query the set of store items marked as failed; @command{guix gc --clear-failures} removes store items from the set of cached failures. @xref{Invoking guix gc}." msgstr "Wenn diese Befehlszeilenoption benutzt wird, kann @command{guix gc --list-failures} benutzt werden, um die Menge an Store-Objekten abzufragen, die als Fehlschläge markiert sind; @command{guix gc --clear-failures} entfernt Store-Objekte aus der Menge zwischengespeicherter Fehlschläge. Siehe @ref{Invoking guix gc}." #. type: item #: guix-git/doc/guix.texi:1492 guix-git/doc/guix.texi:13096 #, no-wrap msgid "--cores=@var{n}" msgstr "--cores=@var{n}" #. type: itemx #: guix-git/doc/guix.texi:1493 guix-git/doc/guix.texi:13097 #, no-wrap msgid "-c @var{n}" msgstr "-c @var{n}" #. type: table #: guix-git/doc/guix.texi:1496 msgid "Use @var{n} CPU cores to build each derivation; @code{0} means as many as available." msgstr "@var{n} CPU-Kerne zum Erstellen jeder Ableitung benutzen; @code{0} heißt, so viele wie verfügbar sind." #. type: table #: guix-git/doc/guix.texi:1500 msgid "The default value is @code{0}, but it may be overridden by clients, such as the @option{--cores} option of @command{guix build} (@pxref{Invoking guix build})." msgstr "Der Vorgabewert ist @code{0}, jeder Client kann jedoch eine abweichende Anzahl vorgeben, zum Beispiel mit der Befehlszeilenoption @option{--cores} von @command{guix build} (siehe @ref{Invoking guix build})." #. type: table #: guix-git/doc/guix.texi:1504 msgid "The effect is to define the @env{NIX_BUILD_CORES} environment variable in the build process, which can then use it to exploit internal parallelism---for instance, by running @code{make -j$NIX_BUILD_CORES}." msgstr "Dadurch wird die Umgebungsvariable @env{NIX_BUILD_CORES} im Erstellungsprozess definiert, welcher sie benutzen kann, um intern parallele Ausführungen zuzulassen@tie{}– zum Beispiel durch Nutzung von @code{make -j$NIX_BUILD_CORES}." #. type: item #: guix-git/doc/guix.texi:1505 guix-git/doc/guix.texi:13101 #, no-wrap msgid "--max-jobs=@var{n}" msgstr "--max-jobs=@var{n}" #. type: itemx #: guix-git/doc/guix.texi:1506 guix-git/doc/guix.texi:13102 #, no-wrap msgid "-M @var{n}" msgstr "-M @var{n}" #. type: table #: guix-git/doc/guix.texi:1511 msgid "Allow at most @var{n} build jobs in parallel. The default value is @code{1}. Setting it to @code{0} means that no builds will be performed locally; instead, the daemon will offload builds (@pxref{Daemon Offload Setup}), or simply fail." msgstr "Höchstenss @var{n} Erstellungsaufträge parallel bearbeiten. Der Vorgabewert liegt bei @code{1}. Wird er auf @code{0} gesetzt, werden keine Erstellungen lokal durchgeführt, stattdessen lagert der Daemon sie nur aus (siehe @ref{Daemon Offload Setup}) oder sie schlagen einfach fehl." #. type: item #: guix-git/doc/guix.texi:1512 guix-git/doc/guix.texi:13071 #, no-wrap msgid "--max-silent-time=@var{seconds}" msgstr "--max-silent-time=@var{Sekunden}" #. type: table #: guix-git/doc/guix.texi:1515 guix-git/doc/guix.texi:13074 msgid "When the build or substitution process remains silent for more than @var{seconds}, terminate it and report a build failure." msgstr "Wenn der Erstellungs- oder Substitutionsprozess länger als @var{Sekunden}-lang keine Ausgabe erzeugt, wird er abgebrochen und ein Fehler beim Erstellen gemeldet." #. type: table #: guix-git/doc/guix.texi:1517 msgid "The default value is @code{3600} (one hour)." msgstr "Der Vorgabewert ist @code{3600} (eine Stunde)." #. type: table #: guix-git/doc/guix.texi:1520 msgid "The value specified here can be overridden by clients (@pxref{Common Build Options, @option{--max-silent-time}})." msgstr "Clients können einen anderen Wert als den hier angegebenen verwenden lassen (siehe @ref{Common Build Options, @option{--max-silent-time}})." #. type: item #: guix-git/doc/guix.texi:1521 guix-git/doc/guix.texi:13078 #, no-wrap msgid "--timeout=@var{seconds}" msgstr "--timeout=@var{Sekunden}" #. type: table #: guix-git/doc/guix.texi:1524 guix-git/doc/guix.texi:13081 msgid "Likewise, when the build or substitution process lasts for more than @var{seconds}, terminate it and report a build failure." msgstr "Entsprechend wird hier der Erstellungs- oder Substitutionsprozess abgebrochen und als Fehlschlag gemeldet, wenn er mehr als @var{Sekunden}-lang dauert." #. type: table #: guix-git/doc/guix.texi:1526 msgid "The default value is 24 hours." msgstr "Vorgegeben sind 24 Stunden." #. type: table #: guix-git/doc/guix.texi:1529 msgid "The value specified here can be overridden by clients (@pxref{Common Build Options, @option{--timeout}})." msgstr "Clients können einen anderen Wert verwenden lassen (siehe @ref{Common Build Options, @option{--timeout}})." #. type: item #: guix-git/doc/guix.texi:1530 #, no-wrap msgid "--rounds=@var{N}" msgstr "--rounds=@var{N}" #. type: table #: guix-git/doc/guix.texi:1535 msgid "Build each derivation @var{n} times in a row, and raise an error if consecutive build results are not bit-for-bit identical. Note that this setting can be overridden by clients such as @command{guix build} (@pxref{Invoking guix build})." msgstr "Jede Ableitung @var{n}-mal hintereinander erstellen und einen Fehler melden, wenn nacheinander ausgewertete Erstellungsergebnisse nicht Bit für Bit identisch sind. Beachten Sie, dass Clients wie @command{guix build} einen anderen Wert verwenden lassen können (siehe @ref{Invoking guix build})." #. type: table #: guix-git/doc/guix.texi:1539 guix-git/doc/guix.texi:13065 #: guix-git/doc/guix.texi:13749 msgid "When used in conjunction with @option{--keep-failed}, the differing output is kept in the store, under @file{/gnu/store/@dots{}-check}. This makes it easy to look for differences between the two results." msgstr "Wenn dies zusammen mit @option{--keep-failed} benutzt wird, bleiben die sich unterscheidenden Ausgaben im Store unter dem Namen @file{/gnu/store/…-check}. Dadurch können Unterschiede zwischen den beiden Ergebnissen leicht erkannt werden." #. type: item #: guix-git/doc/guix.texi:1540 #, no-wrap msgid "--debug" msgstr "--debug" #. type: table #: guix-git/doc/guix.texi:1542 msgid "Produce debugging output." msgstr "Informationen zur Fehlersuche ausgeben." #. type: table #: guix-git/doc/guix.texi:1546 msgid "This is useful to debug daemon start-up issues, but then it may be overridden by clients, for example the @option{--verbosity} option of @command{guix build} (@pxref{Invoking guix build})." msgstr "Dies ist nützlich, um Probleme beim Starten des Daemons nachzuvollziehen; Clients könn aber auch ein abweichenden Wert verwenden lassen, zum Beispiel mit der Befehlszeilenoption @option{--verbosity} von @command{guix build} (siehe @ref{Invoking guix build})." #. type: item #: guix-git/doc/guix.texi:1547 #, no-wrap msgid "--chroot-directory=@var{dir}" msgstr "--chroot-directory=@var{Verzeichnis}" #. type: table #: guix-git/doc/guix.texi:1549 msgid "Add @var{dir} to the build chroot." msgstr "Füge das @var{Verzeichnis} zum chroot von Erstellungen hinzu." #. type: table #: guix-git/doc/guix.texi:1555 msgid "Doing this may change the result of build processes---for instance if they use optional dependencies found in @var{dir} when it is available, and not otherwise. For that reason, it is not recommended to do so. Instead, make sure that each derivation declares all the inputs that it needs." msgstr "Dadurch kann sich das Ergebnis von Erstellungsprozessen ändern@tie{}– zum Beispiel, wenn diese optionale Abhängigkeiten aus dem @var{Verzeichnis} verwenden, wenn sie verfügbar sind, und nicht, wenn es fehlt. Deshalb ist es nicht empfohlen, dass Sie diese Befehlszeilenoption verwenden, besser sollten Sie dafür sorgen, dass jede Ableitung alle von ihr benötigten Eingabgen deklariert." #. type: item #: guix-git/doc/guix.texi:1556 #, no-wrap msgid "--disable-chroot" msgstr "--disable-chroot" #. type: table #: guix-git/doc/guix.texi:1558 msgid "Disable chroot builds." msgstr "Erstellungen ohne chroot durchführen." #. type: table #: guix-git/doc/guix.texi:1563 msgid "Using this option is not recommended since, again, it would allow build processes to gain access to undeclared dependencies. It is necessary, though, when @command{guix-daemon} is running under an unprivileged user account." msgstr "Diese Befehlszeilenoption zu benutzen, wird nicht empfohlen, denn auch dadurch bekämen Erstellungsprozesse Zugriff auf nicht deklarierte Abhängigkeiten. Sie ist allerdings unvermeidlich, wenn @command{guix-daemon} auf einem Benutzerkonto ohne ausreichende Berechtigungen ausgeführt wird." #. type: item #: guix-git/doc/guix.texi:1564 #, no-wrap msgid "--log-compression=@var{type}" msgstr "--log-compression=@var{Typ}" #. type: table #: guix-git/doc/guix.texi:1567 msgid "Compress build logs according to @var{type}, one of @code{gzip}, @code{bzip2}, or @code{none}." msgstr "Erstellungsprotokolle werden entsprechend dem @var{Typ} komprimiert, der entweder @code{gzip}, @code{bzip2} oder @code{none} (für keine Kompression) sein muss." #. type: table #: guix-git/doc/guix.texi:1571 msgid "Unless @option{--lose-logs} is used, all the build logs are kept in the @var{localstatedir}. To save space, the daemon automatically compresses them with gzip by default." msgstr "Sofern nicht @option{--lose-logs} angegeben wurde, werden alle Erstellungsprotokolle in der @var{localstatedir} gespeichert. Um Platz zu sparen, komprimiert sie der Daemon standardmäßig automatisch mit gzip." #. type: item #: guix-git/doc/guix.texi:1572 #, no-wrap msgid "--discover[=yes|no]" msgstr "--discover[=yes|no]" #. type: table #: guix-git/doc/guix.texi:1575 guix-git/doc/guix.texi:19848 msgid "Whether to discover substitute servers on the local network using mDNS and DNS-SD." msgstr "Ob im lokalen Netzwerk laufende Substitutserver mit mDNS und DNS-SD ermittelt werden sollen oder nicht." #. type: table #: guix-git/doc/guix.texi:1578 msgid "This feature is still experimental. However, here are a few considerations." msgstr "Diese Funktionalität ist noch experimentell. Trotzdem sollten Sie bedenken:" #. type: enumerate #: guix-git/doc/guix.texi:1582 msgid "It might be faster/less expensive than fetching from remote servers;" msgstr "Es könnte schneller bzw.@: günstiger sein, als Substitute von entfernten Servern zu beziehen." #. type: enumerate #: guix-git/doc/guix.texi:1585 msgid "There are no security risks, only genuine substitutes will be used (@pxref{Substitute Authentication});" msgstr "Es gibt keine Sicherheitsrisiken, weil nur echte Substitute benutzt werden können (siehe @ref{Substitute Authentication})." #. type: enumerate #: guix-git/doc/guix.texi:1589 msgid "An attacker advertising @command{guix publish} on your LAN cannot serve you malicious binaries, but they can learn what software you’re installing;" msgstr "Wenn ein Angreifer Ihnen sein @command{guix publish} in Ihrem LAN mitteilt, kann er Ihnen keine bösartigen Programmdateien unterjubeln, aber er kann lernen, welche Software Sie installieren." #. type: enumerate #: guix-git/doc/guix.texi:1592 msgid "Servers may serve substitute over HTTP, unencrypted, so anyone on the LAN can see what software you’re installing." msgstr "Server können Ihnen Substitute über unverschlüsseltes HTTP anbieten, wodurch auch jeder andere in Ihrem LAN vielleicht mitschneiden könnte, welche Software Sie installieren." #. type: table #: guix-git/doc/guix.texi:1596 msgid "It is also possible to enable or disable substitute server discovery at run-time by running:" msgstr "Das Erkennen von Substitutservern können Sie auch nachträglich zur Laufzeit an- oder abschalten („on“ oder „off“), indem Sie dies ausführen:" #. type: example #: guix-git/doc/guix.texi:1600 #, no-wrap msgid "" "herd discover guix-daemon on\n" "herd discover guix-daemon off\n" msgstr "" "herd discover guix-daemon on\n" "herd discover guix-daemon off\n" #. type: item #: guix-git/doc/guix.texi:1602 #, no-wrap msgid "--disable-deduplication" msgstr "--disable-deduplication" #. type: cindex #: guix-git/doc/guix.texi:1603 guix-git/doc/guix.texi:4373 #, no-wrap msgid "deduplication" msgstr "Deduplizieren" #. type: table #: guix-git/doc/guix.texi:1605 msgid "Disable automatic file ``deduplication'' in the store." msgstr "Automatische Dateien-„Deduplizierung“ im Store ausschalten." #. type: table #: guix-git/doc/guix.texi:1612 msgid "By default, files added to the store are automatically ``deduplicated'': if a newly added file is identical to another one found in the store, the daemon makes the new file a hard link to the other file. This can noticeably reduce disk usage, at the expense of slightly increased input/output load at the end of a build process. This option disables this optimization." msgstr "Standardmäßig werden zum Store hinzugefügte Objekte automatisch „dedupliziert“: Wenn eine neue Datei mit einer anderen im Store übereinstimmt, wird die neue Datei stattdessen als harte Verknüpfung auf die andere Datei angelegt. Dies reduziert den Speicherverbrauch auf der Platte merklich, jedoch steigt andererseits die Auslastung bei der Ein-/Ausgabe im Erstellungsprozess geringfügig. Durch diese Option wird keine solche Optimierung durchgeführt." #. type: item #: guix-git/doc/guix.texi:1613 #, no-wrap msgid "--gc-keep-outputs[=yes|no]" msgstr "--gc-keep-outputs[=yes|no]" #. type: table #: guix-git/doc/guix.texi:1616 msgid "Tell whether the garbage collector (GC) must keep outputs of live derivations." msgstr "Gibt an, ob der Müllsammler (Garbage Collector, GC) die Ausgaben lebendiger Ableitungen behalten muss („yes“) oder nicht („no“)." #. type: cindex #: guix-git/doc/guix.texi:1617 guix-git/doc/guix.texi:4185 #, no-wrap msgid "GC roots" msgstr "GC-Wurzeln" #. type: cindex #: guix-git/doc/guix.texi:1618 guix-git/doc/guix.texi:4186 #, no-wrap msgid "garbage collector roots" msgstr "Müllsammlerwurzeln" #. type: table #: guix-git/doc/guix.texi:1624 msgid "When set to @code{yes}, the GC will keep the outputs of any live derivation available in the store---the @file{.drv} files. The default is @code{no}, meaning that derivation outputs are kept only if they are reachable from a GC root. @xref{Invoking guix gc}, for more on GC roots." msgstr "Für @code{yes} behält der Müllsammler die Ausgaben aller lebendigen Ableitungen im Store@tie{}– die @file{.drv}-Dateien. Der Vorgabewert ist aber @code{no}, so dass Ableitungsausgaben nur vorgehalten werden, wenn sie von einer Müllsammlerwurzel aus erreichbar sind. Siehe den Abschnitt @ref{Invoking guix gc} für weitere Informationen zu Müllsammlerwurzeln." #. type: item #: guix-git/doc/guix.texi:1625 #, no-wrap msgid "--gc-keep-derivations[=yes|no]" msgstr "--gc-keep-derivations[=yes|no]" #. type: table #: guix-git/doc/guix.texi:1628 msgid "Tell whether the garbage collector (GC) must keep derivations corresponding to live outputs." msgstr "Gibt an, ob der Müllsammler (GC) Ableitungen behalten muss („yes“), wenn sie lebendige Ausgaben haben, oder nicht („no“)." #. type: table #: guix-git/doc/guix.texi:1634 msgid "When set to @code{yes}, as is the case by default, the GC keeps derivations---i.e., @file{.drv} files---as long as at least one of their outputs is live. This allows users to keep track of the origins of items in their store. Setting it to @code{no} saves a bit of disk space." msgstr "Für @code{yes}, den Vorgabewert, behält der Müllsammler Ableitungen@tie{}– z.B.@: @file{.drv}-Dateien@tie{}–, solange zumindest eine ihrer Ausgaben lebendig ist. Dadurch können Nutzer den Ursprung der Dateien in ihrem Store nachvollziehen. Setzt man den Wert auf @code{no}, wird ein bisschen weniger Speicher auf der Platte verbraucht." #. type: table #: guix-git/doc/guix.texi:1643 msgid "In this way, setting @option{--gc-keep-derivations} to @code{yes} causes liveness to flow from outputs to derivations, and setting @option{--gc-keep-outputs} to @code{yes} causes liveness to flow from derivations to outputs. When both are set to @code{yes}, the effect is to keep all the build prerequisites (the sources, compiler, libraries, and other build-time tools) of live objects in the store, regardless of whether these prerequisites are reachable from a GC root. This is convenient for developers since it saves rebuilds or downloads." msgstr "Auf diese Weise überträgt sich, wenn @option{--gc-keep-derivations} auf @code{yes} steht, die Lebendigkeit von Ausgaben auf Ableitungen, und wenn @option{--gc-keep-outputs} auf @code{yes} steht, die Lebendigkeit von Ableitungen auf Ausgaben. Stehen beide auf @code{yes}, bleiben so alle Erstellungsvoraussetzungen wie Quelldateien, Compiler, Bibliotheken und andere Erstellungswerkzeuge lebendiger Objekte im Store erhalten, ob sie von einer Müllsammlerwurzel aus erreichbar sind oder nicht. Entwickler können sich so erneute Erstellungen oder erneutes Herunterladen sparen." #. type: item #: guix-git/doc/guix.texi:1644 #, no-wrap msgid "--impersonate-linux-2.6" msgstr "--impersonate-linux-2.6" #. type: table #: guix-git/doc/guix.texi:1647 msgid "On Linux-based systems, impersonate Linux 2.6. This means that the kernel's @command{uname} system call will report 2.6 as the release number." msgstr "Auf Linux-basierten Systemen wird hiermit vorgetäuscht, dass es sich um Linux 2.6 handeln würde, indem der Kernel für einen @command{uname}-Systemaufruf als Version der Veröffentlichung mit 2.6 antwortet." #. type: table #: guix-git/doc/guix.texi:1650 msgid "This might be helpful to build programs that (usually wrongfully) depend on the kernel version number." msgstr "Dies kann hilfreich sein, um Programme zu erstellen, die (normalerweise zu Unrecht) von der Kernel-Versionsnummer abhängen." #. type: item #: guix-git/doc/guix.texi:1651 #, no-wrap msgid "--lose-logs" msgstr "--lose-logs" #. type: table #: guix-git/doc/guix.texi:1654 msgid "Do not keep build logs. By default they are kept under @file{@var{localstatedir}/guix/log}." msgstr "Keine Protokolle der Erstellungen vorhalten. Normalerweise würden solche in @file{@var{localstatedir}/guix/log} gespeichert." #. type: item #: guix-git/doc/guix.texi:1655 guix-git/doc/guix.texi:4631 #: guix-git/doc/guix.texi:6244 guix-git/doc/guix.texi:6741 #: guix-git/doc/guix.texi:7299 guix-git/doc/guix.texi:13685 #: guix-git/doc/guix.texi:15758 guix-git/doc/guix.texi:16023 #: guix-git/doc/guix.texi:16717 guix-git/doc/guix.texi:43393 #, no-wrap msgid "--system=@var{system}" msgstr "--system=@var{System}" #. type: table #: guix-git/doc/guix.texi:1659 msgid "Assume @var{system} as the current system type. By default it is the architecture/kernel pair found at configure time, such as @code{x86_64-linux}." msgstr "Verwende @var{System} als aktuellen Systemtyp. Standardmäßig ist dies das Paar aus Befehlssatz und Kernel, welches beim Aufruf von @code{configure} erkannt wurde, wie zum Beispiel @code{x86_64-linux}." #. type: item #: guix-git/doc/guix.texi:1660 guix-git/doc/guix.texi:12710 #, no-wrap msgid "--listen=@var{endpoint}" msgstr "--listen=@var{Endpunkt}" #. type: table #: guix-git/doc/guix.texi:1665 msgid "Listen for connections on @var{endpoint}. @var{endpoint} is interpreted as the file name of a Unix-domain socket if it starts with @code{/} (slash sign). Otherwise, @var{endpoint} is interpreted as a host name or host name and port to listen to. Here are a few examples:" msgstr "Lausche am @var{Endpunkt} auf Verbindungen. Dabei wird der @var{Endpunkt} als Dateiname eines Unix-Sockets verstanden, wenn er mit einem @code{/} (Schrägstrich) beginnt. Andernfalls wird der @var{Endpunkt} als Rechnername (d.h.@: Hostname) oder als Rechnername-Port-Paar verstanden, auf dem gelauscht wird. Hier sind ein paar Beispiele:" #. type: item #: guix-git/doc/guix.texi:1667 #, no-wrap msgid "--listen=/gnu/var/daemon" msgstr "--listen=/gnu/var/daemon" #. type: table #: guix-git/doc/guix.texi:1670 msgid "Listen for connections on the @file{/gnu/var/daemon} Unix-domain socket, creating it if needed." msgstr "Lausche auf Verbindungen am Unix-Socket @file{/gnu/var/daemon}, falls nötig wird er dazu erstellt." #. type: item #: guix-git/doc/guix.texi:1671 #, no-wrap msgid "--listen=localhost" msgstr "--listen=localhost" #. type: cindex #: guix-git/doc/guix.texi:1672 guix-git/doc/guix.texi:11316 #, no-wrap msgid "daemon, remote access" msgstr "Daemon, Fernzugriff" #. type: cindex #: guix-git/doc/guix.texi:1673 guix-git/doc/guix.texi:11317 #, no-wrap msgid "remote access to the daemon" msgstr "Fernzugriff auf den Daemon" #. type: cindex #: guix-git/doc/guix.texi:1674 guix-git/doc/guix.texi:11318 #, no-wrap msgid "daemon, cluster setup" msgstr "Daemon, Einrichten auf Clustern" #. type: cindex #: guix-git/doc/guix.texi:1675 guix-git/doc/guix.texi:11319 #, no-wrap msgid "clusters, daemon setup" msgstr "Cluster, Einrichtung des Daemons" #. type: table #: guix-git/doc/guix.texi:1678 msgid "Listen for TCP connections on the network interface corresponding to @code{localhost}, on port 44146." msgstr "Lausche auf TCP-Verbindungen an der Netzwerkschnittstelle, die @code{localhost} entspricht, auf Port 44146." #. type: item #: guix-git/doc/guix.texi:1679 #, no-wrap msgid "--listen=128.0.0.42:1234" msgstr "--listen=128.0.0.42:1234" #. type: table #: guix-git/doc/guix.texi:1682 msgid "Listen for TCP connections on the network interface corresponding to @code{128.0.0.42}, on port 1234." msgstr "Lausche auf TCP-Verbindungen an der Netzwerkschnittstelle, die @code{128.0.0.42} entspricht, auf Port 1234." #. type: table #: guix-git/doc/guix.texi:1689 msgid "This option can be repeated multiple times, in which case @command{guix-daemon} accepts connections on all the specified endpoints. Users can tell client commands what endpoint to connect to by setting the @env{GUIX_DAEMON_SOCKET} environment variable (@pxref{The Store, @env{GUIX_DAEMON_SOCKET}})." msgstr "Diese Befehlszeilenoption kann mehrmals wiederholt werden. In diesem Fall akzeptiert @command{guix-daemon} Verbindungen auf allen angegebenen Endpunkten. Benutzer können bei Client-Befehlen angeben, mit welchem Endpunkt sie sich verbinden möchten, indem sie die Umgebungsvariable @env{GUIX_DAEMON_SOCKET} festlegen (siehe @ref{The Store, @env{GUIX_DAEMON_SOCKET}})." #. type: quotation #: guix-git/doc/guix.texi:1696 msgid "The daemon protocol is @emph{unauthenticated and unencrypted}. Using @option{--listen=@var{host}} is suitable on local networks, such as clusters, where only trusted nodes may connect to the build daemon. In other cases where remote access to the daemon is needed, we recommend using Unix-domain sockets along with SSH." msgstr "Das Daemon-Protokoll ist @emph{weder authentifiziert noch verschlüsselt}. Die Benutzung von @option{--listen=@var{Rechner}} eignet sich für lokale Netzwerke, wie z.B.@: in Rechen-Clustern, wo sich nur solche Knoten mit dem Daemon verbinden, denen man vertraut. In Situationen, wo ein Fernzugriff auf den Daemon durchgeführt wird, empfehlen wir, über Unix-Sockets in Verbindung mit SSH zuzugreifen." #. type: table #: guix-git/doc/guix.texi:1701 msgid "When @option{--listen} is omitted, @command{guix-daemon} listens for connections on the Unix-domain socket located at @file{@var{localstatedir}/guix/daemon-socket/socket}." msgstr "Wird @option{--listen} nicht angegeben, lauscht @command{guix-daemon} auf Verbindungen auf dem Unix-Socket, der sich unter @file{@var{localstatedir}/guix/daemon-socket/socket} befindet." #. type: Plain text #: guix-git/doc/guix.texi:1711 msgid "When using Guix on top of GNU/Linux distribution other than Guix System---a so-called @dfn{foreign distro}---a few additional steps are needed to get everything in place. Here are some of them." msgstr "Läuft Guix aufgesetzt auf einer GNU/Linux-Distribution außer Guix System@tie{}– einer sogenannten @dfn{Fremddistribution}@tie{}–, so sind ein paar zusätzliche Schritte bei der Einrichtung nötig. Hier finden Sie manche davon." #. type: anchor{#1} #: guix-git/doc/guix.texi:1715 msgid "locales-and-locpath" msgstr "locales-and-locpath" #. type: cindex #: guix-git/doc/guix.texi:1715 #, no-wrap msgid "locales, when not on Guix System" msgstr "Locales, nicht auf Guix System" #. type: vindex #: guix-git/doc/guix.texi:1716 guix-git/doc/guix.texi:18946 #, no-wrap msgid "LOCPATH" msgstr "LOCPATH" #. type: vindex #: guix-git/doc/guix.texi:1717 #, no-wrap msgid "GUIX_LOCPATH" msgstr "GUIX_LOCPATH" #. type: Plain text #: guix-git/doc/guix.texi:1722 msgid "Packages installed @i{via} Guix will not use the locale data of the host system. Instead, you must first install one of the locale packages available with Guix and then define the @env{GUIX_LOCPATH} environment variable:" msgstr "Über Guix installierte Pakete benutzen nicht die Daten zu Regions- und Spracheinstellungen (Locales) des Wirtssystems. Stattdessen müssen Sie erst eines der Locale-Pakete installieren, die für Guix verfügbar sind, und dann den Wert Ihrer Umgebungsvariablen @env{GUIX_LOCPATH} passend festlegen:" #. type: example #: guix-git/doc/guix.texi:1726 #, no-wrap msgid "" "$ guix install glibc-locales\n" "$ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale\n" msgstr "" "$ guix install glibc-locales\n" "$ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale\n" #. type: Plain text #: guix-git/doc/guix.texi:1738 msgid "Note that the @code{glibc-locales} package contains data for all the locales supported by the GNU@tie{}libc and weighs in at around 930@tie{}MiB@footnote{The size of the @code{glibc-locales} package is reduced down to about 213@tie{}MiB with store deduplication and further down to about 67@tie{}MiB when using a zstd-compressed Btrfs file system.}. If you only need a few locales, you can define your custom locales package via the @code{make-glibc-utf8-locales} procedure from the @code{(gnu packages base)} module. The following example defines a package containing the various Canadian UTF-8 locales known to the GNU@tie{}libc, that weighs around 14@tie{}MiB:" msgstr "Beachten Sie, dass das Paket @code{glibc-locales} Daten für alle von GNU@tie{}libc unterstützten Locales enthält und deswegen um die 930@tie{}MiB wiegt@footnote{Das @code{glibc-locales}-Paket fällt durch Deduplizierung im Store nur noch mit 213@tie{}MiB ins Gewicht und nimmt auf einem zstd-komprimierten Btrfs-Dateisystem dann nur 67@tie{}MiB weg.}. Wenn alles, was Sie brauchen, einige wenige Locales sind, können Sie Ihr eigenes Locale-Paket mit der Prozedur @code{make-glibc-utf8-locales} aus dem Modul @code{(gnu packages base)} definieren. Folgendes Beispiel definiert ein Paket mit den verschiedenen kanadischen UTF-8-Locales, die der GNU@tie{}libc bekannt sind, das nur um die 14@tie{}MiB schwer ist:" #. type: lisp #: guix-git/doc/guix.texi:1741 #, no-wrap msgid "" "(use-modules (gnu packages base))\n" "\n" msgstr "" "(use-modules (gnu packages base))\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:1747 #, no-wrap msgid "" "(define my-glibc-locales\n" " (make-glibc-utf8-locales\n" " glibc\n" " #:locales (list \"en_CA\" \"fr_CA\" \"ik_CA\" \"iu_CA\" \"shs_CA\")\n" " #:name \"glibc-canadian-utf8-locales\"))\n" msgstr "" "(define my-glibc-locales\n" " (make-glibc-utf8-locales\n" " glibc\n" " #:locales (list \"en_CA\" \"fr_CA\" \"ik_CA\" \"iu_CA\" \"shs_CA\")\n" " #:name \"glibc-kanadische-utf8-locales\"))\n" #. type: Plain text #: guix-git/doc/guix.texi:1752 msgid "The @env{GUIX_LOCPATH} variable plays a role similar to @env{LOCPATH} (@pxref{Locale Names, @env{LOCPATH},, libc, The GNU C Library Reference Manual}). There are two important differences though:" msgstr "Die Variable @env{GUIX_LOCPATH} spielt eine ähnliche Rolle wie @env{LOCPATH} (siehe @ref{Locale Names, @env{LOCPATH},, libc, Referenzhandbuch der GNU-C-Bibliothek}). Es gibt jedoch zwei wichtige Unterschiede:" #. type: enumerate #: guix-git/doc/guix.texi:1759 msgid "@env{GUIX_LOCPATH} is honored only by the libc in Guix, and not by the libc provided by foreign distros. Thus, using @env{GUIX_LOCPATH} allows you to make sure the programs of the foreign distro will not end up loading incompatible locale data." msgstr "@env{GUIX_LOCPATH} wird nur von der libc in Guix beachtet und nicht der von Fremddistributionen bereitgestellten libc. Mit @env{GUIX_LOCPATH} können Sie daher sicherstellen, dass die Programme der Fremddistribution keine inkompatiblen Locale-Daten von Guix laden." #. type: enumerate #: guix-git/doc/guix.texi:1766 msgid "libc suffixes each entry of @env{GUIX_LOCPATH} with @code{/X.Y}, where @code{X.Y} is the libc version---e.g., @code{2.22}. This means that, should your Guix profile contain a mixture of programs linked against different libc version, each libc version will only try to load locale data in the right format." msgstr "libc hängt an jeden @env{GUIX_LOCPATH}-Eintrag @code{/X.Y} an, wobei @code{X.Y} die Version von libc ist@tie{}– z.B.@: @code{2.22}. Sollte Ihr Guix-Profil eine Mischung aus Programmen enthalten, die an verschiedene libc-Versionen gebunden sind, wird jede nur die Locale-Daten im richtigen Format zu laden versuchen." #. type: Plain text #: guix-git/doc/guix.texi:1770 msgid "This is important because the locale data format used by different libc versions may be incompatible." msgstr "Das ist wichtig, weil das Locale-Datenformat verschiedener libc-Versionen inkompatibel sein könnte." #. type: cindex #: guix-git/doc/guix.texi:1773 #, no-wrap msgid "name service switch, glibc" msgstr "Name Service Switch, glibc" #. type: cindex #: guix-git/doc/guix.texi:1774 #, no-wrap msgid "NSS (name service switch), glibc" msgstr "NSS (Name Service Switch), glibc" #. type: cindex #: guix-git/doc/guix.texi:1775 guix-git/doc/guix.texi:19589 #, no-wrap msgid "@abbr{nscd, name service cache daemon}" msgstr "@abbr{nscd, Name Service Cache Daemon}" #. type: Plain text #: guix-git/doc/guix.texi:1782 msgid "When using Guix on a foreign distro, we @emph{strongly recommend} that the system run the GNU C library's @dfn{name service cache daemon}, @command{nscd}, which should be listening on the @file{/var/run/nscd/socket} socket. Failing to do that, applications installed with Guix may fail to look up host names or user accounts, or may even crash. The next paragraphs explain why." msgstr "Wenn Sie Guix auf einer Fremddistribution verwenden, @emph{empfehlen wir stärkstens}, dass Sie den @dfn{Name Service Cache Daemon} der GNU-C-Bibliothek, @command{nscd}, laufen lassen, welcher auf dem Socket @file{/var/run/nscd/socket} lauschen sollte. Wenn Sie das nicht tun, könnten mit Guix installierte Anwendungen Probleme beim Auflösen von Hostnamen (d.h.@: Rechnernamen) oder Benutzerkonten haben, oder sogar abstürzen. Die nächsten Absätze erklären warum." #. type: file{#1} #: guix-git/doc/guix.texi:1783 #, no-wrap msgid "nsswitch.conf" msgstr "nsswitch.conf" #. type: Plain text #: guix-git/doc/guix.texi:1788 msgid "The GNU C library implements a @dfn{name service switch} (NSS), which is an extensible mechanism for ``name lookups'' in general: host name resolution, user accounts, and more (@pxref{Name Service Switch,,, libc, The GNU C Library Reference Manual})." msgstr "Die GNU-C-Bibliothek implementiert einen @dfn{Name Service Switch} (NSS), welcher einen erweiterbaren Mechanismus zur allgemeinen „Namensauflösung“ darstellt: Hostnamensauflösung, Benutzerkonten und weiteres (siehe @ref{Name Service Switch,,, libc, Referenzhandbuch der GNU-C-Bibliothek})." #. type: cindex #: guix-git/doc/guix.texi:1789 #, no-wrap msgid "Network information service (NIS)" msgstr "Network Information Service (NIS)" #. type: cindex #: guix-git/doc/guix.texi:1790 #, no-wrap msgid "NIS (Network information service)" msgstr "NIS (Network Information Service)" #. type: Plain text #: guix-git/doc/guix.texi:1799 msgid "Being extensible, the NSS supports @dfn{plugins}, which provide new name lookup implementations: for example, the @code{nss-mdns} plugin allow resolution of @code{.local} host names, the @code{nis} plugin allows user account lookup using the Network information service (NIS), and so on. These extra ``lookup services'' are configured system-wide in @file{/etc/nsswitch.conf}, and all the programs running on the system honor those settings (@pxref{NSS Configuration File,,, libc, The GNU C Reference Manual})." msgstr "Für die Erweiterbarkeit unterstützt der NSS @dfn{Plugins}, welche neue Implementierungen zur Namensauflösung bieten: Zum Beispiel ermöglicht das Plugin @code{nss-mdns} die Namensauflösung für @code{.local}-Hostnamen, das Plugin @code{nis} gestattet die Auflösung von Benutzerkonten über den Network Information Service (NIS) und so weiter. Diese zusätzlichen „Auflösungsdienste“ werden systemweit konfiguriert in @file{/etc/nsswitch.conf} und alle auf dem System laufenden Programme halten sich an diese Einstellungen (siehe @ref{NSS Configuration File,,, libc, GNU-C-Referenzhandbuch})." #. type: Plain text #: guix-git/doc/guix.texi:1809 msgid "When they perform a name lookup---for instance by calling the @code{getaddrinfo} function in C---applications first try to connect to the nscd; on success, nscd performs name lookups on their behalf. If the nscd is not running, then they perform the name lookup by themselves, by loading the name lookup services into their own address space and running it. These name lookup services---the @file{libnss_*.so} files---are @code{dlopen}'d, but they may come from the host system's C library, rather than from the C library the application is linked against (the C library coming from Guix)." msgstr "Wenn sie eine Namensauflösung durchführen@tie{}– zum Beispiel, indem sie die @code{getaddrinfo}-Funktion in C aufrufen@tie{}–, versuchen die Anwendungen als Erstes, sich mit dem nscd zu verbinden; ist dies erfolgreich, führt nscd für sie die weiteren Namensauflösungen durch. Falls nscd nicht läuft, führen sie selbst die Namensauflösungen durch, indem sie die Namensauflösungsdienste in ihren eigenen Adressraum laden und ausführen. Diese Namensauflösungsdienste@tie{}– die @file{libnss_*.so}-Dateien@tie{}– werden mit @code{dlopen} geladen, aber sie kommen von der C-Bibliothek des Wirtssystems und nicht von der C-Bibliothek, an die die Anwendung gebunden wurde (also der C-Bibliothek von Guix)." #. type: Plain text #: guix-git/doc/guix.texi:1814 msgid "And this is where the problem is: if your application is linked against Guix's C library (say, glibc 2.24) and tries to load NSS plugins from another C library (say, @code{libnss_mdns.so} for glibc 2.22), it will likely crash or have its name lookups fail unexpectedly." msgstr "Und hier kommt es zum Problem: Wenn die Anwendung an die C-Bibliothek von Guix (etwa glibc 2.24) gebunden wurde und die NSS-Plugins von einer anderen C-Bibliothek (etwa @code{libnss_mdns.so} für glibc 2.22) zu laden versucht, wird sie vermutlich abstürzen oder die Namensauflösungen werden unerwartet fehlschlagen." #. type: Plain text #: guix-git/doc/guix.texi:1819 msgid "Running @command{nscd} on the system, among other advantages, eliminates this binary incompatibility problem because those @code{libnss_*.so} files are loaded in the @command{nscd} process, not in applications themselves." msgstr "Durch das Ausführen von @command{nscd} auf dem System wird, neben anderen Vorteilen, dieses Problem der binären Inkompatibilität vermieden, weil diese @code{libnss_*.so}-Dateien vom @command{nscd}-Prozess geladen werden, nicht in den Anwendungen selbst." #. type: subsection #: guix-git/doc/guix.texi:1820 #, no-wrap msgid "X11 Fonts" msgstr "X11-Schriftarten" #. type: Plain text #: guix-git/doc/guix.texi:1830 msgid "The majority of graphical applications use Fontconfig to locate and load fonts and perform X11-client-side rendering. The @code{fontconfig} package in Guix looks for fonts in @file{$HOME/.guix-profile} by default. Thus, to allow graphical applications installed with Guix to display fonts, you have to install fonts with Guix as well. Essential font packages include @code{font-ghostscript}, @code{font-dejavu}, and @code{font-gnu-freefont}." msgstr "Die Mehrheit der grafischen Anwendungen benutzen Fontconfig zum Finden und Laden von Schriftarten und für die Darstellung im X11-Client. Im Paket @code{fontconfig} in Guix werden Schriftarten standardmäßig in @file{$HOME/.guix-profile} gesucht. Um es grafischen Anwendungen, die mit Guix installiert wurden, zu ermöglichen, Schriftarten anzuzeigen, müssen Sie die Schriftarten auch mit Guix installieren. Essenzielle Pakete für Schriftarten sind unter anderem @code{font-ghostscript}, @code{font-dejavu} und @code{font-gnu-freefont}." #. type: code{#1} #: guix-git/doc/guix.texi:1831 #, no-wrap msgid "fc-cache" msgstr "fc-cache" #. type: cindex #: guix-git/doc/guix.texi:1832 #, no-wrap msgid "font cache" msgstr "Font-Cache" #. type: Plain text #: guix-git/doc/guix.texi:1836 msgid "Once you have installed or removed fonts, or when you notice an application that does not find fonts, you may need to install Fontconfig and to force an update of its font cache by running:" msgstr "Sobald Sie Schriftarten installiert oder wieder entfernt haben oder wenn Ihnen auffällt, dass eine Anwendung Schriftarten nicht finden kann, dann müssen Sie vielleicht Fontconfig installieren und den folgenden Befehl ausführen, damit dessen Zwischenspeicher für Schriftarten aktualisiert wird:" #. type: example #: guix-git/doc/guix.texi:1840 #, no-wrap msgid "" "guix install fontconfig\n" "fc-cache -rv\n" msgstr "" "guix install fontconfig\n" "fc-cache -rv\n" #. type: Plain text #: guix-git/doc/guix.texi:1848 msgid "To display text written in Chinese languages, Japanese, or Korean in graphical applications, consider installing @code{font-adobe-source-han-sans} or @code{font-wqy-zenhei}. The former has multiple outputs, one per language family (@pxref{Packages with Multiple Outputs}). For instance, the following command installs fonts for Chinese languages:" msgstr "Um auf Chinesisch, Japanisch oder Koreanisch verfassten Text in grafischen Anwendungen anzeigen zu können, möchten Sie vielleicht @code{font-adobe-source-han-sans} oder @code{font-wqy-zenhei} installieren. Ersteres hat mehrere Ausgaben, für jede Sprachfamilie eine (siehe @ref{Packages with Multiple Outputs}). Zum Beispiel installiert folgender Befehl Schriftarten für chinesische Sprachen:" #. type: example #: guix-git/doc/guix.texi:1851 #, no-wrap msgid "guix install font-adobe-source-han-sans:cn\n" msgstr "guix install font-adobe-source-han-sans:cn\n" #. type: code{#1} #: guix-git/doc/guix.texi:1853 #, no-wrap msgid "xterm" msgstr "xterm" #. type: Plain text #: guix-git/doc/guix.texi:1857 msgid "Older programs such as @command{xterm} do not use Fontconfig and instead rely on server-side font rendering. Such programs require to specify a full name of a font using XLFD (X Logical Font Description), like this:" msgstr "Ältere Programme wie @command{xterm} benutzen kein Fontconfig, sondern X-Server-seitige Schriftartendarstellung. Solche Programme setzen voraus, dass der volle Name einer Schriftart mit XLFD (X Logical Font Description) angegeben wird, z.B.@: so:" #. type: example #: guix-git/doc/guix.texi:1860 #, no-wrap msgid "-*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1\n" msgstr "-*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1\n" #. type: Plain text #: guix-git/doc/guix.texi:1864 msgid "To be able to use such full names for the TrueType fonts installed in your Guix profile, you need to extend the font path of the X server:" msgstr "Um solche vollen Namen für die in Ihrem Guix-Profil installierten TrueType-Schriftarten zu verwenden, müssen Sie den Pfad für Schriftarten (Font Path) des X-Servers anpassen:" #. type: example #: guix-git/doc/guix.texi:1869 #, no-wrap msgid "xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))\n" msgstr "xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))\n" #. type: code{#1} #: guix-git/doc/guix.texi:1871 #, no-wrap msgid "xlsfonts" msgstr "xlsfonts" #. type: Plain text #: guix-git/doc/guix.texi:1874 msgid "After that, you can run @code{xlsfonts} (from @code{xlsfonts} package) to make sure your TrueType fonts are listed there." msgstr "Danach können Sie den Befehl @code{xlsfonts} ausführen (aus dem Paket @code{xlsfonts}), um sicherzustellen, dass dort Ihre TrueType-Schriftarten aufgeführt sind." #. type: code{#1} #: guix-git/doc/guix.texi:1878 guix-git/doc/guix.texi:42129 #, no-wrap msgid "nss-certs" msgstr "nss-certs" #. type: Plain text #: guix-git/doc/guix.texi:1881 msgid "The @code{nss-certs} package provides X.509 certificates, which allow programs to authenticate Web servers accessed over HTTPS." msgstr "Das Paket @code{nss-certs} bietet X.509-Zertifikate, womit Programme die Identität von Web-Servern authentifizieren können, auf die über HTTPS zugegriffen wird." #. type: Plain text #: guix-git/doc/guix.texi:1886 msgid "When using Guix on a foreign distro, you can install this package and define the relevant environment variables so that packages know where to look for certificates. @xref{X.509 Certificates}, for detailed information." msgstr "Wenn Sie Guix auf einer Fremddistribution verwenden, können Sie dieses Paket installieren und die relevanten Umgebungsvariablen festlegen, damit Pakete wissen, wo sie Zertifikate finden. Unter @ref{X.509 Certificates} stehen genaue Informationen." #. type: code{#1} #: guix-git/doc/guix.texi:1889 #, no-wrap msgid "emacs" msgstr "emacs" #. type: Plain text #: guix-git/doc/guix.texi:1895 msgid "When you install Emacs packages with Guix, the Elisp files are placed under the @file{share/emacs/site-lisp/} directory of the profile in which they are installed. The Elisp libraries are made available to Emacs through the @env{EMACSLOADPATH} environment variable, which is set when installing Emacs itself." msgstr "Wenn Sie Emacs-Pakete mit Guix installieren, werden die Elisp-Dateien innerhalb des Verzeichnisses @file{share/emacs/site-lisp/} in demjenigen Profil platziert, wohin sie installiert werden. Die Elisp-Bibliotheken werden in Emacs über die @env{EMACSLOADPATH}-Umgebungsvariable verfügbar gemacht, die durch die Installation von Emacs eingerichtet wird." #. type: cindex #: guix-git/doc/guix.texi:1896 #, no-wrap msgid "guix-emacs-autoload-packages, refreshing Emacs packages" msgstr "guix-emacs-autoload-packages, Emacs-Pakete neu erkennen" #. type: Plain text #: guix-git/doc/guix.texi:1905 msgid "Additionally, autoload definitions are automatically evaluated at the initialization of Emacs, by the Guix-specific @code{guix-emacs-autoload-packages} procedure. This procedure can be interactively invoked to have newly installed Emacs packages discovered, without having to restart Emacs. If, for some reason, you want to avoid auto-loading the Emacs packages installed with Guix, you can do so by running Emacs with the @option{--no-site-file} option (@pxref{Init File,,, emacs, The GNU Emacs Manual})." msgstr "Bei der Initialisierung von Emacs werden „Autoload“-Definitionen automatisch über die Guix-spezifische Prozedur @code{guix-emacs-autoload-packages} ausgewertet. Sie können diese Prozedur selbst interaktiv aufrufen, damit neu installierte Emacs-Pakete erkannt werden, ohne Emacs neu zu starten. Wenn Sie aber aus irgendeinem Grund die mit Guix installierten Pakete nicht automatisch laden lassen möchten, können Sie Emacs mit der Befehlszeilenoption @option{--no-site-file} starten (siehe @ref{Init File,,, emacs, The GNU Emacs Manual})." #. type: quotation #: guix-git/doc/guix.texi:1910 msgid "Most Emacs variants are now capable of doing native compilation. The approach taken by Guix Emacs however differs greatly from the approach taken upstream." msgstr "Die meisten Varianten von Emacs sind mittlerweile in der Lage, Code nativ zu kompilieren. Allerdings verhält sich Guix’ Emacs merklich anders als die Voreinstellungen der Emacs-Macher." #. type: quotation #: guix-git/doc/guix.texi:1917 msgid "Upstream Emacs compiles packages just-in-time and typically places shared object files in a special folder within your @code{user-emacs-directory}. These shared objects within said folder are organized in a flat hierarchy, and their file names contain two hashes to verify the original file name and contents of the source code." msgstr "Deren Emacs kompiliert Pakete bei Bedarf („just-in-time“) und legt die Objektdateien („Shared Objects“) in einem eigenen Verzeichnis innerhalb Ihres @code{user-emacs-directory}-Verzeichnisses an. Die Objektdateien darin sind in einer flachen Hierarchie angeordnet und tragen Dateinamen mit zwei Hashes, mit denen der ursprüngliche Dateiname und der Inhalt des Quellcodes verifiziert werden." #. type: quotation #: guix-git/doc/guix.texi:1926 msgid "Guix Emacs on the other hand prefers to compile packages ahead-of-time. Shared objects retain much of the original file name and no hashes are added to verify the original file name or the contents of the file. Crucially, this allows Guix Emacs and packages built against it to be grafted (@pxref{Security Updates, grafts}), but at the same time, Guix Emacs lacks the hash-based verification of source code baked into upstream Emacs. As this naming schema is trivial to exploit, we disable just-in-time compilation." msgstr "Guix’ Emacs dagegen kompiliert seine Pakete bevorzugt im Voraus. Objektdateien tragen im Wesentlichen den ursprünglichen Dateinamen ohne zusätzliche Hashes, mit denen Name oder Inhalt verifiziert würde. Das ermöglicht es, für Guix’ Emacs erstellte Pakete zu veredeln (siehe @ref{Security Updates, Veredelungen}) und obwohl Guix’ Emacs so auch die hashbasierte Verifizierung des Quellcodes wie im Original-Emacs fehlt, kann eine solche Benennung als Sicherheitsmaßnahme ohnehin leicht umgangen werden. Daher schalten wir Just-in-time-Kompilieren ab." #. type: quotation #: guix-git/doc/guix.texi:1931 msgid "Further note, that @code{emacs-minimal}---the default Emacs for building packages---has been configured without native compilation. To natively compile your emacs packages ahead of time, use a transformation like @option{--with-input=emacs-minimal=emacs}." msgstr "Darüber hinaus sei erwähnt, dass @code{emacs-minimal}@tie{}– die Emacs-Variante, mit der normalerweise Emacs-Pakete erstellt werden@tie{}– weiterhin keine nativen Befehle generiert. Um native Befehle für Ihre Emacs-Pakete schon im Voraus zu erzeugen, nutzen Sie eine Transformation, z.B.@: @option{--with-input=emacs-minimal=emacs}." #. type: cindex #: guix-git/doc/guix.texi:1936 #, no-wrap msgid "Upgrading Guix, on a foreign distro" msgstr "Aktualisieren von Guix, auf einer Fremddistribution" #. type: Plain text #: guix-git/doc/guix.texi:1939 msgid "To upgrade Guix, run:" msgstr "Um Guix zu aktualisieren, führen Sie aus:" #. type: example #: guix-git/doc/guix.texi:1942 guix-git/doc/guix.texi:2787 #, no-wrap msgid "guix pull\n" msgstr "guix pull\n" #. type: Plain text #: guix-git/doc/guix.texi:1945 msgid "@xref{Invoking guix pull}, for more information." msgstr "Siehe @ref{Invoking guix pull} für weitere Informationen." #. type: cindex #: guix-git/doc/guix.texi:1946 #, no-wrap msgid "upgrading Guix for the root user, on a foreign distro" msgstr "Aktualisieren von Guix für den root-Administratornutzer, auf einer Fremddistribution" #. type: cindex #: guix-git/doc/guix.texi:1947 #, no-wrap msgid "upgrading the Guix daemon, on a foreign distro" msgstr "Aktualisieren des Guix-Daemon, auf einer Fremddistribution" #. type: cindex #: guix-git/doc/guix.texi:1948 #, no-wrap msgid "@command{guix pull} for the root user, on a foreign distro" msgstr "@command{guix pull} für den root-Administratornutzer, auf einer Fremddistribution" #. type: Plain text #: guix-git/doc/guix.texi:1951 msgid "On a foreign distro, you can upgrade the build daemon by running:" msgstr "Auf einer Fremddistribution können Sie den Erstellungsdaemon aktualisieren, indem Sie diesen Befehl:" #. type: example #: guix-git/doc/guix.texi:1954 #, no-wrap msgid "sudo -i guix pull\n" msgstr "sudo -i guix pull\n" #. type: Plain text #: guix-git/doc/guix.texi:1959 msgid "followed by (assuming your distro uses the systemd service management tool):" msgstr "gefolgt von diesem ausführen (unter der Annahme, dass Ihre Distribution zur Dienstverwaltung das systemd-Werkzeug benutzt):" #. type: example #: guix-git/doc/guix.texi:1962 #, no-wrap msgid "systemctl restart guix-daemon.service\n" msgstr "systemctl restart guix-daemon.service\n" #. type: Plain text #: guix-git/doc/guix.texi:1966 msgid "On Guix System, upgrading the daemon is achieved by reconfiguring the system (@pxref{Invoking guix system, @code{guix system reconfigure}})." msgstr "Auf Guix System wird der Daemon aktualisiert, indem Sie das System rekonfigurieren (siehe @ref{Invoking guix system, @code{guix system reconfigure}})." #. type: cindex #: guix-git/doc/guix.texi:1973 #, no-wrap msgid "installing Guix System" msgstr "Installieren von Guix System" #. type: cindex #: guix-git/doc/guix.texi:1974 #, no-wrap msgid "Guix System, installation" msgstr "Guix System, Installation" #. type: Plain text #: guix-git/doc/guix.texi:1979 msgid "This section explains how to install Guix System on a machine. Guix, as a package manager, can also be installed on top of a running GNU/Linux system, @pxref{Installation}." msgstr "Dieser Abschnitt beschreibt, wie Sie „Guix System“ auf einer Maschine installieren. Guix kann auch als Paketverwaltungswerkzeug ein bestehendes GNU/Linux-System ergänzen, mehr dazu finden Sie im Abschnitt @ref{Installation}." #. type: quotation #: guix-git/doc/guix.texi:1988 msgid "You are reading this documentation with an Info reader. For details on how to use it, hit the @key{RET} key (``return'' or ``enter'') on the link that follows: @pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}. Hit @kbd{l} afterwards to come back here." msgstr "Sie lesen diese Dokumentation mit einem Info-Betrachter. Details, wie Sie ihn bedienen, erfahren Sie, indem Sie die Eingabetaste (auch „Return“ oder „Enter“ genannt) auf folgender Verknüpfung drücken: @ref{Top, Info-Betrachter,, info-stnd, Stand-alone GNU Info}. Drücken Sie danach @kbd{l}, um hierher zurückzukommen." #. type: quotation #: guix-git/doc/guix.texi:1991 msgid "Alternatively, run @command{info info} in another tty to keep the manual available." msgstr "Führen Sie alternativ @command{info info} auf einer anderen Konsole (tty) aus, um dieses Handbuch offen zu lassen." #. type: Plain text #: guix-git/doc/guix.texi:2012 msgid "We consider Guix System to be ready for a wide range of ``desktop'' and server use cases. The reliability guarantees it provides---transactional upgrades and rollbacks, reproducibility---make it a solid foundation." msgstr "Wir denken, dass Guix System für viele Anwendungszwecke von Heim- und Bürorechnern bis hin zu Servern geeignet ist. Die Verlässlichkeitsgarantien, die es einem bietet@tie{}– transaktionelle Aktualisierungen und Rücksetzungen, Reproduzierbarkeit@tie{}– machen es zu einer soliden Grundlage." #. type: Plain text #: guix-git/doc/guix.texi:2014 msgid "More and more system services are provided (@pxref{Services})." msgstr "Immer mehr Systemdienste sind verfügbar (siehe @ref{Services})." #. type: Plain text #: guix-git/doc/guix.texi:2017 msgid "Nevertheless, before you proceed with the installation, be aware that some services you rely on may still be missing from version @value{VERSION}." msgstr "Bevor Sie mit der Installation fortfahren, denken Sie daran, dass in der Version @value{VERSION} vielleicht von Ihnen benötigte Dienste fehlen." #. type: Plain text #: guix-git/doc/guix.texi:2021 msgid "More than a disclaimer, this is an invitation to report issues (and success stories!), and to join us in improving it. @xref{Contributing}, for more info." msgstr "Dies soll allerdings nicht nur ein Hinweis sein, sondern auch als Einladung aufgefasst werden, uns Fehler (und Erfolgsgeschichten!) zu melden und bei uns mitzumachen, um Guix zu verbessern. Siehe den Abschnitt @ref{Contributing}." #. type: cindex #: guix-git/doc/guix.texi:2026 #, no-wrap msgid "hardware support on Guix System" msgstr "Hardwareunterstützung von Guix System" #. type: Plain text #: guix-git/doc/guix.texi:2035 msgid "GNU@tie{}Guix focuses on respecting the user's computing freedom. It builds around the kernel Linux-libre, which means that only hardware for which free software drivers and firmware exist is supported. Nowadays, a wide range of off-the-shelf hardware is supported on GNU/Linux-libre---from keyboards to graphics cards to scanners and Ethernet controllers. Unfortunately, there are still areas where hardware vendors deny users control over their own computing, and such hardware is not supported on Guix System." msgstr "GNU@tie{}Guix legt den Fokus darauf, die Freiheit des Nutzers auf seinem Rechner zu respektieren. Es baut auf Linux-libre als Kernel auf, wodurch nur Hardware unterstützt wird, für die Treiber und Firmware existieren, die freie Software sind. Heutzutage wird ein großer Teil der handelsüblichen Hardware von GNU/Linux-libre unterstützt@tie{}– von Tastaturen bis hin zu Grafikkarten, Scannern und Ethernet-Adaptern. Leider gibt es noch Bereiche, wo die Hardwareanbieter ihren Nutzern die Kontrolle über ihren eigenen Rechner verweigern. Solche Hardware wird von Guix System nicht unterstützt." #. type: cindex #: guix-git/doc/guix.texi:2036 #, no-wrap msgid "WiFi, hardware support" msgstr "WLAN, Hardware-Unterstützung" #. type: Plain text #: guix-git/doc/guix.texi:2045 msgid "One of the main areas where free drivers or firmware are lacking is WiFi devices. WiFi devices known to work include those using Atheros chips (AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core Revision 5), which corresponds to the @code{b43-open} Linux-libre driver. Free firmware exists for both and is available out-of-the-box on Guix System, as part of @code{%base-firmware} (@pxref{operating-system Reference, @code{firmware}})." msgstr "Einer der wichtigsten Bereiche, wo es an freien Treibern und freier Firmware mangelt, sind WLAN-Geräte. WLAN-Geräte, von denen wir wissen, dass sie funktionieren, sind unter anderem solche, die die Atheros-Chips AR9271 und AR7010 verbauen, welche der Linux-libre-Treiber @code{ath9k} unterstützt, und die, die Broadcom/AirForce-Chips BCM43xx (mit Wireless-Core Revision 5) verbauen, welche der Linux-libre-Treiber @code{b43-open} unterstützt. Freie Firmware gibt es für beide und sie wird von Haus aus mit Guix System als ein Teil von @code{%base-firmware} mitgeliefert (siehe @ref{operating-system Reference, @code{firmware}})." #. type: Plain text #: guix-git/doc/guix.texi:2048 msgid "The installer warns you early on if it detects devices that are known @emph{not} to work due to the lack of free firmware or free drivers." msgstr "Das Installationsprogramm zeigt zu Beginn eine Warnung an, wenn es Geräte erkennt, die bekanntlich @emph{nicht} funktionieren, weil es keine freie Firmware oder keine freien Treiber dafür gibt." #. type: cindex #: guix-git/doc/guix.texi:2049 #, no-wrap msgid "RYF, Respects Your Freedom" msgstr "RYF, Respects Your Freedom" #. type: Plain text #: guix-git/doc/guix.texi:2055 msgid "The @uref{https://www.fsf.org/, Free Software Foundation} runs @uref{https://www.fsf.org/ryf, @dfn{Respects Your Freedom}} (RYF), a certification program for hardware products that respect your freedom and your privacy and ensure that you have control over your device. We encourage you to check the list of RYF-certified devices." msgstr "Die @uref{https://www.fsf.org/, Free Software Foundation} betreibt @uref{https://www.fsf.org/ryf, @dfn{Respects Your Freedom}} (RYF), ein Zertifizierungsprogramm für Hardware-Produkte, die Ihre Freiheit respektieren, Datenschutz gewährleisten und sicherstellen, dass Sie die Kontrolle über Ihr Gerät haben. Wir ermutigen Sie dazu, die Liste RYF-zertifizierter Geräte zu beachten." #. type: Plain text #: guix-git/doc/guix.texi:2059 msgid "Another useful resource is the @uref{https://www.h-node.org/, H-Node} web site. It contains a catalog of hardware devices with information about their support in GNU/Linux." msgstr "Eine weitere nützliche Ressource ist die Website @uref{https://h-node.org/home/index/de, H-Node}. Dort steht ein Katalog von Hardware-Geräten mit Informationen darüber, wie gut sie von GNU/Linux unterstützt werden." #. type: Plain text #: guix-git/doc/guix.texi:2068 msgid "An ISO-9660 installation image that can be written to a USB stick or burnt to a DVD can be downloaded from @indicateurl{@value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso}, where you can replace @code{x86_64-linux} with one of:" msgstr "Sie können ein ISO-9660-Installationsabbild von @indicateurl{@value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso} herunterladen, dass Sie auf einen USB-Stick aufspielen oder auf eine DVD brennen können, wobei Sie anstelle von @code{x86_64-linux} eines der folgenden schreiben können:" #. type: table #: guix-git/doc/guix.texi:2072 msgid "for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;" msgstr "für ein GNU/Linux-System auf Intel/AMD-kompatiblen 64-Bit-Prozessoren," #. type: table #: guix-git/doc/guix.texi:2075 msgid "for a 32-bit GNU/Linux system on Intel-compatible CPUs." msgstr "für ein 32-Bit-GNU/Linux-System auf Intel-kompatiblen Prozessoren." #. type: Plain text #: guix-git/doc/guix.texi:2080 msgid "Make sure to download the associated @file{.sig} file and to verify the authenticity of the image against it, along these lines:" msgstr "Laden Sie auch die entsprechende @file{.sig}-Datei herunter und verifizieren Sie damit die Authentizität Ihres Abbilds, indem Sie diese Befehle eingeben:" #. type: example #: guix-git/doc/guix.texi:2084 #, no-wrap msgid "" "$ wget @value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso.sig\n" "$ gpg --verify guix-system-install-@value{VERSION}.x86_64-linux.iso.sig\n" msgstr "" "$ wget @value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso.sig\n" "$ gpg --verify guix-system-install-@value{VERSION}.x86_64-linux.iso.sig\n" #. type: Plain text #: guix-git/doc/guix.texi:2088 msgid "If that command fails because you do not have the required public key, then run this command to import it:" msgstr "Falls dieser Befehl fehlschlägt, weil Sie nicht über den nötigen öffentlichen Schlüssel verfügen, können Sie ihn mit diesem Befehl importieren:" #. type: example #: guix-git/doc/guix.texi:2092 #, no-wrap msgid "" "$ wget @value{OPENPGP-SIGNING-KEY-URL} \\\n" " -qO - | gpg --import -\n" msgstr "" "$ wget @value{OPENPGP-SIGNING-KEY-URL} \\\n" " -qO - | gpg --import -\n" #. type: Plain text #: guix-git/doc/guix.texi:2096 msgid "and rerun the @code{gpg --verify} command." msgstr "und den Befehl @code{gpg --verify} erneut ausführen." #. type: Plain text #: guix-git/doc/guix.texi:2099 msgid "Take note that a warning like ``This key is not certified with a trusted signature!'' is normal." msgstr "Beachten Sie, dass eine Warnung wie „Dieser Schlüssel trägt keine vertrauenswürdige Signatur!“ normal ist." #. type: Plain text #: guix-git/doc/guix.texi:2104 msgid "This image contains the tools necessary for an installation. It is meant to be copied @emph{as is} to a large-enough USB stick or DVD." msgstr "Dieses Abbild enthält die Werkzeuge, die Sie zur Installation brauchen. Es ist dafür gedacht, @emph{so wie es ist} auf einen hinreichend großen USB-Stick oder eine DVD kopiert zu werden." #. type: unnumberedsubsec #: guix-git/doc/guix.texi:2105 #, no-wrap msgid "Copying to a USB Stick" msgstr "Kopieren auf einen USB-Stick" #. type: Plain text #: guix-git/doc/guix.texi:2110 msgid "Insert a USB stick of 1@tie{}GiB or more into your machine, and determine its device name. Assuming that the USB stick is known as @file{/dev/sdX}, copy the image with:" msgstr "Stecken Sie einen USB-Stick in Ihren Rechner ein, der mindestens 1@tie{}GiB groß ist, und bestimmen Sie seinen Gerätenamen. Ist der Gerätename des USB-Sticks @file{/dev/sdX}, dann kopieren Sie das Abbild mit dem Befehl:" #. type: example #: guix-git/doc/guix.texi:2114 #, no-wrap msgid "" "dd if=guix-system-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX status=progress\n" "sync\n" msgstr "" "dd if=guix-system-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX status=progress\n" "sync\n" #. type: Plain text #: guix-git/doc/guix.texi:2117 msgid "Access to @file{/dev/sdX} usually requires root privileges." msgstr "Sie benötigen in der Regel Administratorrechte, um auf @file{/dev/sdX} zuzugreifen." #. type: unnumberedsubsec #: guix-git/doc/guix.texi:2118 #, no-wrap msgid "Burning on a DVD" msgstr "Auf eine DVD brennen" #. type: Plain text #: guix-git/doc/guix.texi:2123 msgid "Insert a blank DVD into your machine, and determine its device name. Assuming that the DVD drive is known as @file{/dev/srX}, copy the image with:" msgstr "Legen Sie eine unbespielte DVD in Ihren Rechner ein und bestimmen Sie ihren Gerätenamen. Angenommen der Name des DVD-Laufwerks ist @file{/dev/srX}, kopieren Sie das Abbild mit:" #. type: example #: guix-git/doc/guix.texi:2126 #, no-wrap msgid "growisofs -dvd-compat -Z /dev/srX=guix-system-install-@value{VERSION}.x86_64-linux.iso\n" msgstr "growisofs -dvd-compat -Z /dev/srX=guix-system-install-@value{VERSION}.x86_64-linux.iso\n" #. type: Plain text #: guix-git/doc/guix.texi:2129 msgid "Access to @file{/dev/srX} usually requires root privileges." msgstr "Der Zugriff auf @file{/dev/srX} setzt in der Regel Administratorrechte voraus." #. type: unnumberedsubsec #: guix-git/doc/guix.texi:2130 #, no-wrap msgid "Booting" msgstr "Das System starten" #. type: Plain text #: guix-git/doc/guix.texi:2137 msgid "Once this is done, you should be able to reboot the system and boot from the USB stick or DVD@. The latter usually requires you to get in the BIOS or UEFI boot menu, where you can choose to boot from the USB stick. In order to boot from Libreboot, switch to the command mode by pressing the @kbd{c} key and type @command{search_grub usb}." msgstr "Sobald das erledigt ist, sollten Sie Ihr System neu starten und es vom USB-Stick oder der DVD hochfahren („booten“) können. Dazu müssen Sie wahrscheinlich beim Starten des Rechners in das BIOS- oder UEFI-Boot-Menü gehen, von wo aus Sie auswählen können, dass vom USB-Stick gebootet werden soll. Um aus Libreboot heraus zu booten, wechseln Sie in den Befehlsmodus, indem Sie die @kbd{c}-Taste drücken, und geben Sie @command{search_grub usb} ein." #. type: Plain text #: guix-git/doc/guix.texi:2147 msgid "Sadly, on some machines, the installation medium cannot be properly booted and you only see a black screen after booting even after you waited for ten minutes. This may indicate that your machine cannot run Guix System; perhaps you instead want to install Guix on a foreign distro (@pxref{Binary Installation}). But don't give up just yet; a possible workaround is pressing the @kbd{e} key in the GRUB boot menu and appending @option{nomodeset} to the Linux bootline. Sometimes the black screen issue can also be resolved by connecting a different display." msgstr "Leider scheitert auf manchen Maschinen der Bootvorgang und Sie bekommen nach dem Booten nur einen schwarzen Bildschirm zu sehen, selbst nachdem Sie zehn Minuten lang gewartet haben. Das kann bedeuten, dass Ihre Maschine Guix System nicht ausführen kann; vielleicht möchten Sie stattdessen Guix auf einer Fremddistribution installieren (siehe @ref{Binary Installation}). Aber es ist noch zu früh, um aufzugeben; womöglich lässt sich der schwarze Bildschirm umgehen, indem Sie in GRUBs Bootmenü die Taste @kbd{e} drücken und die Option @option{nomodeset} an die Linux-Bootzeile anhängen. In manchen Fällen kann das Problem mit dem schwarzen Bildschirm auch gelöst werden, indem Sie einen anderen Bildschirm anschließen." #. type: Plain text #: guix-git/doc/guix.texi:2150 msgid "@xref{Installing Guix in a VM}, if, instead, you would like to install Guix System in a virtual machine (VM)." msgstr "Lesen Sie den Abschnitt @ref{Installing Guix in a VM}, wenn Sie Guix System stattdessen in einer virtuellen Maschine (VM) installieren möchten." #. type: Plain text #: guix-git/doc/guix.texi:2160 msgid "Once you have booted, you can use the guided graphical installer, which makes it easy to get started (@pxref{Guided Graphical Installation}). Alternatively, if you are already familiar with GNU/Linux and if you want more control than what the graphical installer provides, you can choose the ``manual'' installation process (@pxref{Manual Installation})." msgstr "Wenn Sie Ihren Rechner gebootet haben, können Sie sich vom grafischen Installationsprogramm durch den Installationsvorgang führen lassen, was den Einstieg leicht macht (siehe @ref{Guided Graphical Installation}). Alternativ können Sie sich auch für einen „manuellen“ Installationsvorgang entscheiden, wenn Sie bereits mit GNU/Linux vertraut sind und mehr Kontrolle haben möchten, als sie das grafische Installationsprogramm bietet (siehe @ref{Manual Installation})." #. type: Plain text #: guix-git/doc/guix.texi:2168 msgid "The graphical installer is available on TTY1. You can obtain root shells on TTYs 3 to 6 by hitting @kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, etc. TTY2 shows this documentation and you can reach it with @kbd{ctrl-alt-f2}. Documentation is browsable using the Info reader commands (@pxref{Top,,, info-stnd, Stand-alone GNU Info}). The installation system runs the GPM mouse daemon, which allows you to select text with the left mouse button and to paste it with the middle button." msgstr "Das grafische Installationsprogramm steht Ihnen auf TTY1 zur Verfügung. Auf den TTYs 3 bis 6 können Sie vor sich eine Eingabeaufforderung für den Administratornutzer „root“ sehen, nachdem Sie @kbd{strg-alt-f3}, @kbd{strg-alt-f4} usw.@: gedrückt haben. TTY2 zeigt Ihnen dieses Handbuch, das Sie über die Tastenkombination @kbd{strg-alt-f2} erreichen. In dieser Dokumentation können Sie mit den Steuerungsbefehlen Ihres Info-Betrachters blättern (siehe @ref{Top,,, info-stnd, Stand-alone GNU Info}). Auf dem Installationssystem läuft der GPM-Maus-Daemon, wodurch Sie Text mit der linken Maustaste markieren und ihn mit der mittleren Maustaste einfügen können." #. type: quotation #: guix-git/doc/guix.texi:2173 msgid "Installation requires access to the Internet so that any missing dependencies of your system configuration can be downloaded. See the ``Networking'' section below." msgstr "Für die Installation benötigen Sie Zugang zum Internet, damit fehlende Abhängigkeiten Ihrer Systemkonfiguration heruntergeladen werden können. Im Abschnitt „Netzwerkkonfiguration“ weiter unten finden Sie mehr Informationen dazu." #. type: Plain text #: guix-git/doc/guix.texi:2180 msgid "The graphical installer is a text-based user interface. It will guide you, with dialog boxes, through the steps needed to install GNU@tie{}Guix System." msgstr "Das grafische Installationsprogramm ist mit einer textbasierten Benutzeroberfläche ausgestattet. Es kann Sie mit Dialogfeldern durch die Schritte führen, mit denen Sie GNU@tie{}Guix System installieren." #. type: Plain text #: guix-git/doc/guix.texi:2185 msgid "The first dialog boxes allow you to set up the system as you use it during the installation: you can choose the language, keyboard layout, and set up networking, which will be used during the installation. The image below shows the networking dialog." msgstr "Die ersten Dialogfelder ermöglichen es Ihnen, das System aufzusetzen, wie Sie es bei der Installation benutzen: Sie können die Sprache und Tastaturbelegung festlegen und die Netzwerkanbindung einrichten, die während der Installation benutzt wird. Das folgende Bild zeigt den Dialog zur Einrichtung der Netzwerkanbindung." #. type: Plain text #: guix-git/doc/guix.texi:2187 msgid "@image{images/installer-network,5in,, networking setup with the graphical installer}" msgstr "@image{images/installer-network,5in,, Netzwerkanbindung einrichten mit dem grafischen Installationsprogramm}" #. type: Plain text #: guix-git/doc/guix.texi:2192 msgid "Later steps allow you to partition your hard disk, as shown in the image below, to choose whether or not to use encrypted file systems, to enter the host name and root password, and to create an additional account, among other things." msgstr "Mit den danach kommenden Schritten können Sie Ihre Festplatte partitionieren, wie im folgenden Bild gezeigt, und auswählen, ob Ihre Dateisysteme verschlüsselt werden sollen oder nicht. Sie können Ihren Rechnernamen und das Administratorpasswort (das „root“-Passwort) festlegen und ein Benutzerkonto einrichten, und noch mehr." #. type: Plain text #: guix-git/doc/guix.texi:2194 msgid "@image{images/installer-partitions,5in,, partitioning with the graphical installer}" msgstr "@image{images/installer-partitions,5in,, Partitionieren mit dem grafischen Installationsprogramm}" #. type: Plain text #: guix-git/doc/guix.texi:2197 msgid "Note that, at any time, the installer allows you to exit the current installation step and resume at a previous step, as show in the image below." msgstr "Beachten Sie, dass Sie mit dem Installationsprogramm jederzeit den aktuellen Installationsschritt verlassen und zu einem vorherigen Schritt zurückkehren können, wie Sie im folgenden Bild sehen können." #. type: Plain text #: guix-git/doc/guix.texi:2199 msgid "@image{images/installer-resume,5in,, resuming the installation process}" msgstr "@image{images/installer-resume,5in,, Mit einem Installationsschritt fortfahren}" #. type: Plain text #: guix-git/doc/guix.texi:2204 msgid "Once you're done, the installer produces an operating system configuration and displays it (@pxref{Using the Configuration System}). At that point you can hit ``OK'' and installation will proceed. On success, you can reboot into the new system and enjoy. @xref{After System Installation}, for what's next!" msgstr "Sobald Sie fertig sind, erzeugt das Installationsprogramm eine Betriebssystemkonfiguration und zeigt sie an (siehe @ref{Using the Configuration System}). Zu diesem Zeitpunkt können Sie auf „OK“ drücken und die Installation wird losgehen. Ist sie erfolgreich, können Sie neu starten und Ihr neues System genießen. Siehe @ref{After System Installation} für Informationen, wie es weitergeht!" #. type: Plain text #: guix-git/doc/guix.texi:2214 msgid "This section describes how you would ``manually'' install GNU@tie{}Guix System on your machine. This option requires familiarity with GNU/Linux, with the shell, and with common administration tools. If you think this is not for you, consider using the guided graphical installer (@pxref{Guided Graphical Installation})." msgstr "Dieser Abschnitt beschreibt, wie Sie GNU@tie{}Guix System auf manuelle Weise auf Ihrer Maschine installieren. Diese Alternative setzt voraus, dass Sie bereits mit GNU/Linux, der Shell und üblichen Administrationswerkzeugen vertraut sind. Wenn Sie glauben, dass das nichts für Sie ist, dann möchten Sie vielleicht das geführte grafische Installationsprogramm benutzen (siehe @ref{Guided Graphical Installation})." #. type: Plain text #: guix-git/doc/guix.texi:2220 msgid "The installation system provides root shells on TTYs 3 to 6; press @kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, and so on to reach them. It includes many common tools needed to install the system, but is also a full-blown Guix System. This means that you can install additional packages, should you need it, using @command{guix package} (@pxref{Invoking guix package})." msgstr "Das Installationssystem macht Eingabeaufforderungen auf den TTYs 3 bis 6 zugänglich, auf denen Sie als Administratornutzer Befehle eingeben können; Sie erreichen diese, indem Sie die Tastenkombinationen @kbd{strg-alt-f3}, @kbd{strg-alt-f4} und so weiter benutzen. Es enthält viele übliche Werkzeuge, mit denen Sie diese Aufgabe bewältigen können. Da es sich auch um ein vollständiges „Guix System“-System handelt, können Sie aber auch andere Pakete mit dem Befehl @command{guix package} nachinstallieren, wenn Sie sie brauchen (siehe @ref{Invoking guix package})." #. type: subsection #: guix-git/doc/guix.texi:2227 #, no-wrap msgid "Keyboard Layout, Networking, and Partitioning" msgstr "Tastaturbelegung, Netzwerkanbindung und Partitionierung" #. type: Plain text #: guix-git/doc/guix.texi:2232 msgid "Before you can install the system, you may want to adjust the keyboard layout, set up networking, and partition your target hard disk. This section will guide you through this." msgstr "Bevor Sie das System installieren können, wollen Sie vielleicht die Tastaturbelegung ändern, eine Netzwerkverbindung herstellen und die Zielfestplatte partitionieren. Dieser Abschnitt wird Sie durch diese Schritte führen." #. type: cindex #: guix-git/doc/guix.texi:2235 guix-git/doc/guix.texi:18761 #, no-wrap msgid "keyboard layout" msgstr "Tastaturbelegung" #. type: Plain text #: guix-git/doc/guix.texi:2239 msgid "The installation image uses the US qwerty keyboard layout. If you want to change it, you can use the @command{loadkeys} command. For example, the following command selects the Dvorak keyboard layout:" msgstr "Das Installationsabbild verwendet die US-amerikanische QWERTY-Tastaturbelegung. Wenn Sie dies ändern möchten, können Sie den @command{loadkeys}-Befehl benutzen. Mit folgendem Befehl würden Sie zum Beispiel die Dvorak-Tastaturbelegung auswählen:" #. type: example #: guix-git/doc/guix.texi:2242 #, no-wrap msgid "loadkeys dvorak\n" msgstr "loadkeys dvorak\n" #. type: Plain text #: guix-git/doc/guix.texi:2247 msgid "See the files under @file{/run/current-system/profile/share/keymaps} for a list of available keyboard layouts. Run @command{man loadkeys} for more information." msgstr "Schauen Sie sich an, welche Dateien im Verzeichnis @file{/run/current-system/profile/share/keymaps} stehen, um eine Liste verfügbarer Tastaturbelegungen zu sehen. Wenn Sie mehr Informationen brauchen, führen Sie @command{man loadkeys} aus." #. type: anchor{#1} #: guix-git/doc/guix.texi:2249 msgid "manual-installation-networking" msgstr "manual-installation-networking" #. type: subsubsection #: guix-git/doc/guix.texi:2249 #, no-wrap msgid "Networking" msgstr "Netzwerkkonfiguration" #. type: Plain text #: guix-git/doc/guix.texi:2252 msgid "Run the following command to see what your network interfaces are called:" msgstr "Führen Sie folgenden Befehl aus, um zu sehen, wie Ihre Netzwerkschnittstellen benannt sind:" #. type: example #: guix-git/doc/guix.texi:2255 #, no-wrap msgid "ifconfig -a\n" msgstr "ifconfig -a\n" #. type: table #: guix-git/doc/guix.texi:2259 guix-git/doc/guix.texi:2281 msgid "@dots{} or, using the GNU/Linux-specific @command{ip} command:" msgstr "…@: oder mit dem GNU/Linux-eigenen @command{ip}-Befehl:" #. type: example #: guix-git/doc/guix.texi:2262 #, no-wrap msgid "ip address\n" msgstr "ip address\n" #. type: Plain text #: guix-git/doc/guix.texi:2269 msgid "Wired interfaces have a name starting with @samp{e}; for example, the interface corresponding to the first on-board Ethernet controller is called @samp{eno1}. Wireless interfaces have a name starting with @samp{w}, like @samp{w1p2s0}." msgstr "Der Name kabelgebundener Schnittstellen (engl. Interfaces) beginnt mit dem Buchstaben @samp{e}, zum Beispiel heißt die dem ersten fest eingebauten Ethernet-Adapter entsprechende Schnittstelle @samp{eno1}. Drahtlose Schnittstellen werden mit einem Namen bezeichnet, der mit dem Buchstaben @samp{w} beginnt, etwa @samp{w1p2s0}." #. type: item #: guix-git/doc/guix.texi:2271 #, no-wrap msgid "Wired connection" msgstr "Kabelverbindung" #. type: table #: guix-git/doc/guix.texi:2274 msgid "To configure a wired network run the following command, substituting @var{interface} with the name of the wired interface you want to use." msgstr "Um ein kabelgebundenes Netzwerk einzurichten, führen Sie den folgenden Befehl aus, wobei Sie statt @var{Schnittstelle} den Namen der kabelgebundenen Schnittstelle eintippen, die Sie benutzen möchten." #. type: example #: guix-git/doc/guix.texi:2277 #, no-wrap msgid "ifconfig @var{interface} up\n" msgstr "ifconfig @var{Schnittstelle} up\n" #. type: example #: guix-git/doc/guix.texi:2284 #, no-wrap msgid "ip link set @var{interface} up\n" msgstr "ip link set @var{Schnittstelle} up\n" #. type: item #: guix-git/doc/guix.texi:2286 #, no-wrap msgid "Wireless connection" msgstr "Drahtlose Verbindung" #. type: cindex #: guix-git/doc/guix.texi:2287 #, no-wrap msgid "wireless" msgstr "WLAN" #. type: cindex #: guix-git/doc/guix.texi:2288 #, no-wrap msgid "WiFi" msgstr "WiFi" #. type: table #: guix-git/doc/guix.texi:2293 msgid "To configure wireless networking, you can create a configuration file for the @command{wpa_supplicant} configuration tool (its location is not important) using one of the available text editors such as @command{nano}:" msgstr "Um Drahtlosnetzwerke einzurichten, können Sie eine Konfigurationsdatei für das Konfigurationswerkzeug des @command{wpa_supplicant} schreiben (wo Sie sie speichern, ist nicht wichtig), indem Sie eines der verfügbaren Textbearbeitungsprogramme wie etwa @command{nano} benutzen:" #. type: example #: guix-git/doc/guix.texi:2296 #, no-wrap msgid "nano wpa_supplicant.conf\n" msgstr "nano wpa_supplicant.conf\n" #. type: table #: guix-git/doc/guix.texi:2301 msgid "As an example, the following stanza can go to this file and will work for many wireless networks, provided you give the actual SSID and passphrase for the network you are connecting to:" msgstr "Zum Beispiel können Sie die folgende Formulierung in der Datei speichern, die für viele Drahtlosnetzwerke funktioniert, sofern Sie die richtige SSID und Passphrase für das Netzwerk eingeben, mit dem Sie sich verbinden möchten:" #. type: example #: guix-git/doc/guix.texi:2308 #, no-wrap msgid "" "network=@{\n" " ssid=\"@var{my-ssid}\"\n" " key_mgmt=WPA-PSK\n" " psk=\"the network's secret passphrase\"\n" "@}\n" msgstr "" "network=@{\n" " ssid=\"@var{meine-ssid}\"\n" " key_mgmt=WPA-PSK\n" " psk=\"geheime Passphrase des Netzwerks\"\n" "@}\n" #. type: table #: guix-git/doc/guix.texi:2313 msgid "Start the wireless service and run it in the background with the following command (substitute @var{interface} with the name of the network interface you want to use):" msgstr "Starten Sie den Dienst für Drahtlosnetzwerke und lassen Sie ihn im Hintergrund laufen, indem Sie folgenden Befehl eintippen (ersetzen Sie dabei @var{Schnittstelle} durch den Namen der Netzwerkschnittstelle, die Sie benutzen möchten):" #. type: example #: guix-git/doc/guix.texi:2316 #, no-wrap msgid "wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B\n" msgstr "wpa_supplicant -c wpa_supplicant.conf -i @var{Schnittstelle} -B\n" #. type: table #: guix-git/doc/guix.texi:2319 msgid "Run @command{man wpa_supplicant} for more information." msgstr "Führen Sie @command{man wpa_supplicant} aus, um mehr Informationen zu erhalten." #. type: cindex #: guix-git/doc/guix.texi:2321 #, no-wrap msgid "DHCP" msgstr "DHCP" #. type: Plain text #: guix-git/doc/guix.texi:2324 msgid "At this point, you need to acquire an IP address. On a network where IP addresses are automatically assigned @i{via} DHCP, you can run:" msgstr "Zu diesem Zeitpunkt müssen Sie sich eine IP-Adresse beschaffen. Auf einem Netzwerk, wo IP-Adressen automatisch @i{via} DHCP zugewiesen werden, können Sie das hier ausführen:" #. type: example #: guix-git/doc/guix.texi:2327 #, no-wrap msgid "dhclient -v @var{interface}\n" msgstr "dhclient -v @var{Schnittstelle}\n" #. type: Plain text #: guix-git/doc/guix.texi:2330 msgid "Try to ping a server to see if networking is up and running:" msgstr "Versuchen Sie, einen Server zu pingen, um zu prüfen, ob sie mit dem Internet verbunden sind und alles richtig funktioniert:" #. type: example #: guix-git/doc/guix.texi:2333 #, no-wrap msgid "ping -c 3 gnu.org\n" msgstr "ping -c 3 gnu.org\n" #. type: Plain text #: guix-git/doc/guix.texi:2337 msgid "Setting up network access is almost always a requirement because the image does not contain all the software and tools that may be needed." msgstr "Einen Internetzugang herzustellen, ist in jedem Fall nötig, weil das Abbild nicht alle Software und Werkzeuge enthält, die nötig sein könnten." #. type: cindex #: guix-git/doc/guix.texi:2338 #, no-wrap msgid "proxy, during system installation" msgstr "Proxy, bei der Systeminstallation" #. type: Plain text #: guix-git/doc/guix.texi:2341 msgid "If you need HTTP and HTTPS access to go through a proxy, run the following command:" msgstr "Wenn HTTP- und HTTPS-Zugriffe bei Ihnen über einen Proxy laufen sollen, führen Sie folgenden Befehl aus:" #. type: example #: guix-git/doc/guix.texi:2344 #, no-wrap msgid "herd set-http-proxy guix-daemon @var{URL}\n" msgstr "herd set-http-proxy guix-daemon @var{URL}\n" #. type: Plain text #: guix-git/doc/guix.texi:2349 msgid "where @var{URL} is the proxy URL, for example @code{http://example.org:8118}." msgstr "Dabei ist @var{URL} die URL des Proxys, zum Beispiel @code{http://example.org:8118}." #. type: cindex #: guix-git/doc/guix.texi:2350 #, no-wrap msgid "installing over SSH" msgstr "Über SSH installieren" #. type: Plain text #: guix-git/doc/guix.texi:2353 msgid "If you want to, you can continue the installation remotely by starting an SSH server:" msgstr "Wenn Sie möchten, können Sie die weitere Installation auch per Fernwartung durchführen, indem Sie einen SSH-Server starten:" #. type: example #: guix-git/doc/guix.texi:2356 #, no-wrap msgid "herd start ssh-daemon\n" msgstr "herd start ssh-daemon\n" #. type: Plain text #: guix-git/doc/guix.texi:2360 msgid "Make sure to either set a password with @command{passwd}, or configure OpenSSH public key authentication before logging in." msgstr "Vergewissern Sie sich vorher, dass Sie entweder ein Passwort mit @command{passwd} festgelegt haben, oder dass Sie für OpenSSH eine Authentifizierung über öffentliche Schlüssel eingerichtet haben, bevor Sie sich anmelden." #. type: subsubsection #: guix-git/doc/guix.texi:2361 #, no-wrap msgid "Disk Partitioning" msgstr "Plattenpartitionierung" #. type: Plain text #: guix-git/doc/guix.texi:2365 msgid "Unless this has already been done, the next step is to partition, and then format the target partition(s)." msgstr "Sofern nicht bereits geschehen, ist der nächste Schritt, zu partitionieren und dann die Zielpartition zu formatieren." #. type: Plain text #: guix-git/doc/guix.texi:2370 msgid "The installation image includes several partitioning tools, including Parted (@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk}, and @command{cfdisk}. Run it and set up your disk with the partition layout you want:" msgstr "Auf dem Installationsabbild sind mehrere Partitionierungswerkzeuge zu finden, einschließlich (siehe @ref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk} und @command{cfdisk}. Starten Sie eines davon und partitionieren Sie Ihre Festplatte oder sonstigen Massenspeicher, wie Sie möchten:" #. type: example #: guix-git/doc/guix.texi:2373 #, no-wrap msgid "cfdisk\n" msgstr "cfdisk\n" #. type: Plain text #: guix-git/doc/guix.texi:2379 msgid "If your disk uses the GUID Partition Table (GPT) format and you plan to install BIOS-based GRUB (which is the default), make sure a BIOS Boot Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB manual})." msgstr "Wenn Ihre Platte mit einer „GUID Partition Table“ (GPT) formatiert ist, und Sie vorhaben, die BIOS-basierte Variante des GRUB-Bootloaders zu installieren (was der Vorgabe entspricht), stellen Sie sicher, dass eine Partition als BIOS-Boot-Partition ausgewiesen ist (siehe @ref{BIOS installation,,, grub, GNU GRUB manual})." #. type: cindex #: guix-git/doc/guix.texi:2380 #, no-wrap msgid "EFI, installation" msgstr "EFI, Installation" #. type: cindex #: guix-git/doc/guix.texi:2381 #, no-wrap msgid "UEFI, installation" msgstr "UEFI, Installation" #. type: cindex #: guix-git/doc/guix.texi:2382 #, no-wrap msgid "ESP, EFI system partition" msgstr "ESP, EFI-Systempartition" #. type: Plain text #: guix-git/doc/guix.texi:2386 msgid "If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System Partition} (ESP) is required. This partition can be mounted at @file{/boot/efi} for instance and must have the @code{esp} flag set. E.g., for @command{parted}:" msgstr "Falls Sie stattdessen einen EFI-basierten GRUB installieren möchten, muss auf der Platte eine FAT32-formatierte @dfn{EFI-Systempartition} (ESP) vorhanden sein. Diese Partition kann unter dem Pfad @file{/boot/efi} eingebunden („gemountet“) werden und die @code{esp}-Flag der Partition muss gesetzt sein. Dazu würden Sie beispielsweise in @command{parted} eintippen:" #. type: example #: guix-git/doc/guix.texi:2389 #, no-wrap msgid "parted /dev/sda set 1 esp on\n" msgstr "parted /dev/sda set 1 esp on\n" #. type: vindex #: guix-git/doc/guix.texi:2392 guix-git/doc/guix.texi:42556 #, no-wrap msgid "grub-bootloader" msgstr "grub-bootloader" #. type: vindex #: guix-git/doc/guix.texi:2393 guix-git/doc/guix.texi:42560 #, no-wrap msgid "grub-efi-bootloader" msgstr "grub-efi-bootloader" #. type: quotation #: guix-git/doc/guix.texi:2400 msgid "Unsure whether to use EFI- or BIOS-based GRUB? If the directory @file{/sys/firmware/efi} exists in the installation image, then you should probably perform an EFI installation, using @code{grub-efi-bootloader}. Otherwise you should use the BIOS-based GRUB, known as @code{grub-bootloader}. @xref{Bootloader Configuration}, for more info on bootloaders." msgstr "Falls Sie nicht wissen, ob Sie einen EFI- oder BIOS-basierten GRUB installieren möchten: Wenn bei Ihnen das Verzeichnis @file{/sys/firmware/efi} im Dateisystem existiert, möchten Sie vermutlich eine EFI-Installation durchführen, wozu Sie in Ihrer Konfiguration @code{grub-efi-bootloader} benutzen. Ansonsten sollten Sie den BIOS-basierten GRUB benutzen, der mit @code{grub-bootloader} bezeichnet wird. Siehe @ref{Bootloader Configuration}, wenn Sie mehr Informationen über Bootloader brauchen." #. type: Plain text #: guix-git/doc/guix.texi:2408 msgid "Once you are done partitioning the target hard disk drive, you have to create a file system on the relevant partition(s)@footnote{Currently Guix System only supports ext4, btrfs, JFS, F2FS, and XFS file systems. In particular, code that reads file system UUIDs and labels only works for these file system types.}. For the ESP, if you have one and assuming it is @file{/dev/sda1}, run:" msgstr "Sobald Sie die Platte fertig partitioniert haben, auf die Sie installieren möchten, müssen Sie ein Dateisystem auf Ihrer oder Ihren für Guix System vorgesehenen Partition(en) erzeugen@footnote{Derzeit unterstützt Guix System nur die Dateisystemtypen ext4, btrfs, JFS, F2FS und XFS@. Insbesondere funktioniert Guix-Code, der Dateisystem-UUIDs und -Bezeichnungen ausliest, nur auf diesen Dateisystemtypen.}. Wenn Sie eine ESP brauchen und dafür die Partition @file{/dev/sda1} vorgesehen haben, müssen Sie diesen Befehl ausführen:" #. type: example #: guix-git/doc/guix.texi:2411 #, no-wrap msgid "mkfs.fat -F32 /dev/sda1\n" msgstr "mkfs.fat -F32 /dev/sda1\n" #. type: Plain text #: guix-git/doc/guix.texi:2418 msgid "For the root file system, ext4 is the most widely used format. Other file systems, such as Btrfs, support compression, which is reported to nicely complement file deduplication that the daemon performs independently of the file system (@pxref{Invoking guix-daemon, deduplication})." msgstr "Für das Wurzeldateisystem ist ext4 das am häufigsten genutzte Format. Andere Dateisysteme, wie Btrfs, unterstützen Kompression, wovon berichtet wird, es habe sich als sinnvolle Ergänzung zur Dateideduplikation erwiesen, die der Daemon unabhängig vom Dateisystem bietet (siehe @ref{Invoking guix-daemon, Deduplizieren})." #. type: Plain text #: guix-git/doc/guix.texi:2425 msgid "Preferably, assign file systems a label so that you can easily and reliably refer to them in @code{file-system} declarations (@pxref{File Systems}). This is typically done using the @code{-L} option of @command{mkfs.ext4} and related commands. So, assuming the target root partition lives at @file{/dev/sda2}, a file system with the label @code{my-root} can be created with:" msgstr "Geben Sie Ihren Dateisystemen auch besser eine Bezeichnung („Label“), damit Sie sie zuverlässig wiedererkennen und später in den @code{file-system}-Deklarationen darauf Bezug nehmen können (siehe @ref{File Systems}). Dazu benutzen Sie typischerweise die Befehlszeilenoption @code{-L} des Befehls @command{mkfs.ext4} oder entsprechende Optionen für andere Befehle. Wenn wir also annehmen, dass @file{/dev/sda2} die Partition ist, auf der Ihr Wurzeldateisystem (englisch „root“) wohnen soll, können Sie dort mit diesem Befehl ein Dateisystem mit der Bezeichnung @code{my-root} erstellen:" #. type: example #: guix-git/doc/guix.texi:2428 #, no-wrap msgid "mkfs.ext4 -L my-root /dev/sda2\n" msgstr "mkfs.ext4 -L my-root /dev/sda2\n" #. type: cindex #: guix-git/doc/guix.texi:2430 guix-git/doc/guix.texi:17488 #, no-wrap msgid "encrypted disk" msgstr "verschlüsselte Partition" #. type: Plain text #: guix-git/doc/guix.texi:2435 msgid "If you are instead planning to encrypt the root partition, you can use the Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html, @uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}}, @code{man cryptsetup}} for more information)." msgstr "Falls Sie aber vorhaben, die Partition mit dem Wurzeldateisystem zu verschlüsseln, können Sie dazu die Cryptsetup-/LUKS-Werkzeuge verwenden (siehe @inlinefmtifelse{html, @uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}}, @code{man cryptsetup}}, um mehr darüber zu erfahren)." #. type: Plain text #: guix-git/doc/guix.texi:2439 msgid "Assuming you want to store the root partition on @file{/dev/sda2}, the command sequence to format it as a LUKS partition would be along these lines:" msgstr "Angenommen Sie wollen die Partition für das Wurzeldateisystem verschlüsselt auf @file{/dev/sda2} installieren, dann brauchen Sie eine Befehlsfolge ähnlich wie diese, um sie als LUKS-Partition zu formatieren:" #. type: example #: guix-git/doc/guix.texi:2444 #, no-wrap msgid "" "cryptsetup luksFormat /dev/sda2\n" "cryptsetup open /dev/sda2 my-partition\n" "mkfs.ext4 -L my-root /dev/mapper/my-partition\n" msgstr "" "cryptsetup luksFormat /dev/sda2\n" "cryptsetup open /dev/sda2 my-partition\n" "mkfs.ext4 -L my-root /dev/mapper/my-partition\n" #. type: Plain text #: guix-git/doc/guix.texi:2449 msgid "Once that is done, mount the target file system under @file{/mnt} with a command like (again, assuming @code{my-root} is the label of the root file system):" msgstr "Sobald das erledigt ist, binden Sie dieses Dateisystem als Installationsziel mit dem Einhängepunkt @file{/mnt} ein, wozu Sie einen Befehl wie hier eintippen (auch hier unter der Annahme, dass @code{my-root} die Bezeichnung des künftigen Wurzeldateisystems ist):" #. type: example #: guix-git/doc/guix.texi:2452 #, no-wrap msgid "mount LABEL=my-root /mnt\n" msgstr "mount LABEL=my-root /mnt\n" #. type: Plain text #: guix-git/doc/guix.texi:2458 msgid "Also mount any other file systems you would like to use on the target system relative to this path. If you have opted for @file{/boot/efi} as an EFI mount point for example, mount it at @file{/mnt/boot/efi} now so it is found by @code{guix system init} afterwards." msgstr "Binden Sie auch alle anderen Dateisysteme ein, die Sie auf dem Zielsystem benutzen möchten, mit Einhängepunkten relativ zu diesem Pfad. Wenn Sie sich zum Beispiel für einen Einhängepunkt @file{/boot/efi} für die EFI-Systempartition entschieden haben, binden Sie sie jetzt als @file{/mnt/boot/efi} ein, damit @code{guix system init} sie später findet." #. type: Plain text #: guix-git/doc/guix.texi:2462 msgid "Finally, if you plan to use one or more swap partitions (@pxref{Swap Space}), make sure to initialize them with @command{mkswap}. Assuming you have one swap partition on @file{/dev/sda3}, you would run:" msgstr "Wenn Sie zudem auch vorhaben, eine oder mehrere Swap-Partitionen zu benutzen (siehe @ref{Swap Space}), initialisieren Sie diese nun mit @command{mkswap}. Angenommen Sie haben eine Swap-Partition auf @file{/dev/sda3}, dann würde der Befehl so lauten:" #. type: example #: guix-git/doc/guix.texi:2466 #, no-wrap msgid "" "mkswap /dev/sda3\n" "swapon /dev/sda3\n" msgstr "" "mkswap /dev/sda3\n" "swapon /dev/sda3\n" #. type: Plain text #: guix-git/doc/guix.texi:2474 msgid "Alternatively, you may use a swap file. For example, assuming that in the new system you want to use the file @file{/swapfile} as a swap file, you would run@footnote{This example will work for many types of file systems (e.g., ext4). However, for copy-on-write file systems (e.g., btrfs), the required steps may be different. For details, see the manual pages for @command{mkswap} and @command{swapon}.}:" msgstr "Alternativ können Sie eine Swap-Datei benutzen. Angenommen, Sie wollten die Datei @file{/swapdatei} im neuen System als eine Swapdatei benutzen, dann müssten Sie Folgendes ausführen@footnote{Dieses Beispiel wird auf vielen Arten von Dateisystemen funktionieren (z.B.@: auf ext4). Auf Dateisystemen mit Copy-on-Write (wie z.B.@: btrfs) können sich die nötigen Schritte unterscheiden. Details finden Sie in der Dokumentation auf den Handbuchseiten von @command{mkswap} und @command{swapon}.}:" #. type: example #: guix-git/doc/guix.texi:2482 #, no-wrap msgid "" "# This is 10 GiB of swap space. Adjust \"count\" to change the size.\n" "dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240\n" "# For security, make the file readable and writable only by root.\n" "chmod 600 /mnt/swapfile\n" "mkswap /mnt/swapfile\n" "swapon /mnt/swapfile\n" msgstr "" "# Das bedeutet 10 GiB Swapspeicher. \"count\" anpassen zum Ändern.\n" "dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240\n" "# Zur Sicherheit darf nur der Administrator lesen und schreiben.\n" "chmod 600 /mnt/swapfile\n" "mkswap /mnt/swapfile\n" "swapon /mnt/swapfile\n" #. type: Plain text #: guix-git/doc/guix.texi:2487 msgid "Note that if you have encrypted the root partition and created a swap file in its file system as described above, then the encryption also protects the swap file, just like any other file in that file system." msgstr "Bedenken Sie, dass, wenn Sie die Partition für das Wurzeldateisystem („root“) verschlüsselt und eine Swap-Datei in diesem Dateisystem wie oben beschrieben erstellt haben, die Verschlüsselung auch die Swap-Datei schützt, genau wie jede andere Datei in dem Dateisystem." #. type: Plain text #: guix-git/doc/guix.texi:2493 msgid "With the target partitions ready and the target root mounted on @file{/mnt}, we're ready to go. First, run:" msgstr "Wenn die Partitionen des Installationsziels bereit sind und dessen Wurzeldateisystem unter @file{/mnt} eingebunden wurde, kann es losgehen mit der Installation. Führen Sie zuerst aus:" #. type: example #: guix-git/doc/guix.texi:2496 #, no-wrap msgid "herd start cow-store /mnt\n" msgstr "herd start cow-store /mnt\n" #. type: Plain text #: guix-git/doc/guix.texi:2503 msgid "This makes @file{/gnu/store} copy-on-write, such that packages added to it during the installation phase are written to the target disk on @file{/mnt} rather than kept in memory. This is necessary because the first phase of the @command{guix system init} command (see below) entails downloads or builds to @file{/gnu/store} which, initially, is an in-memory file system." msgstr "Dadurch wird @file{/gnu/store} copy-on-write, d.h.@: dorthin von Guix erstellte Pakete werden in ihrer Installationsphase auf dem unter @file{/mnt} befindlichen Zieldateisystem gespeichert, statt den Arbeitsspeicher auszulasten. Das ist nötig, weil die erste Phase des Befehls @command{guix system init} (siehe unten) viele Dateien nach @file{/gnu/store} herunterlädt oder sie erstellt, Änderungen am @file{/gnu/store} aber bis dahin wie das übrige Installationssystem nur im Arbeitsspeicher gelagert werden konnten." #. type: Plain text #: guix-git/doc/guix.texi:2514 msgid "Next, you have to edit a file and provide the declaration of the operating system to be installed. To that end, the installation system comes with three text editors. We recommend GNU nano (@pxref{Top,,, nano, GNU nano Manual}), which supports syntax highlighting and parentheses matching; other editors include mg (an Emacs clone), and nvi (a clone of the original BSD @command{vi} editor). We strongly recommend storing that file on the target root file system, say, as @file{/mnt/etc/config.scm}. Failing to do that, you will have lost your configuration file once you have rebooted into the newly-installed system." msgstr "Als Nächstes müssen Sie eine Datei bearbeiten und dort eine Deklaration des Betriebssystems, das Sie installieren möchten, hineinschreiben. Zu diesem Zweck sind im Installationssystem drei Texteditoren enthalten. Wir empfehlen, dass Sie GNU nano benutzen (siehe @ref{Top,,, nano, GNU nano Manual}), welcher Syntax und zueinander gehörende Klammern hervorheben kann. Andere mitgelieferte Texteditoren, die Sie benutzen können, sind mg (ein Emacs-Klon) und nvi (ein Klon des ursprünglichen @command{vi}-Editors von BSD). Wir empfehlen sehr, dass Sie diese Datei im Zieldateisystem der Installation speichern, etwa als @file{/mnt/etc/config.scm}, weil Sie Ihre Konfigurationsdatei im frisch installierten System noch brauchen werden." #. type: Plain text #: guix-git/doc/guix.texi:2521 msgid "@xref{Using the Configuration System}, for an overview of the configuration file. The example configurations discussed in that section are available under @file{/etc/configuration} in the installation image. Thus, to get started with a system configuration providing a graphical display server (a ``desktop'' system), you can run something along these lines:" msgstr "Der Abschnitt @ref{Using the Configuration System} gibt einen Überblick über die Konfigurationsdatei. Die in dem Abschnitt diskutierten Beispielkonfigurationen sind im Installationsabbild im Verzeichnis @file{/etc/configuration} zu finden. Um also mit einer Systemkonfiguration anzufangen, die einen grafischen Anzeigeserver (einen „Display-Server“ zum Darstellen einer „Desktop“-Arbeitsumgebung) bietet, könnten Sie so etwas ausführen:" #. type: example #: guix-git/doc/guix.texi:2526 #, no-wrap msgid "" "# mkdir /mnt/etc\n" "# cp /etc/configuration/desktop.scm /mnt/etc/config.scm\n" "# nano /mnt/etc/config.scm\n" msgstr "" "# mkdir /mnt/etc\n" "# cp /etc/configuration/desktop.scm /mnt/etc/config.scm\n" "# nano /mnt/etc/config.scm\n" #. type: Plain text #: guix-git/doc/guix.texi:2530 msgid "You should pay attention to what your configuration file contains, and in particular:" msgstr "Achten Sie darauf, was in Ihrer Konfigurationsdatei steht, und besonders auf Folgendes:" #. type: itemize #: guix-git/doc/guix.texi:2542 msgid "Make sure the @code{bootloader-configuration} form refers to the targets you want to install GRUB on. It should mention @code{grub-bootloader} if you are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for newer UEFI systems. For legacy systems, the @code{targets} field contain the names of the devices, like @code{(list \"/dev/sda\")}; for UEFI systems it names the paths to mounted EFI partitions, like @code{(list \"/boot/efi\")}; do make sure the paths are currently mounted and a @code{file-system} entry is specified in your configuration." msgstr "Ihre @code{bootloader-configuration}-Form muss sich auf die Ziele beziehen, auf die Sie GRUB installieren möchten. Sie sollte genau dann @code{grub-bootloader} nennen, wenn Sie GRUB im alten BIOS-Modus installieren, und für neuere UEFI-Systeme sollten Sie @code{grub-efi-bootloader} nennen. Bei Altsystemen bezeichnet das @code{targets}-Feld die Geräte wie @code{(list \"/dev/sda\")}, bei UEFI-Systemen bezeichnet es die Pfade zu eingebundenen EFI-Partitionen (ESP) wie @code{(list \"/boot/efi\")}; stellen Sie sicher, dass die Pfade tatsächlich dort eingebunden sind und ein @code{file-system}-Eintrag dafür in Ihrer Konfiguration festgelegt wurde." #. type: itemize #: guix-git/doc/guix.texi:2548 msgid "Be sure that your file system labels match the value of their respective @code{device} fields in your @code{file-system} configuration, assuming your @code{file-system} configuration uses the @code{file-system-label} procedure in its @code{device} field." msgstr "Dateisystembezeichnungen müssen mit den jeweiligen @code{device}-Feldern in Ihrer @code{file-system}-Konfiguration übereinstimmen, sofern Sie in Ihrer @code{file-system}-Konfiguration die Prozedur @code{file-system-label} für ihre @code{device}-Felder benutzen." #. type: itemize #: guix-git/doc/guix.texi:2552 msgid "If there are encrypted or RAID partitions, make sure to add a @code{mapped-devices} field to describe them (@pxref{Mapped Devices})." msgstr "Gibt es verschlüsselte Partitionen oder RAID-Partitionen, dann müssen sie im @code{mapped-devices}-Feld genannt werden (siehe @ref{Mapped Devices})." #. type: Plain text #: guix-git/doc/guix.texi:2557 msgid "Once you are done preparing the configuration file, the new system must be initialized (remember that the target root file system is mounted under @file{/mnt}):" msgstr "Wenn Sie damit fertig sind, Ihre Konfigurationsdatei vorzubereiten, können Sie das neue System initialisieren (denken Sie daran, dass zukünftige Wurzeldateisystem muss unter @file{/mnt} wie bereits beschrieben eingebunden sein):" #. type: example #: guix-git/doc/guix.texi:2560 #, no-wrap msgid "guix system init /mnt/etc/config.scm /mnt\n" msgstr "guix system init /mnt/etc/config.scm /mnt\n" #. type: Plain text #: guix-git/doc/guix.texi:2567 msgid "This copies all the necessary files and installs GRUB on @file{/dev/sdX}, unless you pass the @option{--no-bootloader} option. For more information, @pxref{Invoking guix system}. This command may trigger downloads or builds of missing packages, which can take some time." msgstr "Dies kopiert alle notwendigen Dateien und installiert GRUB auf @file{/dev/sdX}, sofern Sie nicht noch die Befehlszeilenoption @option{--no-bootloader} benutzen. Weitere Informationen finden Sie im Abschnitt @ref{Invoking guix system}. Der Befehl kann das Herunterladen oder Erstellen fehlender Softwarepakete auslösen, was einige Zeit in Anspruch nehmen kann." #. type: Plain text #: guix-git/doc/guix.texi:2575 msgid "Once that command has completed---and hopefully succeeded!---you can run @command{reboot} and boot into the new system. The @code{root} password in the new system is initially empty; other users' passwords need to be initialized by running the @command{passwd} command as @code{root}, unless your configuration specifies otherwise (@pxref{user-account-password, user account passwords}). @xref{After System Installation}, for what's next!" msgstr "Sobald der Befehl erfolgreich@tie{}– hoffentlich!@tie{}– durchgelaufen ist, können Sie mit dem Befehl @command{reboot} das neue System booten lassen. Der Administratornutzer @code{root} hat im neuen System zunächst ein leeres Passwort, und Passwörter der anderen Nutzer müssen Sie später setzen, indem Sie den Befehl @command{passwd} als @code{root} ausführen, außer Ihre Konfiguration enthält schon Passwörter (siehe @ref{user-account-password, Passwörter für Benutzerkonten}). Siehe @ref{After System Installation} für Informationen, wie es weiter geht!" #. type: Plain text #: guix-git/doc/guix.texi:2582 msgid "Success, you've now booted into Guix System! You can upgrade the system whenever you want by running:" msgstr "Sie haben es geschafft: Sie haben Guix System erfolgreich gebootet! Sie können Guix System aktualisieren, wann Sie möchten, indem Sie das hier ausführen:" #. type: example #: guix-git/doc/guix.texi:2586 guix-git/doc/guix.texi:17275 #, no-wrap msgid "" "guix pull\n" "sudo guix system reconfigure /etc/config.scm\n" msgstr "" "guix pull\n" "sudo guix system reconfigure /etc/config.scm\n" #. type: Plain text #: guix-git/doc/guix.texi:2591 msgid "This builds a new system @dfn{generation} with the latest packages and services." msgstr "Dadurch wird eine neue @dfn{Systemgeneration} aus den neuesten Paketen und Diensten erstellt." #. type: Plain text #: guix-git/doc/guix.texi:2595 msgid "Now, @pxref{Getting Started with the System}, and join us on @code{#guix} on the Libera.Chat IRC network or on @email{guix-devel@@gnu.org} to share your experience!" msgstr "Werfen Sie nun einen Blick auf @ref{Getting Started with the System} und besuchen Sie uns auf @code{#guix} auf dem Libera.Chat-IRC-Netzwerk oder auf der Mailing-Liste @file{guix-devel@@gnu.org}, um uns Rückmeldung zu geben!" #. type: section #: guix-git/doc/guix.texi:2598 #, no-wrap msgid "Installing Guix in a Virtual Machine" msgstr "Guix in einer virtuellen Maschine installieren" #. type: cindex #: guix-git/doc/guix.texi:2600 #, no-wrap msgid "virtual machine, Guix System installation" msgstr "virtuelle Maschine, Guix System installieren" #. type: cindex #: guix-git/doc/guix.texi:2601 #, no-wrap msgid "virtual private server (VPS)" msgstr "Virtual Private Server (VPS)" #. type: cindex #: guix-git/doc/guix.texi:2602 #, no-wrap msgid "VPS (virtual private server)" msgstr "VPS (Virtual Private Server)" #. type: Plain text #: guix-git/doc/guix.texi:2606 msgid "If you'd like to install Guix System in a virtual machine (VM) or on a virtual private server (VPS) rather than on your beloved machine, this section is for you." msgstr "Wenn Sie Guix System auf einer virtuellen Maschine (VM) oder einem „Virtual Private Server“ (VPS) statt auf Ihrer echten Maschine installieren möchten, ist dieser Abschnitt hier richtig für Sie." #. type: Plain text #: guix-git/doc/guix.texi:2609 msgid "To boot a @uref{https://qemu.org/,QEMU} VM for installing Guix System in a disk image, follow these steps:" msgstr "Um eine virtuelle Maschine für @uref{https://qemu.org/,QEMU} aufzusetzen, mit der Sie Guix System in ein „Disk-Image“ installieren können (also in eine Datei mit einem Abbild eines Plattenspeichers), gehen Sie so vor:" #. type: enumerate #: guix-git/doc/guix.texi:2614 msgid "First, retrieve and decompress the Guix system installation image as described previously (@pxref{USB Stick and DVD Installation})." msgstr "Zunächst laden Sie das Installationsabbild des Guix-Systems wie zuvor beschrieben herunter und entpacken es (siehe @ref{USB Stick and DVD Installation})." #. type: enumerate #: guix-git/doc/guix.texi:2618 msgid "Create a disk image that will hold the installed system. To make a qcow2-formatted disk image, use the @command{qemu-img} command:" msgstr "Legen Sie nun ein Disk-Image an, das das System nach der Installation enthalten soll. Um ein qcow2-formatiertes Disk-Image zu erstellen, benutzen Sie den Befehl @command{qemu-img}:" #. type: example #: guix-git/doc/guix.texi:2621 #, no-wrap msgid "qemu-img create -f qcow2 guix-system.img 50G\n" msgstr "qemu-img create -f qcow2 guix-system.img 50G\n" #. type: enumerate #: guix-git/doc/guix.texi:2625 msgid "The resulting file will be much smaller than 50 GB (typically less than 1 MB), but it will grow as the virtualized storage device is filled up." msgstr "Die Datei, die Sie herausbekommen, wird wesentlich kleiner als 50 GB sein (typischerweise kleiner als 1 MB), vergrößert sich aber, wenn der virtualisierte Speicher gefüllt wird." #. type: enumerate #: guix-git/doc/guix.texi:2628 msgid "Boot the USB installation image in a VM:" msgstr "Starten Sie das USB-Installationsabbild auf einer virtuellen Maschine:" #. type: example #: guix-git/doc/guix.texi:2634 #, no-wrap msgid "" "qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \\\n" " -nic user,model=virtio-net-pci -boot menu=on,order=d \\\n" " -drive file=guix-system.img \\\n" " -drive media=cdrom,readonly=on,file=guix-system-install-@value{VERSION}.@var{system}.iso\n" msgstr "" "qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \\\n" " -nic user,model=virtio-net-pci -boot menu=on,order=d \\\n" " -drive file=guix-system.img \\\n" " -drive media=cdrom,readonly=on,file=guix-system-install-@value{VERSION}.@var{System}.iso\n" #. type: enumerate #: guix-git/doc/guix.texi:2638 msgid "@code{-enable-kvm} is optional, but significantly improves performance, @pxref{Running Guix in a VM}." msgstr "@code{-enable-kvm} ist optional, verbessert die Rechenleistung aber erheblich, siehe @ref{Running Guix in a VM}." #. type: enumerate #: guix-git/doc/guix.texi:2642 msgid "You're now root in the VM, proceed with the installation process. @xref{Preparing for Installation}, and follow the instructions." msgstr "Sie sind nun in der virtuellen Maschine als Administratornutzer @code{root} angemeldet und können mit der Installation wie gewohnt fortfahren. Folgen Sie der Anleitung im Abschnitt @ref{Preparing for Installation}." #. type: Plain text #: guix-git/doc/guix.texi:2647 msgid "Once installation is complete, you can boot the system that's on your @file{guix-system.img} image. @xref{Running Guix in a VM}, for how to do that." msgstr "Wurde die Installation abgeschlossen, können Sie das System starten, das sich nun als Abbild in der Datei @file{guix-system.img} befindet. Der Abschnitt @ref{Running Guix in a VM} erklärt, wie Sie das tun können." #. type: cindex #: guix-git/doc/guix.texi:2651 #, no-wrap msgid "installation image" msgstr "Installationsabbild" #. type: Plain text #: guix-git/doc/guix.texi:2654 msgid "The installation image described above was built using the @command{guix system} command, specifically:" msgstr "Das oben beschriebene Installationsabbild wurde mit dem Befehl @command{guix system} erstellt, genauer gesagt mit:" #. type: example #: guix-git/doc/guix.texi:2657 #, no-wrap msgid "guix system image -t iso9660 gnu/system/install.scm\n" msgstr "guix system image -t iso9660 gnu/system/install.scm\n" #. type: Plain text #: guix-git/doc/guix.texi:2662 msgid "Have a look at @file{gnu/system/install.scm} in the source tree, and see also @ref{Invoking guix system} for more information about the installation image." msgstr "Die Datei @file{gnu/system/install.scm} finden Sie im Quellbaum von Guix. Schauen Sie sich die Datei und auch den Abschnitt @ref{Invoking guix system} an, um mehr Informationen über das Installationsabbild zu erhalten." #. type: section #: guix-git/doc/guix.texi:2663 #, no-wrap msgid "Building the Installation Image for ARM Boards" msgstr "Abbild zur Installation für ARM-Rechner erstellen" #. type: Plain text #: guix-git/doc/guix.texi:2667 msgid "Many ARM boards require a specific variant of the @uref{https://www.denx.de/wiki/U-Boot/, U-Boot} bootloader." msgstr "Viele ARM-Chips funktionieren nur mit ihrer eigenen speziellen Variante des @uref{https://www.denx.de/wiki/U-Boot/, U-Boot-Bootloaders}." #. type: Plain text #: guix-git/doc/guix.texi:2671 msgid "If you build a disk image and the bootloader is not available otherwise (on another boot drive etc), it's advisable to build an image that includes the bootloader, specifically:" msgstr "Wenn Sie ein Disk-Image erstellen und der Bootloader nicht anderweitig schon installiert ist (auf einem anderen Laufwerk), ist es ratsam, ein Disk-Image zu erstellen, was den Bootloader enthält, mit dem Befehl:" #. type: example #: guix-git/doc/guix.texi:2674 #, no-wrap msgid "guix system image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-boot) (@@ (gnu system install) installation-os) \"A20-OLinuXino-Lime2\")'\n" msgstr "guix system image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-boot) (@@ (gnu system install) installation-os) \"A20-OLinuXino-Lime2\")'\n" #. type: Plain text #: guix-git/doc/guix.texi:2678 msgid "@code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid board, a list of possible boards will be printed." msgstr "@code{A20-OLinuXino-Lime2} ist der Name des Chips. Wenn Sie einen ungültigen Namen eingeben, wird eine Liste möglicher Chip-Namen ausgegeben." #. type: Plain text #: guix-git/doc/guix.texi:2689 msgid "Presumably, you've reached this section because either you have installed Guix on top of another distribution (@pxref{Installation}), or you've installed the standalone Guix System (@pxref{System Installation}). It's time for you to get started using Guix and this section aims to help you do that and give you a feel of what it's like." msgstr "Wenn Sie in diesem Abschnitt angekommen sind, haben Sie vermutlich zuvor entweder Guix auf einer fremden Distribution installiert (siehe @ref{Installation}) oder Sie haben das eigenständige „Guix System“ installiert (siehe @ref{System Installation}). Nun wird es Zeit für Sie, Guix kennenzulernen. Darum soll es in diesem Abschnitt gehen. Wir möchten Ihnen ein Gefühl vermitteln, wie sich Guix anfühlt." #. type: Plain text #: guix-git/doc/guix.texi:2693 msgid "Guix is about installing software, so probably the first thing you'll want to do is to actually look for software. Let's say you're looking for a text editor, you can run:" msgstr "Bei Guix geht es darum, Software zu installieren, also wollen Sie vermutlich zunächst Software finden, die Sie haben möchten. Sagen wir, Sie suchen ein Programm zur Textverarbeitung. Dann führen Sie diesen Befehl aus:" #. type: example #: guix-git/doc/guix.texi:2696 #, no-wrap msgid "guix search text editor\n" msgstr "guix search text editor\n" #. type: Plain text #: guix-git/doc/guix.texi:2703 msgid "This command shows you a number of matching @dfn{packages}, each time showing the package's name, version, a description, and additional info. Once you've found out the one you want to use, let's say Emacs (ah ha!), you can go ahead and install it (run this command as a regular user, @emph{no need for root privileges}!):" msgstr "Durch diesen Befehl stoßen Sie auf eine Reihe passender @dfn{Pakete}. Für jedes werden Ihnen der Name des Pakets, seine Version, eine Beschreibung und weitere Informationen angezeigt. Sobald Sie das Paket gefunden haben, dass Sie benutzen möchten, sagen wir mal Emacs (aha!), dann können Sie weitermachen und es installieren (führen Sie diesen Befehl als normaler Benutzer aus, @emph{Guix braucht hierfür keine Administratorrechte}!):" #. type: example #: guix-git/doc/guix.texi:2706 #, no-wrap msgid "guix install emacs\n" msgstr "guix install emacs\n" #. type: cindex #: guix-git/doc/guix.texi:2708 guix-git/doc/guix.texi:3012 #: guix-git/doc/guix.texi:3065 #, no-wrap msgid "profile" msgstr "Profil" #. type: Plain text #: guix-git/doc/guix.texi:2716 msgid "You've installed your first package, congrats! The package is now visible in your default @dfn{profile}, @file{$HOME/.guix-profile}---a profile is a directory containing installed packages. In the process, you've probably noticed that Guix downloaded pre-built binaries; or, if you explicitly chose to @emph{not} use pre-built binaries, then probably Guix is still building software (@pxref{Substitutes}, for more info)." msgstr "Sie haben soeben Ihr erstes Paket installiert, Glückwunsch! Das Paket ist nun Teil Ihres voreingestellten Profils in @file{$HOME/.guix-profile}@tie{}– ein @dfn{Profil} ist ein Verzeichnis, das installierte Pakete enthält. Während Sie das getan haben, ist Ihnen wahrscheinlich aufgefallen, dass Guix vorerstellte Programmbinärdateien herunterlädt, statt sie auf Ihrem Rechner zu kompilieren, außer wenn Sie diese Funktionalität vorher ausdrücklich @emph{abgeschaltet} haben. In diesem Fall ist Guix wahrscheinlich noch immer mit der Erstellung beschäftigt. Siehe @ref{Substitutes} für mehr Informationen." #. type: Plain text #: guix-git/doc/guix.texi:2719 msgid "Unless you're using Guix System, the @command{guix install} command must have printed this hint:" msgstr "Wenn Sie @emph{nicht} Guix System benutzen, wird der Befehl @command{guix install} diesen Hinweis ausgegeben haben:" #. type: example #: guix-git/doc/guix.texi:2722 #, no-wrap msgid "" "hint: Consider setting the necessary environment variables by running:\n" "\n" msgstr "" "Hinweis: Vielleicht möchten Sie die nötigen Umgebungsvariablen\n" "festlegen, indem Sie dies ausführen:\n" "\n" #. type: example #: guix-git/doc/guix.texi:2725 #, no-wrap msgid "" " GUIX_PROFILE=\"$HOME/.guix-profile\"\n" " . \"$GUIX_PROFILE/etc/profile\"\n" "\n" msgstr "" " GUIX_PROFILE=\"$HOME/.guix-profile\"\n" " . \"$GUIX_PROFILE/etc/profile\"\n" "\n" #. type: example #: guix-git/doc/guix.texi:2727 #, no-wrap msgid "Alternately, see `guix package --search-paths -p \"$HOME/.guix-profile\"'.\n" msgstr "Sie können sie auch mit `guix package --search-paths -p \"$HOME/.guix-profile\"' nachlesen.\n" #. type: Plain text #: guix-git/doc/guix.texi:2741 msgid "Indeed, you must now tell your shell where @command{emacs} and other programs installed with Guix are to be found. Pasting the two lines above will do just that: it will add @code{$HOME/.guix-profile/bin}---which is where the installed package is---to the @code{PATH} environment variable. You can paste these two lines in your shell so they take effect right away, but more importantly you should add them to @file{~/.bash_profile} (or equivalent file if you do not use Bash) so that environment variables are set next time you spawn a shell. You only need to do this once and other search paths environment variables will be taken care of similarly---e.g., if you eventually install @code{python} and Python libraries, @env{GUIX_PYTHONPATH} will be defined." msgstr "Tatsächlich ist es erforderlich, dass Sie Ihrer Shell erst einmal mitteilen, wo sich @command{emacs} und andere mit Guix installierte Programme befinden. Wenn Sie die obigen zwei Zeilen in die Shell einfügen, wird genau das bewerkstelligt: @code{$HOME/.guix-profile/bin}@tie{}– wo sich das installierte Paket befindet@tie{}– wird in die @code{PATH}-Umgebungsvariable eingefügt. Sie können diese zwei Zeilen in Ihre Shell hineinkopieren, damit sie sich sofort auswirken, aber wichtiger ist, dass Sie sie in @file{~/.bash_profile} kopieren (oder eine äquivalente Datei, wenn Sie @emph{nicht} Bash benutzen), damit die Umgebungsvariablen nächstes Mal gesetzt sind, wenn Sie wieder eine Shell öffnen. Das müssen Sie nur einmal machen und es sorgt auch bei anderen Umgebungsvariablen mit Suchpfaden dafür, dass die installierte Software gefunden wird. Wenn Sie zum Beispiel @code{python} und Bibliotheken für Python installieren, wird @env{GUIX_PYTHONPATH} definiert." #. type: Plain text #: guix-git/doc/guix.texi:2744 msgid "You can go on installing packages at your will. To list installed packages, run:" msgstr "Sie können nun weitere Pakete installieren, wann immer Sie möchten. Um die installierten Pakete aufzulisten, führen Sie dies aus:" #. type: example #: guix-git/doc/guix.texi:2747 #, no-wrap msgid "guix package --list-installed\n" msgstr "guix package --list-installed\n" #. type: Plain text #: guix-git/doc/guix.texi:2752 msgid "To remove a package, you would unsurprisingly run @command{guix remove}. A distinguishing feature is the ability to @dfn{roll back} any operation you made---installation, removal, upgrade---by simply typing:" msgstr "Um ein Paket wieder zu entfernen, benutzen Sie wenig überraschend @command{guix remove}. Guix hebt sich von anderen Paketverwaltern darin ab, dass Sie jede Operation, die Sie durchgeführt haben, auch wieder @dfn{zurücksetzen} können, egal ob @code{install}, @code{remove} oder @code{upgrade}, indem Sie dies ausführen:" #. type: example #: guix-git/doc/guix.texi:2755 #, no-wrap msgid "guix package --roll-back\n" msgstr "guix package --roll-back\n" #. type: Plain text #: guix-git/doc/guix.texi:2760 msgid "This is because each operation is in fact a @dfn{transaction} that creates a new @dfn{generation}. These generations and the difference between them can be displayed by running:" msgstr "Das geht deshalb, weil jede Operation eigentlich als @dfn{Transaktion} durchgeführt wird, die eine neue @dfn{Generation} erstellt. Über folgenden Befehl bekommen Sie diese Generationen und den Unterschied zwischen ihnen angezeigt:" #. type: example #: guix-git/doc/guix.texi:2763 #, no-wrap msgid "guix package --list-generations\n" msgstr "guix package --list-generations\n" #. type: Plain text #: guix-git/doc/guix.texi:2766 msgid "Now you know the basics of package management!" msgstr "Jetzt kennen Sie die Grundlagen der Paketverwaltung!" #. type: quotation #: guix-git/doc/guix.texi:2767 guix-git/doc/guix.texi:2830 #: guix-git/doc/guix.texi:7752 #, no-wrap msgid "Going further" msgstr "Vertiefung" #. type: quotation #: guix-git/doc/guix.texi:2775 msgid "@xref{Package Management}, for more about package management. You may like @dfn{declarative} package management with @command{guix package --manifest}, managing separate @dfn{profiles} with @option{--profile}, deleting old generations, collecting garbage, and other nifty features that will come in handy as you become more familiar with Guix. If you are a developer, @pxref{Development} for additional tools. And if you're curious, @pxref{Features}, to peek under the hood." msgstr "Lesen Sie den Abschnitt zur @ref{Package Management} für mehr Informationen dazu. Vielleicht gefällt Ihnen @dfn{deklarative} Paketverwaltung mit @command{guix package --manifest}, die Verwaltung separater @dfn{Profile} mit @option{--profile}, das Löschen alter Generationen und das „Müllsammeln“ (Garbage Collection) sowie andere raffinierte Funktionalitäten, die sich als nützlich erweisen werden, wenn Sie sich länger mit Guix befassen. Wenn Sie Software entwickeln, lernen Sie im Abschnitt @ref{Development} hilfreiche Werkzeuge kennen. Und wenn Sie neugierig sind, wird Ihnen im Abschnitt @ref{Features} ein Überblick gegeben, wie und nach welchen Prinzipien Guix aufgebaut ist." #. type: quotation #: guix-git/doc/guix.texi:2779 msgid "You can also manage the configuration of your entire @dfn{home environment}---your user ``dot files'', services, and packages---using Guix Home. @xref{Home Configuration}, to learn more about it!" msgstr "Es ist sogar möglich, die Konfiguration Ihrer gesamten @dfn{Persönlichen Umgebung} mit Guix zu erledigen@tie{}– die „Dotfiles“, die in Ihrem Persönlichen Verzeichnis einen Namen tragen, der mit einem Punkt beginnt, außerdem eigene Dienste und Pakete für das Benutzerkonto. Diese Funktion heißt Guix Home. Siehe @ref{Home Configuration}, um mehr darüber zu erfahren!" #. type: Plain text #: guix-git/doc/guix.texi:2784 msgid "Once you've installed a set of packages, you will want to periodically @emph{upgrade} them to the latest and greatest version. To do that, you will first pull the latest revision of Guix and its package collection:" msgstr "Sobald Sie eine Reihe von Paketen installiert haben, werden Sie diese regelmäßig auf deren neueste und beste Version @emph{aktualisieren} wollen. Dazu ist es erforderlich, dass Sie zunächst die neueste Version von Guix und seiner Paketsammlung mit einem „Pull“ laden:" #. type: Plain text #: guix-git/doc/guix.texi:2794 msgid "The end result is a new @command{guix} command, under @file{~/.config/guix/current/bin}. Unless you're on Guix System, the first time you run @command{guix pull}, be sure to follow the hint that the command prints and, similar to what we saw above, paste these two lines in your terminal and @file{.bash_profile}:" msgstr "Das Endergebnis ist ein neuer @command{guix}-Befehl innerhalb von @file{~/.config/guix/current/bin}. Sofern Sie nicht Guix System benutzen, sollten Sie dem Hinweis Folge leisten, den Sie bei der ersten Ausführung von @command{guix pull} angezeigt bekommen, d.h.@: ähnlich wie oben beschrieben, fügen Sie diese zwei Zeilen in Ihr Terminal und Ihre @file{.bash_profile} ein:" #. type: example #: guix-git/doc/guix.texi:2798 #, no-wrap msgid "" "GUIX_PROFILE=\"$HOME/.config/guix/current\"\n" ". \"$GUIX_PROFILE/etc/profile\"\n" msgstr "" "GUIX_PROFILE=\"$HOME/.config/guix/current\"\n" ". \"$GUIX_PROFILE/etc/profile\"\n" #. type: Plain text #: guix-git/doc/guix.texi:2802 msgid "You must also instruct your shell to point to this new @command{guix}:" msgstr "Ebenso müssen Sie Ihre Shell auf diesen neuen @command{guix}-Befehl hinweisen:" #. type: example #: guix-git/doc/guix.texi:2805 #, no-wrap msgid "hash guix\n" msgstr "hash guix\n" #. type: Plain text #: guix-git/doc/guix.texi:2809 msgid "At this point, you're running a brand new Guix. You can thus go ahead and actually upgrade all the packages you previously installed:" msgstr "Wenn das geschafft ist, benutzen Sie ein brandneues Guix. Jetzt können Sie damit fortfahren, alle zuvor installierten Pakete zu aktualisieren:" #. type: example #: guix-git/doc/guix.texi:2812 #, no-wrap msgid "guix upgrade\n" msgstr "guix upgrade\n" #. type: Plain text #: guix-git/doc/guix.texi:2818 msgid "As you run this command, you will see that binaries are downloaded (or perhaps some packages are built), and eventually you end up with the upgraded packages. Should one of these upgraded packages not be to your liking, remember you can always roll back!" msgstr "Während dieser Befehl ausgeführt wird, werden Sie sehen, dass Binärdateien heruntergeladen werden (vielleicht müssen manche Pakete auch auf Ihrem Rechner erstellt werden). Letztendlich stehen Ihnen die aktualisierten Pakete zur Verfügung. Falls eine der Aktualisierungen nicht Ihren Wünschen entspricht, haben Sie immer auch die Möglichkeit, sie auf den alten Stand zurückzusetzen!" #. type: Plain text #: guix-git/doc/guix.texi:2821 msgid "You can display the exact revision of Guix you're currently using by running:" msgstr "Sie können sich anzeigen lassen, welche Version von Guix Sie genau verwenden, indem Sie dies ausführen:" #. type: example #: guix-git/doc/guix.texi:2824 #, no-wrap msgid "guix describe\n" msgstr "guix describe\n" #. type: Plain text #: guix-git/doc/guix.texi:2829 msgid "The information it displays is @emph{all it takes to reproduce the exact same Guix}, be it at a different point in time or on a different machine." msgstr "Die angezeigten Informationen sind @emph{alles, was nötig ist, um genau dasselbe Guix zu installieren}. Damit können Sie zu einem anderen Zeitpunkt oder auf einer anderen Maschine genau dieselbe Software nachbilden." #. type: quotation #: guix-git/doc/guix.texi:2835 msgid "@xref{Invoking guix pull}, for more information. @xref{Channels}, on how to specify additional @dfn{channels} to pull packages from, how to replicate Guix, and more. You may also find @command{time-machine} handy (@pxref{Invoking guix time-machine})." msgstr "Siehe @ref{Invoking guix pull} für weitere Informationen. Siehe @ref{Channels} für Erklärungen, wie man zusätzliche @dfn{Kanäle} als Paketquellen angibt, wie man Guix nachbilden kann, und mehr. Vielleicht hilft Ihnen auch die @command{time-machine}-Funktion (siehe @ref{Invoking guix time-machine})." #. type: Plain text #: guix-git/doc/guix.texi:2840 msgid "If you installed Guix System, one of the first things you'll want to do is to upgrade your system. Once you've run @command{guix pull} to get the latest Guix, you can upgrade the system like this:" msgstr "Wenn Sie Guix System installieren, dürfte eines der ersten Dinge, das Sie tun wollen, eine Aktualisierung Ihres Systems sein. Sobald Sie @command{guix pull} ausgeführt haben, können Sie mit diesem Befehl das System aktualisieren:" #. type: example #: guix-git/doc/guix.texi:2843 guix-git/doc/guix.texi:17188 #, no-wrap msgid "sudo guix system reconfigure /etc/config.scm\n" msgstr "sudo guix system reconfigure /etc/config.scm\n" #. type: Plain text #: guix-git/doc/guix.texi:2849 msgid "Upon completion, the system runs the latest versions of its software packages. Just like for packages, you can always @emph{roll back} to a previous generation @emph{of the whole system}. @xref{Getting Started with the System}, to learn how to manage your system." msgstr "Nach Abschluss läuft auf dem System die neueste Version seiner Software-Pakete. Genau wie bei Paketen können Sie jederzeit @emph{das gesamte System} auf eine vorherige Generation @emph{zurücksetzen}. Siehe @ref{Getting Started with the System}, um zu erfahren, wie Sie das System pflegen." #. type: Plain text #: guix-git/doc/guix.texi:2851 msgid "Now you know enough to get started!" msgstr "Jetzt wissen Sie genug, um anzufangen!" #. type: quotation #: guix-git/doc/guix.texi:2852 #, no-wrap msgid "Resources" msgstr "Weitere Ressourcen" #. type: quotation #: guix-git/doc/guix.texi:2855 msgid "The rest of this manual provides a reference for all things Guix. Here are some additional resources you may find useful:" msgstr "Der Rest dieses Handbuchs stellt eine Referenz für alles rund um Guix dar. Hier sind ein paar andere Ressourcen, die sich als nützlich erweisen könnten:" #. type: itemize #: guix-git/doc/guix.texi:2860 msgid "@xref{Top,,, guix-cookbook, The GNU Guix Cookbook}, for a list of ``how-to'' style of recipes for a variety of applications." msgstr "Siehe @ref{Top,,, guix-cookbook.de, das GNU-Guix-Kochbuch} für eine Liste von anleitungsartigen Rezepten zu einer Vielzahl von Anwendungszwecken." #. type: itemize #: guix-git/doc/guix.texi:2865 msgid "The @uref{https://guix.gnu.org/guix-refcard.pdf, GNU Guix Reference Card} lists in two pages most of the commands and options you'll ever need." msgstr "In der @uref{https://guix.gnu.org/guix-refcard.pdf, GNU Guix Reference Card} sind in zwei Seiten die meisten Befehle und Befehlszeilenoptionen aufgeführt, die Sie jemals brauchen werden." #. type: itemize #: guix-git/doc/guix.texi:2870 msgid "The web site contains @uref{https://guix.gnu.org/en/videos/, instructional videos} covering topics such as everyday use of Guix, how to get help, and how to become a contributor." msgstr "Auf dem Webauftritt gibt es @uref{https://guix.gnu.org/de/videos/, Lehrvideos} zu Themen wie der alltäglichen Nutzung von Guix, wo man Hilfe bekommt und wie man mitmachen kann." #. type: itemize #: guix-git/doc/guix.texi:2874 msgid "@xref{Documentation}, to learn how to access documentation on your computer." msgstr "Siehe @ref{Documentation}, um zu erfahren, wie Sie von Ihrem Rechner aus auf Dokumentation von Software zugreifen können." #. type: quotation #: guix-git/doc/guix.texi:2877 msgid "We hope you will enjoy Guix as much as the community enjoys building it!" msgstr "Wir hoffen, dass Ihnen Guix genauso viel Spaß bereitet wie der Guix-Gemeinde bei seiner Entwicklung!" #. type: Plain text #: guix-git/doc/guix.texi:2888 msgid "The purpose of GNU Guix is to allow users to easily install, upgrade, and remove software packages, without having to know about their build procedures or dependencies. Guix also goes beyond this obvious set of features." msgstr "Der Zweck von GNU Guix ist, Benutzern die leichte Installation, Aktualisierung und Entfernung von Software-Paketen zu ermöglichen, ohne dass sie ihre Erstellungsprozeduren oder Abhängigkeiten kennen müssen. Guix kann natürlich noch mehr als diese offensichtlichen Funktionalitäten." #. type: Plain text #: guix-git/doc/guix.texi:2896 msgid "This chapter describes the main features of Guix, as well as the package management tools it provides. Along with the command-line interface described below (@pxref{Invoking guix package, @code{guix package}}), you may also use the Emacs-Guix interface (@pxref{Top,,, emacs-guix, The Emacs-Guix Reference Manual}), after installing @code{emacs-guix} package (run @kbd{M-x guix-help} command to start with it):" msgstr "Dieses Kapitel beschreibt die Hauptfunktionalitäten von Guix, sowie die von Guix angebotenen Paketverwaltungswerkzeuge. Zusätzlich zu den im Folgenden beschriebenen Befehlszeilen-Benutzerschnittstellen (siehe @ref{Invoking guix package, @code{guix package}}) können Sie auch mit der Emacs-Guix-Schnittstelle (siehe @ref{Top,,, emacs-guix, Referenzhandbuch von Emacs-Guix}) arbeiten, nachdem Sie das Paket @code{emacs-guix} installiert haben (führen Sie zum Einstieg in Emacs-Guix den Emacs-Befehl @kbd{M-x guix-help} aus):" #. type: example #: guix-git/doc/guix.texi:2899 #, no-wrap msgid "guix install emacs-guix\n" msgstr "guix install emacs-guix\n" #. type: Plain text #: guix-git/doc/guix.texi:2921 msgid "Here we assume you've already made your first steps with Guix (@pxref{Getting Started}) and would like to get an overview about what's going on under the hood." msgstr "Wir nehmen hier an, dass Sie schon Ihre ersten Erfahrungen mit Guix gemacht haben (siehe @ref{Getting Started}) und gerne einen Überblick darüber bekommen würden, wie Guix im Detail funktioniert." #. type: Plain text #: guix-git/doc/guix.texi:2925 msgid "When using Guix, each package ends up in the @dfn{package store}, in its own directory---something that resembles @file{/gnu/store/xxx-package-1.2}, where @code{xxx} is a base32 string." msgstr "Wenn Sie Guix benutzen, landet jedes Paket schließlich im @dfn{Paket-Store} in seinem eigenen Verzeichnis@tie{}– der Name ist ähnlich wie @file{/gnu/store/xxx-package-1.2}, wobei @code{xxx} eine Zeichenkette in Base32-Darstellung ist." #. type: Plain text #: guix-git/doc/guix.texi:2930 msgid "Instead of referring to these directories, users have their own @dfn{profile}, which points to the packages that they actually want to use. These profiles are stored within each user's home directory, at @code{$HOME/.guix-profile}." msgstr "Statt diese Verzeichnisse direkt anzugeben, haben Nutzer ihr eigenes @dfn{Profil}, welches auf diejenigen Pakete zeigt, die sie tatsächlich benutzen wollen. Diese Profile sind im Persönlichen Verzeichnis des jeweiligen Nutzers gespeichert als @code{$HOME/.guix-profile}." #. type: Plain text #: guix-git/doc/guix.texi:2938 msgid "For example, @code{alice} installs GCC 4.7.2. As a result, @file{/home/alice/.guix-profile/bin/gcc} points to @file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Now, on the same machine, @code{bob} had already installed GCC 4.8.0. The profile of @code{bob} simply continues to point to @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc}---i.e., both versions of GCC coexist on the same system without any interference." msgstr "Zum Beispiel installiert @code{alice} GCC 4.7.2. Dadurch zeigt dann @file{/home/alice/.guix-profile/bin/gcc} auf @file{/gnu/store/…-gcc-4.7.2/bin/gcc}. Auf demselben Rechner hat @code{bob} bereits GCC 4.8.0 installiert. Das Profil von @code{bob} zeigt dann einfach weiterhin auf @file{/gnu/store/…-gcc-4.8.0/bin/gcc}@tie{}– d.h.@: beide Versionen von GCC koexistieren auf demselben System, ohne sich zu stören." #. type: Plain text #: guix-git/doc/guix.texi:2942 msgid "The @command{guix package} command is the central tool to manage packages (@pxref{Invoking guix package}). It operates on the per-user profiles, and can be used @emph{with normal user privileges}." msgstr "Der Befehl @command{guix package} ist das zentrale Werkzeug, um Pakete zu verwalten (siehe @ref{Invoking guix package}). Es arbeitet auf dem eigenen Profil jedes Nutzers und kann @emph{mit normalen Benutzerrechten} ausgeführt werden." #. type: cindex #: guix-git/doc/guix.texi:2943 guix-git/doc/guix.texi:3027 #, no-wrap msgid "transactions" msgstr "Transaktionen" #. type: Plain text #: guix-git/doc/guix.texi:2950 msgid "The command provides the obvious install, remove, and upgrade operations. Each invocation is actually a @emph{transaction}: either the specified operation succeeds, or nothing happens. Thus, if the @command{guix package} process is terminated during the transaction, or if a power outage occurs during the transaction, then the user's profile remains in its previous state, and remains usable." msgstr "Der Befehl stellt die offensichtlichen Installations-, Entfernungs- und Aktualisierungsoperationen zur Verfügung. Jeder Aufruf ist tatsächlich eine eigene @emph{Transaktion}: Entweder die angegebene Operation wird erfolgreich durchgeführt, oder gar nichts passiert. Wenn also der Prozess von @command{guix package} während der Transaktion beendet wird, oder es zum Stromausfall während der Transaktion kommt, dann bleibt der alte, nutzbare Zustands des Nutzerprofils erhalten." #. type: Plain text #: guix-git/doc/guix.texi:2958 msgid "In addition, any package transaction may be @emph{rolled back}. So, if, for example, an upgrade installs a new version of a package that turns out to have a serious bug, users may roll back to the previous instance of their profile, which was known to work well. Similarly, the global system configuration on Guix is subject to transactional upgrades and roll-back (@pxref{Getting Started with the System})." msgstr "Zudem kann jede Pakettransaktion @emph{zurückgesetzt} werden (Rollback). Wird also zum Beispiel durch eine Aktualisierung eine neue Version eines Pakets installiert, die einen schwerwiegenden Fehler zur Folge hat, können Nutzer ihr Profil einfach auf die vorherige Profilinstanz zurücksetzen, von der sie wissen, dass sie gut lief. Ebenso unterliegt bei Guix auch die globale Systemkonfiguration transaktionellen Aktualisierungen und Rücksetzungen (siehe @ref{Getting Started with the System})." #. type: Plain text #: guix-git/doc/guix.texi:2965 msgid "All packages in the package store may be @emph{garbage-collected}. Guix can determine which packages are still referenced by user profiles, and remove those that are provably no longer referenced (@pxref{Invoking guix gc}). Users may also explicitly remove old generations of their profile so that the packages they refer to can be collected." msgstr "Alle Pakete im Paket-Store können vom @emph{Müllsammler} (Garbage Collector) gelöscht werden. Guix ist in der Lage, festzustellen, welche Pakete noch durch Benutzerprofile referenziert werden, und entfernt nur diese, die nachweislich nicht mehr referenziert werden (siehe @ref{Invoking guix gc}). Benutzer können auch ausdrücklich alte Generationen ihres Profils löschen, damit die zugehörigen Pakete vom Müllsammler gelöscht werden können." #. type: Plain text #: guix-git/doc/guix.texi:2978 msgid "Guix takes a @dfn{purely functional} approach to package management, as described in the introduction (@pxref{Introduction}). Each @file{/gnu/store} package directory name contains a hash of all the inputs that were used to build that package---compiler, libraries, build scripts, etc. This direct correspondence allows users to make sure a given package installation matches the current state of their distribution. It also helps maximize @dfn{build reproducibility}: thanks to the isolated build environments that are used, a given build is likely to yield bit-identical files when performed on different machines (@pxref{Invoking guix-daemon, container})." msgstr "Guix verfolgt einen @dfn{rein funktionalen} Ansatz bei der Paketverwaltung, wie er in der Einleitung beschrieben wurde (siehe @ref{Introduction}). Jedes Paketverzeichnis im @file{/gnu/store} hat einen Hash all seiner bei der Erstellung benutzten Eingaben im Namen@tie{}– Compiler, Bibliotheken, Erstellungs-Skripts etc. Diese direkte Entsprechung ermöglicht es Benutzern, eine Paketinstallation zu benutzen, die sicher dem aktuellen Stand ihrer Distribution entspricht. Sie hilft auch dabei, die @dfn{Reproduzierbarkeit der Erstellungen} zu maximieren: Dank den isolierten Erstellungsumgebungen, die benutzt werden, resultiert eine Erstellung wahrscheinlich in bitweise identischen Dateien, auch wenn sie auf unterschiedlichen Maschinen durchgeführt wird (siehe @ref{Invoking guix-daemon, Container})." #. type: Plain text #: guix-git/doc/guix.texi:2989 msgid "This foundation allows Guix to support @dfn{transparent binary/source deployment}. When a pre-built binary for a @file{/gnu/store} item is available from an external source---a @dfn{substitute}, Guix just downloads it and unpacks it; otherwise, it builds the package from source, locally (@pxref{Substitutes}). Because build results are usually bit-for-bit reproducible, users do not have to trust servers that provide substitutes: they can force a local build and @emph{challenge} providers (@pxref{Invoking guix challenge})." msgstr "Auf dieser Grundlage kann Guix @dfn{transparent Binär- oder Quelldateien ausliefern}. Wenn eine vorerstellte Binärdatei für ein @file{/gnu/store}-Objekt von einer externen Quelle verfügbar ist@tie{}– ein @dfn{Substitut}@tie{}–, lädt Guix sie einfach herunter und entpackt sie, andernfalls erstellt Guix das Paket lokal aus seinem Quellcode (siehe @ref{Substitutes}). Weil Erstellungsergebnisse normalerweise Bit für Bit reproduzierbar sind, müssen die Nutzer den Servern, die Substitute anbieten, nicht blind vertrauen; sie können eine lokale Erstellung erzwingen und Substitute @emph{anfechten} (siehe @ref{Invoking guix challenge})." #. type: Plain text #: guix-git/doc/guix.texi:2995 msgid "Control over the build environment is a feature that is also useful for developers. The @command{guix shell} command allows developers of a package to quickly set up the right development environment for their package, without having to manually install the dependencies of the package into their profile (@pxref{Invoking guix shell})." msgstr "Kontrolle über die Erstellungsumgebung ist eine auch für Entwickler nützliche Funktionalität. Der Befehl @command{guix shell} ermöglicht es Entwicklern eines Pakets, schnell die richtige Entwicklungsumgebung für ihr Paket einzurichten, ohne manuell die Abhängigkeiten des Pakets in ihr Profil installieren zu müssen (siehe @ref{Invoking guix shell})." #. type: cindex #: guix-git/doc/guix.texi:2996 #, no-wrap msgid "replication, of software environments" msgstr "Nachbildung, von Software-Umgebungen" #. type: cindex #: guix-git/doc/guix.texi:2997 #, no-wrap msgid "provenance tracking, of software artifacts" msgstr "Provenienzverfolgung, von Software-Artefakten" #. type: Plain text #: guix-git/doc/guix.texi:3004 msgid "All of Guix and its package definitions is version-controlled, and @command{guix pull} allows you to ``travel in time'' on the history of Guix itself (@pxref{Invoking guix pull}). This makes it possible to replicate a Guix instance on a different machine or at a later point in time, which in turn allows you to @emph{replicate complete software environments}, while retaining precise @dfn{provenance tracking} of the software." msgstr "Ganz Guix und all seine Paketdefinitionen stehen unter Versionskontrolle und @command{guix pull} macht es möglich, auf dem Verlauf der Entwicklung von Guix selbst „in der Zeit zu reisen“ (siehe @ref{Invoking guix pull}). Dadurch kann eine Instanz von Guix auf einer anderen Maschine oder zu einem späteren Zeitpunkt genau nachgebildet werden, wodurch auch @emph{vollständige Software-Umgebungen gänzlich nachgebildet} werden können, mit genauer @dfn{Provenienzverfolgung}, wo diese Software herkommt." #. type: section #: guix-git/doc/guix.texi:3006 #, no-wrap msgid "Invoking @command{guix package}" msgstr "@command{guix package} aufrufen" #. type: cindex #: guix-git/doc/guix.texi:3008 #, no-wrap msgid "installing packages" msgstr "Installieren von Paketen" #. type: cindex #: guix-git/doc/guix.texi:3009 #, no-wrap msgid "removing packages" msgstr "Entfernen von Paketen" #. type: cindex #: guix-git/doc/guix.texi:3010 #, no-wrap msgid "package installation" msgstr "Paketinstallation" #. type: cindex #: guix-git/doc/guix.texi:3011 #, no-wrap msgid "package removal" msgstr "Paketentfernung" #. type: command{#1} #: guix-git/doc/guix.texi:3013 #, no-wrap msgid "guix package" msgstr "guix package" #. type: Plain text #: guix-git/doc/guix.texi:3022 msgid "The @command{guix package} command is the tool that allows users to install, upgrade, and remove packages, as well as rolling back to previous configurations. These operations work on a user @dfn{profile}---a directory of installed packages. Each user has a default profile in @file{$HOME/.guix-profile}. The command operates only on the user's own profile, and works with normal user privileges (@pxref{Features}). Its syntax is:" msgstr "Der Befehl @command{guix package} ist ein Werkzeug, womit Nutzer Pakete installieren, aktualisieren, entfernen und auf vorherige Konfigurationen zurücksetzen können. Diese Operationen arbeiten auf einem @dfn{Benutzerprofil}, d.h.@: einem Verzeichnis, das installierte Pakete enthält. Jeder Benutzer verfügt über ein Standardprofil in @file{$HOME/.guix-profile}. Dabei wird nur das eigene Profil des Nutzers verwendet, und es funktioniert mit normalen Benutzerrechten, ohne Administratorrechte (siehe @ref{Funktionalitäten}). Die Syntax ist:" #. type: example #: guix-git/doc/guix.texi:3025 #, no-wrap msgid "guix package @var{options}\n" msgstr "guix package @var{Optionen}\n" #. type: Plain text #: guix-git/doc/guix.texi:3032 msgid "Primarily, @var{options} specifies the operations to be performed during the transaction. Upon completion, a new profile is created, but previous @dfn{generations} of the profile remain available, should the user want to roll back." msgstr "In erster Linie geben die @var{Optionen} an, welche Operationen in der Transaktion durchgeführt werden sollen. Nach Abschluss wird ein neues Profil erzeugt, aber vorherige @dfn{Generationen} des Profils bleiben verfügbar, falls der Benutzer auf sie zurückwechseln will." #. type: Plain text #: guix-git/doc/guix.texi:3035 msgid "For example, to remove @code{lua} and install @code{guile} and @code{guile-cairo} in a single transaction:" msgstr "Um zum Beispiel @code{lua} zu entfernen und @code{guile} und @code{guile-cairo} in einer einzigen Transaktion zu installieren:" #. type: example #: guix-git/doc/guix.texi:3038 #, no-wrap msgid "guix package -r lua -i guile guile-cairo\n" msgstr "guix package -r lua -i guile guile-cairo\n" #. type: cindex #: guix-git/doc/guix.texi:3040 #, no-wrap msgid "aliases, for @command{guix package}" msgstr "Alias-Namen für @command{guix package}" #. type: Plain text #: guix-git/doc/guix.texi:3042 msgid "For your convenience, we also provide the following aliases:" msgstr "Um es Ihnen einfacher zu machen, bieten wir auch die folgenden Alias-Namen an:" #. type: itemize #: guix-git/doc/guix.texi:3046 msgid "@command{guix search} is an alias for @command{guix package -s}," msgstr "@command{guix search} ist eine andere Schreibweise für @command{guix package -s}," #. type: itemize #: guix-git/doc/guix.texi:3048 msgid "@command{guix install} is an alias for @command{guix package -i}," msgstr "@command{guix install} ist eine andere Schreibweise für @command{guix package -i}," #. type: itemize #: guix-git/doc/guix.texi:3050 msgid "@command{guix remove} is an alias for @command{guix package -r}," msgstr "@command{guix remove} ist eine andere Schreibweise für @command{guix package -r}," #. type: itemize #: guix-git/doc/guix.texi:3052 msgid "@command{guix upgrade} is an alias for @command{guix package -u}," msgstr "@command{guix upgrade} ist eine andere Schreibweise für @command{guix package -u}" #. type: itemize #: guix-git/doc/guix.texi:3054 msgid "and @command{guix show} is an alias for @command{guix package --show=}." msgstr "und @command{guix show} ist eine andere Schreibweise für @command{guix package --show=}." #. type: Plain text #: guix-git/doc/guix.texi:3059 msgid "These aliases are less expressive than @command{guix package} and provide fewer options, so in some cases you'll probably want to use @command{guix package} directly." msgstr "Diese Alias-Namen sind weniger ausdrucksstark als @command{guix package} und stellen weniger Befehlszeilenoptionen bereit, deswegen werden Sie vermutlich manchmal @command{guix package} direkt benutzen wollen." #. type: Plain text #: guix-git/doc/guix.texi:3064 msgid "@command{guix package} also supports a @dfn{declarative approach} whereby the user specifies the exact set of packages to be available and passes it @i{via} the @option{--manifest} option (@pxref{profile-manifest, @option{--manifest}})." msgstr "@command{guix package} unterstützt auch ein @dfn{deklaratives Vorgehen}, wobei der Nutzer die genaue Menge an Paketen, die verfügbar sein sollen, festlegt und über die Befehlszeilenoption @option{--manifest} übergibt (siehe @ref{profile-manifest, @option{--manifest}})." #. type: Plain text #: guix-git/doc/guix.texi:3071 msgid "For each user, a symlink to the user's default profile is automatically created in @file{$HOME/.guix-profile}. This symlink always points to the current generation of the user's default profile. Thus, users can add @file{$HOME/.guix-profile/bin} to their @env{PATH} environment variable, and so on." msgstr "Für jeden Benutzer wird automatisch eine symbolische Verknüpfung zu seinem Standardprofil angelegt als @file{$HOME/.guix-profile}. Diese symbolische Verknüpfung zeigt immer auf die aktuelle Generation des Standardprofils des Benutzers. Somit können Nutzer @file{$HOME/.guix-profile/bin} z.B.@: zu ihrer Umgebungsvariablen @env{PATH} hinzufügen." #. type: cindex #: guix-git/doc/guix.texi:3071 guix-git/doc/guix.texi:3297 #, no-wrap msgid "search paths" msgstr "Suchpfade" #. type: Plain text #: guix-git/doc/guix.texi:3076 msgid "If you are not using Guix System, consider adding the following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all the right environment variable definitions:" msgstr "Wenn Sie @emph{nicht} Guix System benutzen, sollten Sie in Betracht ziehen, folgende Zeilen zu Ihrem @file{~/.bash_profile} hinzuzufügen (siehe @ref{Bash Startup Files,,, bash, Referenzhandbuch von GNU Bash}), damit in neu erzeugten Shells alle Umgebungsvariablen richtig definiert werden:" #. type: example #: guix-git/doc/guix.texi:3080 #, no-wrap msgid "" "GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n" "source \"$GUIX_PROFILE/etc/profile\"\n" msgstr "" "GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n" "source \"$GUIX_PROFILE/etc/profile\"\n" #. type: Plain text #: guix-git/doc/guix.texi:3091 msgid "In a multi-user setup, user profiles are stored in a place registered as a @dfn{garbage-collector root}, which @file{$HOME/.guix-profile} points to (@pxref{Invoking guix gc}). That directory is normally @code{@var{localstatedir}/guix/profiles/per-user/@var{user}}, where @var{localstatedir} is the value passed to @code{configure} as @option{--localstatedir}, and @var{user} is the user name. The @file{per-user} directory is created when @command{guix-daemon} is started, and the @var{user} sub-directory is created by @command{guix package}." msgstr "Ist Ihr System für mehrere Nutzer eingerichtet, werden Nutzerprofile an einem Ort gespeichert, der als @dfn{Müllsammlerwurzel} registriert ist, auf die @file{$HOME/.guix-profile} zeigt (siehe @ref{Invoking guix gc}). Dieses Verzeichnis ist normalerweise @code{@var{localstatedir}/guix/profiles/per-user/@var{Benutzer}}, wobei @var{localstatedir} der an @code{configure} als @option{--localstatedir} übergebene Wert ist und @var{Benutzer} für den jeweiligen Benutzernamen steht. Das @file{per-user}-Verzeichnis wird erstellt, wenn @command{guix-daemon} gestartet wird, und das Unterverzeichnis @var{Benutzer} wird durch @command{guix package} erstellt." #. type: Plain text #: guix-git/doc/guix.texi:3093 msgid "The @var{options} can be among the following:" msgstr "Als @var{Optionen} kann vorkommen:" #. type: item #: guix-git/doc/guix.texi:3096 #, no-wrap msgid "--install=@var{package} @dots{}" msgstr "--install=@var{Paket} …" #. type: itemx #: guix-git/doc/guix.texi:3097 #, no-wrap msgid "-i @var{package} @dots{}" msgstr "-i @var{Paket} …" #. type: table #: guix-git/doc/guix.texi:3099 msgid "Install the specified @var{package}s." msgstr "Die angegebenen @var{Paket}e installieren." #. type: table #: guix-git/doc/guix.texi:3104 msgid "Each @var{package} may specify a simple package name, such as @code{guile}, optionally followed by an at-sign and version number, such as @code{guile@@3.0.7} or simply @code{guile@@3.0}. In the latter case, the newest version prefixed by @code{3.0} is selected." msgstr "Jedes @var{Paket} kann einfach durch seinen Paketnamen aufgeführt werden, wie @code{guile}, optional gefolgt von einem At-Zeichen @@ und einer Versionsnummer, wie @code{guile@@3.0.7} oder auch nur @code{guile@@3.0}. In letzterem Fall wird die neueste Version mit Präfix @code{3.0} ausgewählt." #. type: table #: guix-git/doc/guix.texi:3110 msgid "If no version number is specified, the newest available version will be selected. In addition, such a @var{package} specification may contain a colon, followed by the name of one of the outputs of the package, as in @code{gcc:doc} or @code{binutils@@2.22:lib} (@pxref{Packages with Multiple Outputs})." msgstr "Wird keine Versionsnummer angegeben, wird die neueste verfügbare Version ausgewählt. Zudem kann in der Spezifikation von @var{Paket} ein Doppelpunkt auftauchen, gefolgt vom Namen einer der Ausgaben des Pakets, wie @code{gcc:doc} oder @code{binutils@@2.22:lib} (siehe @ref{Packages with Multiple Outputs})." #. type: table #: guix-git/doc/guix.texi:3114 msgid "Packages with a corresponding name (and optionally version) are searched for among the GNU distribution modules (@pxref{Package Modules})." msgstr "Pakete mit zugehörigem Namen (und optional der Version) werden unter den Modulen der GNU-Distribution gesucht (siehe @ref{Package Modules})." #. type: table #: guix-git/doc/guix.texi:3118 msgid "Alternatively, a @var{package} can directly specify a store file name such as @file{/gnu/store/...-guile-3.0.7}, as produced by, e.g., @code{guix build}." msgstr "Alternativ können Sie für @var{Paket} auch einen Dateinamen aus dem Store direkt angeben, etwa @file{/gnu/store/…-guile-3.0.7}. Den Dateinamen erfahren Sie zum Beispiel mit @code{guix build}." #. type: cindex #: guix-git/doc/guix.texi:3119 #, no-wrap msgid "propagated inputs" msgstr "propagierte Eingaben" #. type: table #: guix-git/doc/guix.texi:3125 msgid "Sometimes packages have @dfn{propagated inputs}: these are dependencies that automatically get installed along with the required package (@pxref{package-propagated-inputs, @code{propagated-inputs} in @code{package} objects}, for information about propagated inputs in package definitions)." msgstr "Manchmal haben Pakete @dfn{propagierte Eingaben}: Als solche werden Abhängigkeiten bezeichnet, die automatisch zusammen mit dem angeforderten Paket installiert werden (im Abschnitt @ref{package-propagated-inputs, @code{propagated-inputs} in @code{package}-Objekten} sind weitere Informationen über propagierte Eingaben in Paketdefinitionen zu finden)." #. type: anchor{#1} #: guix-git/doc/guix.texi:3132 msgid "package-cmd-propagated-inputs" msgstr "package-cmd-propagated-inputs" #. type: table #: guix-git/doc/guix.texi:3132 msgid "An example is the GNU MPC library: its C header files refer to those of the GNU MPFR library, which in turn refer to those of the GMP library. Thus, when installing MPC, the MPFR and GMP libraries also get installed in the profile; removing MPC also removes MPFR and GMP---unless they had also been explicitly installed by the user." msgstr "Ein Beispiel ist die GNU-MPC-Bibliothek: Ihre C-Headerdateien verweisen auf die der GNU-MPFR-Bibliothek, welche wiederum auf die der GMP-Bibliothek verweisen. Wenn also MPC installiert wird, werden auch die MPFR- und GMP-Bibliotheken in das Profil installiert; entfernt man MPC, werden auch MPFR und GMP entfernt@tie{}– außer sie wurden noch auf andere Art ausdrücklich vom Nutzer installiert." #. type: table #: guix-git/doc/guix.texi:3137 msgid "Besides, packages sometimes rely on the definition of environment variables for their search paths (see explanation of @option{--search-paths} below). Any missing or possibly incorrect environment variable definitions are reported here." msgstr "Abgesehen davon setzen Pakete manchmal die Definition von Umgebungsvariablen für ihre Suchpfade voraus (siehe die Erklärung von @option{--search-paths} weiter unten). Alle fehlenden oder womöglich falschen Definitionen von Umgebungsvariablen werden hierbei gemeldet." #. type: item #: guix-git/doc/guix.texi:3138 #, no-wrap msgid "--install-from-expression=@var{exp}" msgstr "--install-from-expression=@var{Ausdruck}" #. type: itemx #: guix-git/doc/guix.texi:3139 #, no-wrap msgid "-e @var{exp}" msgstr "-e @var{Ausdruck}" #. type: table #: guix-git/doc/guix.texi:3141 msgid "Install the package @var{exp} evaluates to." msgstr "Das Paket installieren, zu dem der @var{Ausdruck} ausgewertet wird." #. type: table #: guix-git/doc/guix.texi:3146 msgid "@var{exp} must be a Scheme expression that evaluates to a @code{<package>} object. This option is notably useful to disambiguate between same-named variants of a package, with expressions such as @code{(@@ (gnu packages commencement) guile-final)}." msgstr "Beim @var{Ausdruck} muss es sich um einen Scheme-Ausdruck handeln, der zu einem @code{<package>}-Objekt ausgewertet wird. Diese Option ist besonders nützlich, um zwischen gleichnamigen Varianten eines Pakets zu unterscheiden, durch Ausdrücke wie @code{(@@ (gnu packages commencement) guile-final)}." #. type: table #: guix-git/doc/guix.texi:3150 msgid "Note that this option installs the first output of the specified package, which may be insufficient when needing a specific output of a multiple-output package." msgstr "Beachten Sie, dass mit dieser Option die erste Ausgabe des angegebenen Pakets installiert wird, was unzureichend sein kann, wenn eine bestimmte Ausgabe eines Pakets mit mehreren Ausgaben gewünscht ist." #. type: item #: guix-git/doc/guix.texi:3151 #, no-wrap msgid "--install-from-file=@var{file}" msgstr "--install-from-file=@var{Datei}" #. type: itemx #: guix-git/doc/guix.texi:3152 guix-git/doc/guix.texi:6133 #: guix-git/doc/guix.texi:13576 #, no-wrap msgid "-f @var{file}" msgstr "-f @var{Datei}" #. type: table #: guix-git/doc/guix.texi:3154 msgid "Install the package that the code within @var{file} evaluates to." msgstr "Das Paket installieren, zu dem der Code in der @var{Datei} ausgewertet wird." #. type: table #: guix-git/doc/guix.texi:3157 guix-git/doc/guix.texi:6139 #: guix-git/doc/guix.texi:6664 msgid "As an example, @var{file} might contain a definition like this (@pxref{Defining Packages}):" msgstr "Zum Beispiel könnte die @var{Datei} eine Definition wie diese enthalten (siehe @ref{Defining Packages}):" #. type: include #: guix-git/doc/guix.texi:3159 guix-git/doc/guix.texi:13584 #, no-wrap msgid "package-hello.scm" msgstr "package-hello.scm" #. type: table #: guix-git/doc/guix.texi:3166 msgid "Developers may find it useful to include such a @file{guix.scm} file in the root of their project source tree that can be used to test development snapshots and create reproducible development environments (@pxref{Invoking guix shell})." msgstr "Entwickler könnten es für nützlich erachten, eine solche @file{guix.scm}-Datei im Quellbaum ihres Projekts abzulegen, mit der Zwischenstände der Entwicklung getestet und reproduzierbare Erstellungsumgebungen aufgebaut werden können (siehe @ref{Invoking guix shell})." #. type: table #: guix-git/doc/guix.texi:3171 msgid "The @var{file} may also contain a JSON representation of one or more package definitions. Running @code{guix package -f} on @file{hello.json} with the following contents would result in installing the package @code{greeter} after building @code{myhello}:" msgstr "Es ist auch möglich, eine @var{Datei} mit einer JSON-Repräsentation von einer oder mehr Paketdefinitionen anzugeben. Wenn Sie @code{guix package -f} auf @file{hello.json} mit folgendem Inhalt ausführen würden, würde das Paket @code{greeter} installiert, nachdem @code{myhello} erstellt wurde:" #. type: example #: guix-git/doc/guix.texi:3174 guix-git/doc/guix.texi:13594 #, no-wrap msgid "@verbatiminclude package-hello.json\n" msgstr "@verbatiminclude package-hello.json\n" #. type: item #: guix-git/doc/guix.texi:3176 #, no-wrap msgid "--remove=@var{package} @dots{}" msgstr "--remove=@var{Paket} …" #. type: itemx #: guix-git/doc/guix.texi:3177 #, no-wrap msgid "-r @var{package} @dots{}" msgstr "-r @var{Paket} …" #. type: table #: guix-git/doc/guix.texi:3179 msgid "Remove the specified @var{package}s." msgstr "Die angegebenen @var{Paket}e entfernen." #. type: table #: guix-git/doc/guix.texi:3184 msgid "As for @option{--install}, each @var{package} may specify a version number and/or output name in addition to the package name. For instance, @samp{-r glibc:debug} would remove the @code{debug} output of @code{glibc}." msgstr "Wie auch bei @option{--install} kann jedes @var{Paket} neben dem Paketnamen auch eine Versionsnummer und/oder eine Ausgabe benennen. Zum Beispiel würde @samp{-r glibc:debug} die @code{debug}-Ausgabe von @code{glibc} aus dem Profil entfernen." #. type: item #: guix-git/doc/guix.texi:3185 #, no-wrap msgid "--upgrade[=@var{regexp} @dots{}]" msgstr "--upgrade[=@var{Regexp} …]" #. type: itemx #: guix-git/doc/guix.texi:3186 #, no-wrap msgid "-u [@var{regexp} @dots{}]" msgstr "-u [@var{Regexp} …]" #. type: cindex #: guix-git/doc/guix.texi:3187 #, no-wrap msgid "upgrading packages" msgstr "Pakete aktualisieren" #. type: table #: guix-git/doc/guix.texi:3191 msgid "Upgrade all the installed packages. If one or more @var{regexp}s are specified, upgrade only installed packages whose name matches a @var{regexp}. Also see the @option{--do-not-upgrade} option below." msgstr "Alle installierten Pakete aktualisieren. Wenn einer oder mehr reguläre Ausdrücke (Regexps) angegeben wurden, werden nur diejenigen installierten Pakete aktualisiert, deren Name zu einer der @var{Regexp}s passt. Siehe auch weiter unten die Befehlszeilenoption @option{--do-not-upgrade}." #. type: table #: guix-git/doc/guix.texi:3196 msgid "Note that this upgrades package to the latest version of packages found in the distribution currently installed. To update your distribution, you should regularly run @command{guix pull} (@pxref{Invoking guix pull})." msgstr "Beachten Sie, dass das Paket so auf die neueste Version unter den Paketen gebracht wird, die in der aktuell installierten Distribution vorliegen. Um jedoch Ihre Distribution zu aktualisieren, sollten Sie regelmäßig @command{guix pull} ausführen (siehe @ref{Invoking guix pull})." #. type: cindex #: guix-git/doc/guix.texi:3197 #, no-wrap msgid "package transformations, upgrades" msgstr "Paketumwandlungen, Aktualisierung" #. type: table #: guix-git/doc/guix.texi:3202 msgid "When upgrading, package transformations that were originally applied when creating the profile are automatically re-applied (@pxref{Package Transformation Options}). For example, assume you first installed Emacs from the tip of its development branch with:" msgstr "Wenn Sie Ihre Pakete aktualisieren, werden die bei der Erstellung des vorherigen Profils angewandten Paketumwandlungen automatisch erneut angwandt (siehe @ref{Package Transformation Options}). Nehmen wir zum Beispiel an, Sie haben zuerst Emacs von der Spitze seines Entwicklungs-Branches installiert:" #. type: example #: guix-git/doc/guix.texi:3205 #, no-wrap msgid "guix install emacs-next --with-branch=emacs-next=master\n" msgstr "guix install emacs-next --with-branch=emacs-next=master\n" #. type: table #: guix-git/doc/guix.texi:3210 msgid "Next time you run @command{guix upgrade}, Guix will again pull the tip of the Emacs development branch and build @code{emacs-next} from that checkout." msgstr "Wenn Sie das nächste Mal @command{guix upgrade} ausführen, lädt Guix von neuem die Spitze des Emacs-Entwicklungsbranches, um aus diesem Checkout @code{emacs-next} zu erstellen." #. type: table #: guix-git/doc/guix.texi:3215 msgid "Note that transformation options such as @option{--with-branch} and @option{--with-source} depend on external state; it is up to you to ensure that they work as expected. You can also discard a transformations that apply to a package by running:" msgstr "Beachten Sie, dass Umwandlungsoptionen wie @option{--with-branch} und @option{--with-source} von externem Zustand abhängen. Es liegt an Ihnen, sicherzustellen, dass sie wie erwartet funktionieren. Sie können auf Pakete angewandte Umwandlungen auch weglassen, indem Sie das ausführen:" #. type: example #: guix-git/doc/guix.texi:3218 #, no-wrap msgid "guix install @var{package}\n" msgstr "guix install @var{Paket}\n" #. type: item #: guix-git/doc/guix.texi:3220 #, no-wrap msgid "--do-not-upgrade[=@var{regexp} @dots{}]" msgstr "--do-not-upgrade[=@var{Regexp} …]" #. type: table #: guix-git/doc/guix.texi:3225 msgid "When used together with the @option{--upgrade} option, do @emph{not} upgrade any packages whose name matches a @var{regexp}. For example, to upgrade all packages in the current profile except those containing the substring ``emacs'':" msgstr "In Verbindung mit der Befehlszeilenoption @option{--upgrade}, führe @emph{keine} Aktualisierung von Paketen durch, deren Name zum regulären Ausdruck @var{Regexp} passt. Um zum Beispiel alle Pakete im aktuellen Profil zu aktualisieren mit Ausnahme derer, die „emacs“ im Namen haben:" #. type: example #: guix-git/doc/guix.texi:3228 #, no-wrap msgid "$ guix package --upgrade . --do-not-upgrade emacs\n" msgstr "$ guix package --upgrade . --do-not-upgrade emacs\n" #. type: anchor{#1} #: guix-git/doc/guix.texi:3230 #, no-wrap msgid "profile-manifest" msgstr "profile-manifest" #. type: item #: guix-git/doc/guix.texi:3230 guix-git/doc/guix.texi:6152 #: guix-git/doc/guix.texi:6669 guix-git/doc/guix.texi:7280 #: guix-git/doc/guix.texi:14981 guix-git/doc/guix.texi:16723 #, no-wrap msgid "--manifest=@var{file}" msgstr "--manifest=@var{Datei}" #. type: itemx #: guix-git/doc/guix.texi:3231 guix-git/doc/guix.texi:6153 #: guix-git/doc/guix.texi:6670 guix-git/doc/guix.texi:7281 #: guix-git/doc/guix.texi:14982 #, no-wrap msgid "-m @var{file}" msgstr "-m @var{Datei}" #. type: cindex #: guix-git/doc/guix.texi:3232 #, no-wrap msgid "profile declaration" msgstr "Profildeklaration" #. type: cindex #: guix-git/doc/guix.texi:3233 #, no-wrap msgid "profile manifest" msgstr "Profilmanifest" #. type: table #: guix-git/doc/guix.texi:3237 msgid "Create a new generation of the profile from the manifest object returned by the Scheme code in @var{file}. This option can be repeated several times, in which case the manifests are concatenated." msgstr "Erstellt eine neue Generation des Profils aus dem vom Scheme-Code in @var{Datei} gelieferten Manifest-Objekt. Wenn diese Befehlszeilenoption mehrmals wiederholt angegeben wird, werden die Manifeste aneinandergehängt." #. type: table #: guix-git/doc/guix.texi:3243 msgid "This allows you to @emph{declare} the profile's contents rather than constructing it through a sequence of @option{--install} and similar commands. The advantage is that @var{file} can be put under version control, copied to different machines to reproduce the same profile, and so on." msgstr "Dadurch könnrn Sie den Inhalt des Profils @emph{deklarieren}, statt ihn durch eine Folge von Befehlen wie @option{--install} u.Ä.@: zu generieren. Der Vorteil ist, dass die @var{Datei} unter Versionskontrolle gestellt werden kann, auf andere Maschinen zum Reproduzieren desselben Profils kopiert werden kann und Ähnliches." #. type: table #: guix-git/doc/guix.texi:3246 msgid "@var{file} must return a @dfn{manifest} object, which is roughly a list of packages:" msgstr "Der Code in der @var{Datei} muss ein @dfn{Manifest}-Objekt liefern, was ungefähr einer Liste von Paketen entspricht:" #. type: findex #: guix-git/doc/guix.texi:3247 #, no-wrap msgid "packages->manifest" msgstr "packages->manifest" #. type: lisp #: guix-git/doc/guix.texi:3250 #, no-wrap msgid "" "(use-package-modules guile emacs)\n" "\n" msgstr "" "(use-package-modules guile emacs)\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:3256 #, no-wrap msgid "" "(packages->manifest\n" " (list emacs\n" " guile-2.0\n" " ;; Use a specific package output.\n" " (list guile-2.0 \"debug\")))\n" msgstr "" "(packages->manifest\n" " (list emacs\n" " guile-2.0\n" " ;; Eine bestimmte Paketausgabe nutzen.\n" " (list guile-2.0 \"debug\")))\n" #. type: table #: guix-git/doc/guix.texi:3261 msgid "@xref{Writing Manifests}, for information on how to write a manifest. @xref{export-manifest, @option{--export-manifest}}, to learn how to obtain a manifest file from an existing profile." msgstr "Siehe @ref{Writing Manifests} für Informationen dazu, wie man ein Manifest schreibt. Siehe @ref{export-manifest, @option{--export-manifest}}, um zu erfahren, wie Sie aus einem bestehenden Profil eine Manifestdatei erzeugen können." #. type: item #: guix-git/doc/guix.texi:3262 guix-git/doc/guix.texi:4556 #, no-wrap msgid "--roll-back" msgstr "--roll-back" #. type: cindex #: guix-git/doc/guix.texi:3263 guix-git/doc/guix.texi:4557 #: guix-git/doc/guix.texi:43139 guix-git/doc/guix.texi:48156 #, no-wrap msgid "rolling back" msgstr "Rücksetzen" #. type: cindex #: guix-git/doc/guix.texi:3264 guix-git/doc/guix.texi:4558 #, no-wrap msgid "undoing transactions" msgstr "Zurücksetzen von Transaktionen" #. type: cindex #: guix-git/doc/guix.texi:3265 guix-git/doc/guix.texi:4559 #, no-wrap msgid "transactions, undoing" msgstr "Transaktionen, zurücksetzen" #. type: table #: guix-git/doc/guix.texi:3268 msgid "Roll back to the previous @dfn{generation} of the profile---i.e., undo the last transaction." msgstr "Wechselt zur vorherigen @dfn{Generation} des Profils zurück@tie{}– d.h.@: macht die letzte Transaktion rückgängig." #. type: table #: guix-git/doc/guix.texi:3271 msgid "When combined with options such as @option{--install}, roll back occurs before any other actions." msgstr "In Verbindung mit Befehlszeilenoptionen wie @option{--install} wird zuerst zurückgesetzt, bevor andere Aktionen durchgeführt werden." #. type: table #: guix-git/doc/guix.texi:3275 msgid "When rolling back from the first generation that actually contains installed packages, the profile is made to point to the @dfn{zeroth generation}, which contains no files apart from its own metadata." msgstr "Ein Rücksetzen der ersten Generation, die installierte Pakete enthält, wechselt das Profil zur @dfn{nullten Generation}, die keinerlei Dateien enthält, abgesehen von Metadaten über sich selbst." #. type: table #: guix-git/doc/guix.texi:3279 msgid "After having rolled back, installing, removing, or upgrading packages overwrites previous future generations. Thus, the history of the generations in a profile is always linear." msgstr "Nach dem Zurücksetzen überschreibt das Installieren, Entfernen oder Aktualisieren von Paketen vormals zukünftige Generationen, d.h.@: der Verlauf der Generationen eines Profils ist immer linear." #. type: item #: guix-git/doc/guix.texi:3280 guix-git/doc/guix.texi:4563 #, no-wrap msgid "--switch-generation=@var{pattern}" msgstr "--switch-generation=@var{Muster}" #. type: itemx #: guix-git/doc/guix.texi:3281 guix-git/doc/guix.texi:4564 #, no-wrap msgid "-S @var{pattern}" msgstr "-S @var{Muster}" #. type: cindex #: guix-git/doc/guix.texi:3282 guix-git/doc/guix.texi:3515 #: guix-git/doc/guix.texi:4565 guix-git/doc/guix.texi:43097 #, no-wrap msgid "generations" msgstr "Generationen" #. type: table #: guix-git/doc/guix.texi:3284 guix-git/doc/guix.texi:4567 msgid "Switch to a particular generation defined by @var{pattern}." msgstr "Wechselt zu der bestimmten Generation, die durch das @var{Muster} bezeichnet wird." #. type: table #: guix-git/doc/guix.texi:3290 guix-git/doc/guix.texi:4573 msgid "@var{pattern} may be either a generation number or a number prefixed with ``+'' or ``-''. The latter means: move forward/backward by a specified number of generations. For example, if you want to return to the latest generation after @option{--roll-back}, use @option{--switch-generation=+1}." msgstr "Als @var{Muster} kann entweder die Nummer einer Generation oder eine Nummer mit vorangestelltem „+“ oder „-“ dienen. Letzteres springt die angegebene Anzahl an Generationen vor oder zurück. Zum Beispiel kehrt @option{--switch-generation=+1} nach einem Zurücksetzen wieder zur neueren Generation zurück." #. type: table #: guix-git/doc/guix.texi:3295 msgid "The difference between @option{--roll-back} and @option{--switch-generation=-1} is that @option{--switch-generation} will not make a zeroth generation, so if a specified generation does not exist, the current generation will not be changed." msgstr "Der Unterschied zwischen @option{--roll-back} und @option{--switch-generation=-1} ist, dass @option{--switch-generation} keine nullte Generation erzeugen wird; existiert die angegebene Generation nicht, bleibt schlicht die aktuelle Generation erhalten." #. type: item #: guix-git/doc/guix.texi:3296 #, no-wrap msgid "--search-paths[=@var{kind}]" msgstr "--search-paths[=@var{Art}]" #. type: table #: guix-git/doc/guix.texi:3302 msgid "Report environment variable definitions, in Bash syntax, that may be needed in order to use the set of installed packages. These environment variables are used to specify @dfn{search paths} for files used by some of the installed packages." msgstr "Führe die Definitionen von Umgebungsvariablen auf, in Bash-Syntax, die nötig sein könnten, um alle installierten Pakete nutzen zu können. Diese Umgebungsvariablen werden benutzt, um die @dfn{Suchpfade} für Dateien festzulegen, die von einigen installierten Paketen benutzt werden." #. type: table #: guix-git/doc/guix.texi:3311 msgid "For example, GCC needs the @env{CPATH} and @env{LIBRARY_PATH} environment variables to be defined so it can look for headers and libraries in the user's profile (@pxref{Environment Variables,,, gcc, Using the GNU Compiler Collection (GCC)}). If GCC and, say, the C library are installed in the profile, then @option{--search-paths} will suggest setting these variables to @file{@var{profile}/include} and @file{@var{profile}/lib}, respectively (@pxref{Search Paths}, for info on search path specifications associated with packages.)" msgstr "Zum Beispiel braucht GCC die Umgebungsvariablen @env{CPATH} und @env{LIBRARY_PATH}, um zu wissen, wo sich im Benutzerprofil Header und Bibliotheken befinden (siehe @ref{Environment Variables,,, gcc, Using the GNU Compiler Collection (GCC)}). Wenn GCC und, sagen wir, die C-Bibliothek im Profil installiert sind, schlägt @option{--search-paths} also vor, diese Variablen jeweils auf @file{@var{profile}/include} und @file{@var{profile}/lib} verweisen zu lassen (siehe @ref{Search Paths} für Informationen, wie Paketen Suchpfadspezifikationen zugeordnet werden)." #. type: table #: guix-git/doc/guix.texi:3314 msgid "The typical use case is to define these environment variables in the shell:" msgstr "Die typische Nutzung ist, in der Shell diese Variablen zu definieren:" #. type: example #: guix-git/doc/guix.texi:3317 #, no-wrap msgid "$ eval $(guix package --search-paths)\n" msgstr "$ eval $(guix package --search-paths)\n" #. type: table #: guix-git/doc/guix.texi:3323 msgid "@var{kind} may be one of @code{exact}, @code{prefix}, or @code{suffix}, meaning that the returned environment variable definitions will either be exact settings, or prefixes or suffixes of the current value of these variables. When omitted, @var{kind} defaults to @code{exact}." msgstr "Als @var{Art} kann entweder @code{exact}, @code{prefix} oder @code{suffix} gewählt werden, wodurch die gelieferten Definitionen der Umgebungsvariablen entweder exakt die Einstellungen für Guix meldet, oder sie als Präfix oder Suffix an den aktuellen Wert dieser Variablen anhängt. Gibt man keine @var{Art} an, wird der Vorgabewert @code{exact} verwendet." #. type: table #: guix-git/doc/guix.texi:3326 msgid "This option can also be used to compute the @emph{combined} search paths of several profiles. Consider this example:" msgstr "Diese Befehlszeilenoption kann auch benutzt werden, um die @emph{kombinierten} Suchpfade mehrerer Profile zu berechnen. Betrachten Sie dieses Beispiel:" #. type: example #: guix-git/doc/guix.texi:3331 #, no-wrap msgid "" "$ guix package -p foo -i guile\n" "$ guix package -p bar -i guile-json\n" "$ guix package -p foo -p bar --search-paths\n" msgstr "" "$ guix package -p foo -i guile\n" "$ guix package -p bar -i guile-json\n" "$ guix package -p foo -p bar --search-paths\n" #. type: table #: guix-git/doc/guix.texi:3336 msgid "The last command above reports about the @env{GUILE_LOAD_PATH} variable, even though, taken individually, neither @file{foo} nor @file{bar} would lead to that recommendation." msgstr "Der letzte Befehl oben meldet auch die Definition der Umgebungsvariablen @env{GUILE_LOAD_PATH}, obwohl für sich genommen weder @file{foo} noch @file{bar} zu dieser Empfehlung führen würden." #. type: cindex #: guix-git/doc/guix.texi:3338 #, no-wrap msgid "profile, choosing" msgstr "Profil, auswählen" #. type: item #: guix-git/doc/guix.texi:3339 guix-git/doc/guix.texi:4593 #: guix-git/doc/guix.texi:4991 guix-git/doc/guix.texi:6212 #: guix-git/doc/guix.texi:6709 #, no-wrap msgid "--profile=@var{profile}" msgstr "--profile=@var{Profil}" #. type: itemx #: guix-git/doc/guix.texi:3340 guix-git/doc/guix.texi:4594 #: guix-git/doc/guix.texi:4992 guix-git/doc/guix.texi:6213 #: guix-git/doc/guix.texi:6710 #, no-wrap msgid "-p @var{profile}" msgstr "-p @var{Profil}" #. type: table #: guix-git/doc/guix.texi:3342 msgid "Use @var{profile} instead of the user's default profile." msgstr "Auf @var{Profil} anstelle des Standardprofils des Benutzers arbeiten." #. type: table #: guix-git/doc/guix.texi:3347 msgid "@var{profile} must be the name of a file that will be created upon completion. Concretely, @var{profile} will be a mere symbolic link (``symlink'') pointing to the actual profile where packages are installed:" msgstr "Als @var{Profil} muss der Name einer Datei angegeben werden, die dann nach Abschluss der Transaktion erzeugt wird. Konkret wird @var{Profil} nur zu einer symbolischen Verknüpfung („Symlink“) auf das eigentliche Profil gemacht, in das Pakete installiert werden." #. type: example #: guix-git/doc/guix.texi:3353 #, no-wrap msgid "" "$ guix install hello -p ~/code/my-profile\n" "@dots{}\n" "$ ~/code/my-profile/bin/hello\n" "Hello, world!\n" msgstr "" "$ guix install hello -p ~/code/mein-profil\n" "…\n" "$ ~/code/mein-profil/bin/hello\n" "Hallo, Welt!\n" #. type: table #: guix-git/doc/guix.texi:3357 msgid "All it takes to get rid of the profile is to remove this symlink and its siblings that point to specific generations:" msgstr "Um das Profil loszuwerden, genügt es, die symbolische Verknüpfung und damit einhergehende Verknüpfungen, die auf bestimmte Generationen verweisen, zu entfernen:" #. type: example #: guix-git/doc/guix.texi:3360 #, no-wrap msgid "$ rm ~/code/my-profile ~/code/my-profile-*-link\n" msgstr "$ rm ~/code/mein-profil ~/code/mein-profil-*-link\n" #. type: item #: guix-git/doc/guix.texi:3362 #, no-wrap msgid "--list-profiles" msgstr "--list-profiles" #. type: table #: guix-git/doc/guix.texi:3364 msgid "List all the user's profiles:" msgstr "Alle Profile des Benutzers auflisten:" #. type: example #: guix-git/doc/guix.texi:3371 #, no-wrap msgid "" "$ guix package --list-profiles\n" "/home/charlie/.guix-profile\n" "/home/charlie/code/my-profile\n" "/home/charlie/code/devel-profile\n" "/home/charlie/tmp/test\n" msgstr "" "$ guix package --list-profiles\n" "/home/charlie/.guix-profile\n" "/home/charlie/code/my-profile\n" "/home/charlie/code/devel-profile\n" "/home/charlie/tmp/test\n" #. type: table #: guix-git/doc/guix.texi:3374 msgid "When running as root, list all the profiles of all the users." msgstr "Wird es als Administratornutzer „root“ ausgeführt, werden die Profile aller Benutzer aufgelistet." #. type: cindex #: guix-git/doc/guix.texi:3375 #, no-wrap msgid "collisions, in a profile" msgstr "Kollisionen, in einem Profil" #. type: cindex #: guix-git/doc/guix.texi:3376 #, no-wrap msgid "colliding packages in profiles" msgstr "Paketkollisionen in Profilen" #. type: cindex #: guix-git/doc/guix.texi:3377 #, no-wrap msgid "profile collisions" msgstr "Profilkollisionen" #. type: item #: guix-git/doc/guix.texi:3378 #, no-wrap msgid "--allow-collisions" msgstr "--allow-collisions" #. type: table #: guix-git/doc/guix.texi:3380 msgid "Allow colliding packages in the new profile. Use at your own risk!" msgstr "Kollidierende Pakete im neuen Profil zulassen. Benutzung auf eigene Gefahr!" #. type: table #: guix-git/doc/guix.texi:3384 msgid "By default, @command{guix package} reports as an error @dfn{collisions} in the profile. Collisions happen when two or more different versions or variants of a given package end up in the profile." msgstr "Standardmäßig wird @command{guix package} @dfn{Kollisionen} als Fehler auffassen und melden. Zu Kollisionen kommt es, wenn zwei oder mehr verschiedene Versionen oder Varianten desselben Pakets im Profil landen." #. type: item #: guix-git/doc/guix.texi:3385 guix-git/doc/guix.texi:4636 #: guix-git/doc/guix.texi:7372 #, no-wrap msgid "--bootstrap" msgstr "--bootstrap" #. type: table #: guix-git/doc/guix.texi:3388 msgid "Use the bootstrap Guile to build the profile. This option is only useful to distribution developers." msgstr "Erstellt das Profil mit dem Bootstrap-Guile. Diese Option ist nur für Entwickler der Distribution nützlich." #. type: Plain text #: guix-git/doc/guix.texi:3394 msgid "In addition to these actions, @command{guix package} supports the following options to query the current state of a profile, or the availability of packages:" msgstr "Zusätzlich zu diesen Aktionen unterstützt @command{guix package} folgende Befehlszeilenoptionen, um den momentanen Zustand eines Profils oder die Verfügbarkeit von Paketen nachzulesen:" #. type: item #: guix-git/doc/guix.texi:3397 #, no-wrap msgid "--search=@var{regexp}" msgstr "--search=@var{Regexp}" #. type: itemx #: guix-git/doc/guix.texi:3398 #, no-wrap msgid "-s @var{regexp}" msgstr "-s @var{Regexp}" #. type: anchor{#1} #: guix-git/doc/guix.texi:3400 msgid "guix-search" msgstr "guix-search" #. type: cindex #: guix-git/doc/guix.texi:3400 guix-git/doc/guix.texi:4048 #, no-wrap msgid "searching for packages" msgstr "Suche nach Paketen" #. type: table #: guix-git/doc/guix.texi:3406 msgid "List the available packages whose name, synopsis, or description matches @var{regexp} (in a case-insensitive fashion), sorted by relevance. Print all the metadata of matching packages in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})." msgstr "Führt alle verfügbaren Pakete auf, deren Name, Zusammenfassung oder Beschreibung zum regulären Ausdruck @var{Regexp} passt, ohne Groß- und Kleinschreibung zu unterscheiden und sortiert nach ihrer Relevanz. Alle Metadaten passender Pakete werden im @code{recutils}-Format geliefert (siehe @ref{Top, GNU-recutils-Datenbanken,, recutils, GNU recutils manual})." #. type: table #: guix-git/doc/guix.texi:3409 msgid "This allows specific fields to be extracted using the @command{recsel} command, for instance:" msgstr "So können bestimmte Felder mit dem Befehl @command{recsel} extrahiert werden, zum Beispiel:" #. type: example #: guix-git/doc/guix.texi:3415 #, no-wrap msgid "" "$ guix package -s malloc | recsel -p name,version,relevance\n" "name: jemalloc\n" "version: 4.5.0\n" "relevance: 6\n" "\n" msgstr "" "$ guix package -s malloc | recsel -p name,version,relevance\n" "name: jemalloc\n" "version: 4.5.0\n" "relevance: 6\n" "\n" #. type: example #: guix-git/doc/guix.texi:3419 #, no-wrap msgid "" "name: glibc\n" "version: 2.25\n" "relevance: 1\n" "\n" msgstr "" "name: glibc\n" "version: 2.25\n" "relevance: 1\n" "\n" #. type: example #: guix-git/doc/guix.texi:3423 #, no-wrap msgid "" "name: libgc\n" "version: 7.6.0\n" "relevance: 1\n" msgstr "" "name: libgc\n" "version: 7.6.0\n" "relevance: 1\n" #. type: table #: guix-git/doc/guix.texi:3427 msgid "Similarly, to show the name of all the packages available under the terms of the GNU@tie{}LGPL version 3:" msgstr "Ebenso kann der Name aller zu den Bedingungen der GNU@tie{}LGPL, Version 3, verfügbaren Pakete ermittelt werden:" #. type: example #: guix-git/doc/guix.texi:3431 #, no-wrap msgid "" "$ guix package -s \"\" | recsel -p name -e 'license ~ \"LGPL 3\"'\n" "name: elfutils\n" "\n" msgstr "" "$ guix package -s \"\" | recsel -p name -e 'license ~ \"LGPL 3\"'\n" "name: elfutils\n" "\n" #. type: example #: guix-git/doc/guix.texi:3434 #, no-wrap msgid "" "name: gmp\n" "@dots{}\n" msgstr "" "name: gmp\n" "…\n" #. type: table #: guix-git/doc/guix.texi:3440 msgid "It is also possible to refine search results using several @code{-s} flags to @command{guix package}, or several arguments to @command{guix search}. For example, the following command returns a list of board games (this time using the @command{guix search} alias):" msgstr "Es ist auch möglich, Suchergebnisse näher einzuschränken, indem Sie @code{-s} mehrmals an @command{guix package} übergeben, oder mehrere Argumente an @command{guix search} übergeben. Zum Beispiel liefert folgender Befehl eines Liste von Brettspielen:" #. type: example #: guix-git/doc/guix.texi:3445 #, no-wrap msgid "" "$ guix search '\\<board\\>' game | recsel -p name\n" "name: gnubg\n" "@dots{}\n" msgstr "" "$ guix search '\\<board\\>' game | recsel -p name\n" "name: gnubg\n" "…\n" #. type: table #: guix-git/doc/guix.texi:3451 msgid "If we were to omit @code{-s game}, we would also get software packages that deal with printed circuit boards; removing the angle brackets around @code{board} would further add packages that have to do with keyboards." msgstr "Würden wir @code{-s game} weglassen, bekämen wir auch Software-Pakete aufgelistet, die mit „printed circuit boards“ (elektronischen Leiterplatten) zu tun haben; ohne die spitzen Klammern um @code{board} bekämen wir auch Pakete, die mit „keyboards“ (Tastaturen, oder musikalischen Keyboard) zu tun haben." #. type: table #: guix-git/doc/guix.texi:3455 msgid "And now for a more elaborate example. The following command searches for cryptographic libraries, filters out Haskell, Perl, Python, and Ruby libraries, and prints the name and synopsis of the matching packages:" msgstr "Es ist Zeit für ein komplexeres Beispiel. Folgender Befehl sucht kryptografische Bibliotheken, filtert Haskell-, Perl-, Python- und Ruby-Bibliotheken heraus und gibt Namen und Zusammenfassung passender Pakete aus:" #. type: example #: guix-git/doc/guix.texi:3459 #, no-wrap msgid "" "$ guix search crypto library | \\\n" " recsel -e '! (name ~ \"^(ghc|perl|python|ruby)\")' -p name,synopsis\n" msgstr "" "$ guix search crypto library | \\\n" " recsel -e '! (name ~ \"^(ghc|perl|python|ruby)\")' -p name,synopsis\n" #. type: table #: guix-git/doc/guix.texi:3464 msgid "@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more information on @dfn{selection expressions} for @code{recsel -e}." msgstr "Siehe @ref{Selection Expressions,,, recutils, GNU recutils manual}, es enthält weitere Informationen über @dfn{Auswahlausdrücke} mit @code{recsel -e}." #. type: item #: guix-git/doc/guix.texi:3465 #, no-wrap msgid "--show=@var{package}" msgstr "--show=@var{Paket}" #. type: table #: guix-git/doc/guix.texi:3469 msgid "Show details about @var{package}, taken from the list of available packages, in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})." msgstr "Zeigt Details über das @var{Paket} aus der Liste verfügbarer Pakete, im @code{recutils}-Format (siehe @ref{Top, GNU-recutils-Datenbanken,, recutils, GNU recutils manual})." #. type: example #: guix-git/doc/guix.texi:3474 #, no-wrap msgid "" "$ guix package --show=guile | recsel -p name,version\n" "name: guile\n" "version: 3.0.5\n" "\n" msgstr "" "$ guix package --show=guile | recsel -p name,version\n" "name: guile\n" "version: 3.0.5\n" "\n" #. type: example #: guix-git/doc/guix.texi:3477 #, no-wrap msgid "" "name: guile\n" "version: 3.0.2\n" "\n" msgstr "" "name: guile\n" "version: 3.0.2\n" "\n" #. type: example #: guix-git/doc/guix.texi:3481 #, no-wrap msgid "" "name: guile\n" "version: 2.2.7\n" "@dots{}\n" msgstr "" "name: guile\n" "version: 2.2.7\n" "…\n" #. type: table #: guix-git/doc/guix.texi:3485 msgid "You may also specify the full name of a package to only get details about a specific version of it (this time using the @command{guix show} alias):" msgstr "Sie können auch den vollständigen Namen eines Pakets angeben, um Details nur über diese Version angezeigt zu bekommen (diesmal benutzen wir die andere Schreibweise @command{guix show}):" #. type: example #: guix-git/doc/guix.texi:3489 #, no-wrap msgid "" "$ guix show guile@@3.0.5 | recsel -p name,version\n" "name: guile\n" "version: 3.0.5\n" msgstr "" "$ guix show guile@@3.0.5 | recsel -p name,version\n" "name: guile\n" "version: 3.0.5\n" #. type: item #: guix-git/doc/guix.texi:3491 #, no-wrap msgid "--list-installed[=@var{regexp}]" msgstr "--list-installed[=@var{Regexp}]" #. type: itemx #: guix-git/doc/guix.texi:3492 #, no-wrap msgid "-I [@var{regexp}]" msgstr "-I [@var{Regexp}]" #. type: table #: guix-git/doc/guix.texi:3496 msgid "List the currently installed packages in the specified profile, with the most recently installed packages shown last. When @var{regexp} is specified, list only installed packages whose name matches @var{regexp}." msgstr "Listet die derzeit installierten Pakete im angegebenen Profil auf, die zuletzt installierten Pakete zuletzt. Wenn ein regulärer Ausdruck @var{Regexp} angegeben wird, werden nur installierte Pakete aufgeführt, deren Name zu @var{Regexp} passt." #. type: table #: guix-git/doc/guix.texi:3502 msgid "For each installed package, print the following items, separated by tabs: the package name, its version string, the part of the package that is installed (for instance, @code{out} for the default output, @code{include} for its headers, etc.), and the path of this package in the store." msgstr "Zu jedem installierten Paket werden folgende Informationen angezeigt, durch Tabulatorzeichen getrennt: der Paketname, die Version als Zeichenkette, welche Teile des Pakets installiert sind (zum Beispiel @code{out}, wenn die Standard-Paketausgabe installiert ist, @code{include}, wenn seine Header installiert sind, usw.)@: und an welchem Pfad das Paket im Store zu finden ist." #. type: item #: guix-git/doc/guix.texi:3503 #, no-wrap msgid "--list-available[=@var{regexp}]" msgstr "--list-available[=@var{Regexp}]" #. type: itemx #: guix-git/doc/guix.texi:3504 #, no-wrap msgid "-A [@var{regexp}]" msgstr "-A [@var{Regexp}]" #. type: table #: guix-git/doc/guix.texi:3508 msgid "List packages currently available in the distribution for this system (@pxref{GNU Distribution}). When @var{regexp} is specified, list only available packages whose name matches @var{regexp}." msgstr "Listet Pakete auf, die in der aktuell installierten Distribution dieses Systems verfügbar sind (siehe @ref{GNU Distribution}). Wenn ein regulärer Ausdruck @var{Regexp} angegeben wird, werden nur Pakete aufgeführt, deren Name zum regulären Ausdruck @var{Regexp} passt." #. type: table #: guix-git/doc/guix.texi:3512 msgid "For each package, print the following items separated by tabs: its name, its version string, the parts of the package (@pxref{Packages with Multiple Outputs}), and the source location of its definition." msgstr "Zu jedem Paket werden folgende Informationen getrennt durch Tabulatorzeichen ausgegeben: der Name, die Version als Zeichenkette, die Teile des Programms (siehe @ref{Packages with Multiple Outputs}) und die Stelle im Quellcode, an der das Paket definiert ist." #. type: item #: guix-git/doc/guix.texi:3513 guix-git/doc/guix.texi:4539 #, no-wrap msgid "--list-generations[=@var{pattern}]" msgstr "--list-generations[=@var{Muster}]" #. type: itemx #: guix-git/doc/guix.texi:3514 guix-git/doc/guix.texi:4540 #, no-wrap msgid "-l [@var{pattern}]" msgstr "-l [@var{Muster}]" #. type: table #: guix-git/doc/guix.texi:3520 msgid "Return a list of generations along with their creation dates; for each generation, show the installed packages, with the most recently installed packages shown last. Note that the zeroth generation is never shown." msgstr "Liefert eine Liste der Generationen zusammen mit dem Datum, an dem sie erzeugt wurden; zu jeder Generation werden zudem die installierten Pakete angezeigt, zuletzt installierte Pakete zuletzt. Beachten Sie, dass die nullte Generation niemals angezeigt wird." #. type: table #: guix-git/doc/guix.texi:3525 msgid "For each installed package, print the following items, separated by tabs: the name of a package, its version string, the part of the package that is installed (@pxref{Packages with Multiple Outputs}), and the location of this package in the store." msgstr "Zu jedem installierten Paket werden folgende Informationen durch Tabulatorzeichen getrennt angezeigt: der Name des Pakets, die Version als Zeichenkette, welcher Teil des Pakets installiert ist (siehe @ref{Packages with Multiple Outputs}) und an welcher Stelle sich das Paket im Store befindet." #. type: table #: guix-git/doc/guix.texi:3528 msgid "When @var{pattern} is used, the command returns only matching generations. Valid patterns include:" msgstr "Wenn ein @var{Muster} angegeben wird, liefert der Befehl nur dazu passende Generationen. Gültige Muster sind zum Beispiel:" #. type: item #: guix-git/doc/guix.texi:3530 #, no-wrap msgid "@emph{Integers and comma-separated integers}. Both patterns denote" msgstr "@emph{Ganze Zahlen und kommagetrennte ganze Zahlen}. Beide Muster bezeichnen" #. type: itemize #: guix-git/doc/guix.texi:3533 msgid "generation numbers. For instance, @option{--list-generations=1} returns the first one." msgstr "Generationsnummern. Zum Beispiel liefert @option{--list-generations=1} die erste Generation." #. type: itemize #: guix-git/doc/guix.texi:3536 msgid "And @option{--list-generations=1,8,2} outputs three generations in the specified order. Neither spaces nor trailing commas are allowed." msgstr "Durch @option{--list-generations=1,8,2} werden drei Generationen in der angegebenen Reihenfolge angezeigt. Weder Leerzeichen noch ein Komma am Schluss der Liste ist erlaubt." #. type: item #: guix-git/doc/guix.texi:3537 #, no-wrap msgid "@emph{Ranges}. @option{--list-generations=2..9} prints the" msgstr "@emph{Bereiche}. @option{--list-generations=2..9} gibt die" #. type: itemize #: guix-git/doc/guix.texi:3540 msgid "specified generations and everything in between. Note that the start of a range must be smaller than its end." msgstr "angegebenen Generationen und alles dazwischen aus. Beachten Sie, dass der Bereichsanfang eine kleinere Zahl als das Bereichsende sein muss." #. type: itemize #: guix-git/doc/guix.texi:3544 msgid "It is also possible to omit the endpoint. For example, @option{--list-generations=2..}, returns all generations starting from the second one." msgstr "Sie können auch kein Bereichsende angeben, zum Beispiel liefert @option{--list-generations=2..} alle Generationen ab der zweiten." #. type: item #: guix-git/doc/guix.texi:3545 #, no-wrap msgid "@emph{Durations}. You can also get the last @emph{N}@tie{}days, weeks," msgstr "@emph{Zeitdauern}. Sie können auch die letzten @emph{N}@tie{}Tage, Wochen" #. type: itemize #: guix-git/doc/guix.texi:3549 msgid "or months by passing an integer along with the first letter of the duration. For example, @option{--list-generations=20d} lists generations that are up to 20 days old." msgstr "oder Monate angeben, indem Sie eine ganze Zahl gefolgt von jeweils „d“, „w“ oder „m“ angeben (dem ersten Buchstaben der Maßeinheit der Dauer im Englischen). Zum Beispiel listet @option{--list-generations=20d} die Generationen auf, die höchstens 20 Tage alt sind." #. type: item #: guix-git/doc/guix.texi:3551 guix-git/doc/guix.texi:4574 #, no-wrap msgid "--delete-generations[=@var{pattern}]" msgstr "--delete-generations[=@var{Muster}]" #. type: itemx #: guix-git/doc/guix.texi:3552 guix-git/doc/guix.texi:4575 #, no-wrap msgid "-d [@var{pattern}]" msgstr "-d [@var{Muster}]" #. type: table #: guix-git/doc/guix.texi:3555 guix-git/doc/guix.texi:4578 msgid "When @var{pattern} is omitted, delete all generations except the current one." msgstr "Wird kein @var{Muster} angegeben, werden alle Generationen außer der aktuellen entfernt." #. type: table #: guix-git/doc/guix.texi:3561 guix-git/doc/guix.texi:4584 msgid "This command accepts the same patterns as @option{--list-generations}. When @var{pattern} is specified, delete the matching generations. When @var{pattern} specifies a duration, generations @emph{older} than the specified duration match. For instance, @option{--delete-generations=1m} deletes generations that are more than one month old." msgstr "Dieser Befehl akzeptiert dieselben Muster wie @option{--list-generations}. Wenn ein @var{Muster} angegeben wird, werden die passenden Generationen gelöscht. Wenn das @var{Muster} für eine Zeitdauer steht, werden diejenigen Generationen gelöscht, die @emph{älter} als die angegebene Dauer sind. Zum Beispiel löscht @option{--delete-generations=1m} die Generationen, die mehr als einen Monat alt sind." #. type: table #: guix-git/doc/guix.texi:3564 msgid "If the current generation matches, it is @emph{not} deleted. Also, the zeroth generation is never deleted." msgstr "Falls die aktuelle Generation zum Muster passt, wird sie @emph{nicht} gelöscht. Auch die nullte Generation wird niemals gelöscht." #. type: table #: guix-git/doc/guix.texi:3567 guix-git/doc/guix.texi:4589 msgid "Note that deleting generations prevents rolling back to them. Consequently, this command must be used with care." msgstr "Beachten Sie, dass Sie auf gelöschte Generationen nicht zurückwechseln können. Dieser Befehl sollte also nur mit Vorsicht benutzt werden." #. type: cindex #: guix-git/doc/guix.texi:3568 guix-git/doc/guix.texi:6165 #, no-wrap msgid "manifest, exporting" msgstr "Manifest, exportieren" #. type: anchor{#1} #: guix-git/doc/guix.texi:3570 msgid "export-manifest" msgstr "export-manifest" #. type: item #: guix-git/doc/guix.texi:3570 guix-git/doc/guix.texi:6167 #, no-wrap msgid "--export-manifest" msgstr "--export-manifest" #. type: table #: guix-git/doc/guix.texi:3573 msgid "Write to standard output a manifest suitable for @option{--manifest} corresponding to the chosen profile(s)." msgstr "Auf die Standardausgabe ein Manifest ausgeben, das mit @option{--manifest} genutzt werden kann und dem/den gewählten Profil(en) entspricht." #. type: table #: guix-git/doc/guix.texi:3577 msgid "This option is meant to help you migrate from the ``imperative'' operating mode---running @command{guix install}, @command{guix upgrade}, etc.---to the declarative mode that @option{--manifest} offers." msgstr "Diese Befehlszeilenoption erleichtert Ihnen den Wechsel vom „imperativen“ Betriebsmodus, wo Sie immer wieder @command{guix install}, @command{guix upgrade} etc.@: ausführen, zum deklarativen Modus, der mit @option{--manifest} zur Verfügung steht." #. type: table #: guix-git/doc/guix.texi:3582 msgid "Be aware that the resulting manifest @emph{approximates} what your profile actually contains; for instance, depending on how your profile was created, it can refer to packages or package versions that are not exactly what you specified." msgstr "Seien Sie sich bewusst, dass das erzeugte Manifest nur eine @emph{Annäherung} des Inhalts Ihres Profils ist. Je nachdem, wie Ihr Profil erzeugt wurde, kann es auf andere Pakete oder Paketversionen verweisen." #. type: table #: guix-git/doc/guix.texi:3587 msgid "Keep in mind that a manifest is purely symbolic: it only contains package names and possibly versions, and their meaning varies over time. If you wish to ``pin'' channels to the revisions that were used to build the profile(s), see @option{--export-channels} below." msgstr "Beachten Sie, dass ein Manifest rein symbolisch ist; es enthält nur die Namen und vielleicht Versionen der Pakete, aber die Bedeutung davon wandelt sich mit der Zeit. Wenn Sie wollen, dass die Pakete aus immer derselben Kanalversion stammen, mit der das Profil oder die Profile erstellt wurden, siehe @option{--export-channels} unten." #. type: cindex #: guix-git/doc/guix.texi:3588 #, no-wrap msgid "pinning, channel revisions of a profile" msgstr "immer dieselbe Version verwenden, bei Kanälen" #. type: item #: guix-git/doc/guix.texi:3589 #, no-wrap msgid "--export-channels" msgstr "--export-channels" #. type: table #: guix-git/doc/guix.texi:3593 msgid "Write to standard output the list of channels used by the chosen profile(s), in a format suitable for @command{guix pull --channels} or @command{guix time-machine --channels} (@pxref{Channels})." msgstr "Auf die Standardausgabe die Liste der Kanäle schreiben, die das gewählte Profil benutzt bzw.@: die die gewählten Profile benutzen. Das Format der Kanalspezifikation ist für @command{guix pull --channels} und @command{guix time-machine --channels} geeignet (siehe @ref{Channels})." #. type: table #: guix-git/doc/guix.texi:3597 msgid "Together with @option{--export-manifest}, this option provides information allowing you to replicate the current profile (@pxref{Replicating Guix})." msgstr "Zusammen mit @option{--export-manifest} macht diese Befehlszeilenoption Informationen verfügbar, um das aktuelle Profil nachzubilden (siehe @ref{Replicating Guix})." #. type: table #: guix-git/doc/guix.texi:3605 msgid "However, note that the output of this command @emph{approximates} what was actually used to build this profile. In particular, a single profile might have been built from several different revisions of the same channel. In that case, @option{--export-manifest} chooses the last one and writes the list of other revisions in a comment. If you really need to pick packages from different channel revisions, you can use inferiors in your manifest to do so (@pxref{Inferiors})." msgstr "Beachten Sie jedoch, dass die Ausgabe dieses Befehls nur eine @emph{Annäherung} dessen ist, woraus ein Profil tatsächlich erstellt wurde. Insbesondere kann ein Profil aus mehreren Versionen desselben Kanals aufgebaut worden sein. In diesem Fall wählt @option{--export-manifest} die neueste aus und schreibt die anderen Versionen in einem Kommentar dazu. Wenn Sie wirklich Pakete aus unterschiedlichen Kanalversionen zu nehmen brauchen, können Sie dazu in Ihrem Manifest Untergeordnete angeben (siehe @ref{Inferiors})." #. type: table #: guix-git/doc/guix.texi:3610 msgid "Together with @option{--export-manifest}, this is a good starting point if you are willing to migrate from the ``imperative'' model to the fully declarative model consisting of a manifest file along with a channels file pinning the exact channel revision(s) you want." msgstr "Dies stellt zusammen mit @option{--export-manifest} eine gute Gelegenheit dar, wenn Sie bereit sind, vom „imperativen“ Modell auf das vollständig deklarative Modell zu wechseln, wo Sie eine Manifestdatei zusammen mit einer Kanaldatei benutzen, die ganz genau festlegt, welche Kanalversion(en) Sie wollen." #. type: Plain text #: guix-git/doc/guix.texi:3617 msgid "Finally, since @command{guix package} may actually start build processes, it supports all the common build options (@pxref{Common Build Options}). It also supports package transformation options, such as @option{--with-source}, and preserves them across upgrades (@pxref{Package Transformation Options})." msgstr "Zu guter Letzt können Sie, da @command{guix package} Erstellungsprozesse zu starten vermag, auch alle gemeinsamen Erstellungsoptionen (siehe @ref{Common Build Options}) verwenden. Auch Paketumwandlungsoptionen wie @option{--with-source} sind möglich und bleiben über Aktualisierungen hinweg erhalten (siehe @ref{Package Transformation Options})." #. type: cindex #: guix-git/doc/guix.texi:3622 #, no-wrap msgid "pre-built binaries" msgstr "vorerstellte Binärdateien" #. type: Plain text #: guix-git/doc/guix.texi:3628 msgid "Guix supports transparent source/binary deployment, which means that it can either build things locally, or download pre-built items from a server, or both. We call these pre-built items @dfn{substitutes}---they are substitutes for local build results. In many cases, downloading a substitute is much faster than building things locally." msgstr "Guix kann transparent Binär- oder Quelldateien ausliefern. Das heißt, Dinge können sowohl lokal erstellt als auch als vorerstellte Objekte von einem Server heruntergeladen werden, oder beides gemischt. Wir bezeichnen diese vorerstellten Objekte als @dfn{Substitute}@tie{}– sie substituieren lokale Erstellungsergebnisse. In vielen Fällen geht das Herunterladen eines Substituts wesentlich schneller, als Dinge lokal zu erstellen." #. type: Plain text #: guix-git/doc/guix.texi:3633 msgid "Substitutes can be anything resulting from a derivation build (@pxref{Derivations}). Of course, in the common case, they are pre-built package binaries, but source tarballs, for instance, which also result from derivation builds, can be available as substitutes." msgstr "Substitute können alles sein, was das Ergebnis einer Ableitungserstellung ist (siehe @ref{Derivations}). Natürlich sind sie üblicherweise vorerstellte Paket-Binärdateien,