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


16.2 Guix vor der Installation ausführen

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.

Zu diesem Zweck können alle Befehlszeilenwerkzeuge auch schon benutzt werden, ohne dass Sie make install laufen lassen. Dazu müssen Sie sich in einer Umgebung befinden, in der alle Abhängigkeiten von Guix verfügbar sind (siehe Erstellung aus dem Git) und darin einfach vor jeden Befehl ./pre-inst-env schreiben (das Skript pre-inst-env befindet sich auf oberster Ebene im Verzeichnis, wo Guix erstellt wird, wo es durch ./configure erzeugt wird). Zum Beispiel würden Sie so das Paket hello erstellen lassen, so wie es in der gegenwärtigen Kopie des Guix-Quellbaums definiert wurde (es wird angenommen, dass guix-daemon auf Ihrem System bereits läuft, auch wenn es eine andere Version ist):

$ ./pre-inst-env guix build hello

Entsprechend würden Sie dies eingeben, um eine Guile-Sitzung zu öffnen, die die Guix-Module benutzt:

$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'

;;; ("x86_64-linux")

… und auf einer REPL (siehe Using Guile Interactively in Guile-Referenzhandbuch):

$ ./pre-inst-env guile
scheme@(guile-user)> ,use(guix)
scheme@(guile-user)> ,use(gnu)
scheme@(guile-user)> (define snakes
                       (fold-packages
                         (lambda (package lst)
                           (if (string-prefix? "python"
                                               (package-name package))
                               (cons package lst)
                               lst))
                         '()))
scheme@(guile-user)> (length snakes)
$1 = 361

Wenn Sie am Daemon und damit zu tun habendem Code hacken oder wenn guix-daemon nicht bereits auf Ihrem System läuft, können Sie ihn direkt aus dem Verzeichnis heraus starten, wo Sie Guix erstellen lassen36:

$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild

Das pre-inst-env-Skript richtet alle Umgebungsvariablen ein, die nötig sind, um dies zu ermöglichen, einschließlich PATH und GUILE_LOAD_PATH.

Beachten Sie, dass ./pre-inst-env guix pull den lokalen Quellbaum nicht aktualisiert; es aktualisiert lediglich die symbolische Verknüpfung ~/.config/guix/current (siehe Aufruf von guix pull). Um Ihren lokalen Quellbaum zu aktualisieren, müssen Sie stattdessen git pull benutzen.


Fußnoten

(36)

Die Befehlszeilenoption -E von sudo stellt sicher, dass GUILE_LOAD_PATH richtig gesetzt wird, damit guix-daemon und die davon benutzten Werkzeuge die von ihnen benötigten Guile-Module finden können.


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