Erste Schritte • Konfiguration • Community • Mitwirken • Verpackungshandbuch
Spack ist ein plattformübergreifender Paketmanager, der mehrere Versionen und Konfigurationen von Software erstellt und installiert. Es funktioniert auf Linux, macOS, Windows und vielen Supercomputern. Spack ist zerstörungsfrei: Durch die Installation einer neuen Version eines Pakets werden bestehende Installationen nicht beschädigt, sodass viele Konfigurationen desselben Pakets nebeneinander existieren können.
Spack bietet eine einfache „spec“-Syntax, die es Benutzern ermöglicht, Versionen und Konfigurationsoptionen anzugeben. Paketdateien werden in reinem Python geschrieben und Spezifikationen ermöglichen es Paketautoren, ein einziges Skript für viele verschiedene Builds desselben Pakets zu schreiben. Mit Spack können Sie Ihre Software ganz nach Ihren Wünschen erstellen.
Beispiele und Highlights finden Sie in der Funktionsübersicht.
Um spack und Ihr erstes Paket zu installieren, stellen Sie sicher, dass Sie über Python und Git verfügen. Dann:
$ git clone -c feature.manyFiles=true --depth=2 https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install zlib
Tipp
-c feature.manyFiles=true
verbessert die Leistung von Git bei Repositorys mit mehr als 1.000 Dateien.
--depth=2
bereinigt den Git-Verlauf, um die Größe der Spack-Installation zu reduzieren.
Die vollständige Dokumentation ist verfügbar, oder führen Sie spack help
oder spack help --all
aus.
Um einen Spickzettel zur Spack-Syntax zu erhalten, führen Sie spack help --spec
aus.
Wir unterhalten ein praktisches Tutorial . Es deckt grundlegende bis erweiterte Nutzung, Paketierung, Entwicklerfunktionen und große HPC-Bereitstellungen ab. Alle Übungen können Sie mit einem Docker-Container auf Ihrem eigenen Laptop durchführen.
Sie können diese Materialien gerne verwenden, um Benutzern in Ihrer Organisation Spack näherzubringen.
Spack ist ein Open-Source-Projekt. Fragen, Diskussionen und Beiträge sind willkommen. Beiträge können alles sein, von neuen Paketen über Bugfixes, Dokumentation bis hin zu neuen Kernfunktionen.
Ressourcen:
@mention
! Bei Spack mitzuwirken ist relativ einfach. Schicken Sie uns einfach eine Pull-Anfrage. Wenn Sie Ihre Anfrage senden, develop
Sie den Zielzweig im Spack-Repository.
Ihr PR muss die Komponententests und Dokumentationstests von Spack bestehen und PEP 8-konform sein. Diese Richtlinien setzen wir mit unserem CI-Prozess durch. Informationen zum lokalen Ausführen dieser Tests und hilfreiche Tipps zu Git finden Sie in unserem Beitragsleitfaden.
Der develop
von Spack enthält die neuesten Beiträge. Pull-Requests sollten auf develop
abzielen, und Benutzer, die die neuesten Paketversionen, Funktionen usw. möchten, können develop
verwenden.
Für Mehrbenutzer-Site-Bereitstellungen oder andere Anwendungsfälle, die sehr stabile Softwareinstallationen erfordern, empfehlen wir die Verwendung der stabilen Versionen von Spack.
Jede Spack-Release-Serie hat auch einen entsprechenden Zweig, z. B. gibt es releases/v0.14
0.14.x
Versionen von Spack und in releases/v0.13
0.13.x
Versionen. Wir portieren wichtige Fehlerbehebungen in diese Zweige zurück, aber wir verbessern die Paketversionen nicht und nehmen keine anderen Änderungen vor, die die Art und Weise ändern würden, wie Spack Abhängigkeiten innerhalb eines Release-Zweigs konkretisiert. Sie können Ihre Spack-Bereitstellung also auf einem Release-Branch und git pull
basieren, um Korrekturen zu erhalten, ohne die Paketabwanderung, die mit develop
einhergeht.
Die neueste Version ist immer mit dem Tag releases/latest
verfügbar.
Weitere Informationen finden Sie in den Dokumenten zu Veröffentlichungen.
Bitte beachten Sie, dass Spack einen Verhaltenskodex hat. Durch Ihre Teilnahme an der Spack-Community erklären Sie sich mit deren Regeln einverstanden.
Vielen Dank an die Mitwirkenden von Spack.
Spack wurde von Todd Gamblin, [email protected], erstellt.
Wenn Sie in einer Veröffentlichung auf Spack verweisen, zitieren Sie bitte den folgenden Artikel:
Auf GitHub können Sie dieses Zitat im APA- oder BibTeX-Format über die Schaltfläche „Dieses Repository zitieren“ kopieren. Oder sehen Sie sich die Kommentare in CITATION.cff
für das rohe BibTeX an.
Spack wird unter den Bedingungen sowohl der MIT-Lizenz als auch der Apache-Lizenz (Version 2.0) vertrieben. Benutzer können nach eigenem Ermessen eine der beiden Lizenzen wählen.
Alle neuen Beiträge müssen sowohl unter der MIT- als auch unter der Apache-2.0-Lizenz erfolgen.
Einzelheiten finden Sie unter LICENSE-MIT, LICENSE-APACHE, COPYRIGHT und NOTICE.
SPDX-Lizenz-Identifikator: (Apache-2.0 ODER MIT)
LLNL-CODE-811652