Nächste: , Nach oben: Mitwirken   [Inhalt][Index]


14.1 Erstellung aus dem Git

Wenn Sie an Guix selbst hacken wollen, ist es empfehlenswert, dass Sie die neueste Version aus dem Git-Softwarebestand verwenden:

git clone https://git.savannah.gnu.org/git/guix.git

Wie stellen Sie sicher, dass Sie eine echte Kopie des Repositorys heruntergeladen haben? Guix liefert ein Werkzeug mit, mit dem Sie Ihr Checkout authentifizieren können, aber Sie müssen vorher sicherstellen, dass dieses Werkzeug überhaupt echt ist, wenn Sie Ihre Vertrauenskette („Trust Chain“) bootstrappen wollen. Führen Sie dazu dies aus:

git verify-commit `git log --format=%H build-aux/git-authenticate.scm`

Die Ausgabe sollte etwa so aussehen:

gpg: Signatur vom Fr 27 Dez 2019 13:27:41 CET
gpg:                mittels RSA-Schlüssel 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
…
gpg: Signatur vom Fr 27 Dez 2019 13:25:22 CET
gpg:                mittels RSA-Schlüssel 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
…

Das bedeutet, dass Änderungen an dieser Datei alle mit dem Schlüssel 3CE464558A84FDC69DB40CFB090B11993D9AEBB5 signiert wurden (eventuell müssen Sie diesen Schlüssel erst von einem Server beziehen, wenn Sie es noch nicht getan haben).

Von da an können Sie alle Commits in Ihrem Checkout authentifizieren, indem Sie dies ausführen:

make authenticate

Die erste Ausführung dauert ein paar Minuten, aber nachfolgende Ausführungen gehen schneller.

Anmerkung: Wir raten Ihnen dazu, nach jedem Aufruf von git pull auch make authenticate auszuführen. Das stellt sicher, dass Sie weiterhin nur gültige Änderungen in Ihr Repository übernehmen.

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:

guix environment guix --pure

Siehe Aufruf von guix environment für weitere Informationen zu diesem Befehl.

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 Voraussetzungen).

Auf Guix können zusätzliche Abhängigkeiten hinzugefügt werden, indem Sie stattdessen guix environment mit --ad-hoc ausführen:

guix environment guix --pure --ad-hoc help2man git strace

Führen Sie ./bootstrap aus, um die Infrastruktur des Erstellungssystems mit Autoconf und Automake zu erzeugen. Möglicherweise erhalten Sie eine Fehlermeldung wie diese:

configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES

Das bedeutet wahrscheinlich, dass Autoconf pkg.m4 nicht finden konnte, welches von pkg-config bereitgestellt wird. Stellen Sie sicher, dass pkg.m4 verfügbar ist. Gleiches gilt für den von Guile bereitgestellten Makrosatz guile.m4. Wenn Sie beispielsweise Automake in /usr/local installiert haben, würde in /usr/share nicht nach .m4-Dateien geschaut. In einem solchen Fall müssen Sie folgenden Befehl aufrufen:

export ACLOCAL_PATH=/usr/share/aclocal

In Macro Search Path in The GNU Automake Manual finden Sie weitere Informationen.

Dann führen Sie wie gewohnt ./configure aus. Achten Sie darauf, --localstatedir=Verzeichnis zu übergeben, wobei Verzeichnis der von Ihrer aktuellen Installation verwendete localstatedir-Wert ist (weitere Informationen siehe Der Store). Unsere Empfehlung ist, dass Sie als Wert immer /var verwenden.

Zum Schluss müssen Sie make check aufrufen, um die Tests auszuführen (siehe Den Testkatalog laufen lassen). Falls etwas fehlschlägt, werfen Sie einen Blick auf die Installationsanweisungen (siehe Installation) oder senden Sie eine E-Mail an die Mailingliste.


Nächste: , Nach oben: Mitwirken   [Inhalt][Index]