Mise en route • Configuration • Communauté • Contribution • Guide de packaging
Spack est un gestionnaire de packages multiplateforme qui crée et installe plusieurs versions et configurations de logiciels. Il fonctionne sous Linux, macOS, Windows et de nombreux superordinateurs. Spack est non destructif : l'installation d'une nouvelle version d'un package ne casse pas les installations existantes, donc plusieurs configurations d'un même package peuvent coexister.
Spack propose une syntaxe « spec » simple qui permet aux utilisateurs de spécifier les versions et les options de configuration. Les fichiers de package sont écrits en Python pur et les spécifications permettent aux auteurs de packages d'écrire un seul script pour de nombreuses versions différentes du même package. Avec Spack, vous pouvez créer votre logiciel comme vous le souhaitez.
Consultez la présentation des fonctionnalités pour des exemples et des faits saillants.
Pour installer spack et votre premier package, assurez-vous d'avoir Python et Git. Alors:
$ git clone -c feature.manyFiles=true --depth=2 https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install zlib
Conseil
-c feature.manyFiles=true
améliore les performances de git sur les référentiels contenant plus de 1 000 fichiers.
--depth=2
élague l'historique git pour réduire la taille de l'installation de Spack.
Une documentation complète est disponible, ou exécutez spack help
ou spack help --all
.
Pour une aide-mémoire sur la syntaxe Spack, exécutez spack help --spec
.
Nous maintenons un didacticiel pratique . Il couvre l'utilisation de base à avancée, l'empaquetage, les fonctionnalités de développement et les déploiements HPC à grande échelle. Vous pouvez faire tous les exercices sur votre propre ordinateur portable à l’aide d’un conteneur Docker.
N'hésitez pas à utiliser ces documents pour enseigner Spack aux utilisateurs de votre organisation.
Spack est un projet open source. Les questions, discussions et contributions sont les bienvenues. Les contributions peuvent aller de nouveaux packages à des corrections de bugs, de la documentation ou même de nouvelles fonctionnalités de base.
Ressources:
@mention
! Contribuer à Spack est relativement simple. Envoyez-nous simplement une pull request. Lorsque vous envoyez votre requête, faites develop
la branche de destination sur le dépôt Spack.
Votre PR doit réussir les tests unitaires et les tests de documentation de Spack, et doit être conforme à la PEP 8. Nous appliquons ces directives avec notre processus CI. Pour exécuter ces tests localement et pour obtenir des conseils utiles sur git, consultez notre Guide de contribution.
La branche develop
de Spack contient les dernières contributions. Les demandes d'extraction doivent cibler develop
, et les utilisateurs qui souhaitent les dernières versions de package, fonctionnalités, etc. peuvent utiliser develop
.
Pour les déploiements de sites multi-utilisateurs ou d'autres cas d'utilisation nécessitant des installations logicielles très stables, nous vous recommandons d'utiliser les versions stables de Spack.
Chaque série de versions de Spack a également une branche correspondante, par exemple releases/v0.14
a des versions 0.14.x
de Spack et releases/v0.13
a des versions 0.13.x
Nous rétroportons des corrections de bogues importantes sur ces branches, mais nous n'avançons pas les versions de package ni n'apportons d'autres modifications qui modifieraient la façon dont Spack concrétise les dépendances au sein d'une branche de version. Ainsi, vous pouvez baser votre déploiement Spack sur une branche de publication et git pull
pour obtenir des correctifs, sans le désabonnement des packages qui accompagne develop
.
La dernière version est toujours disponible avec la balise releases/latest
.
Consultez la documentation sur les versions pour plus de détails.
Veuillez noter que Spack dispose d'un code de conduite . En participant à la communauté Spack, vous acceptez d'en respecter les règles.
Un grand merci aux contributeurs de Spack.
Spack a été créé par Todd Gamblin, [email protected].
Si vous faites référence à Spack dans une publication, veuillez citer l'article suivant :
Sur GitHub, vous pouvez copier cette citation au format APA ou BibTeX via le bouton « Citer ce référentiel ». Ou consultez les commentaires dans CITATION.cff
pour le BibTeX brut.
Spack est distribué sous les termes de la licence MIT et de la licence Apache (version 2.0). Les utilisateurs peuvent choisir l'une ou l'autre licence, à leur discrétion.
Toutes les nouvelles contributions doivent être effectuées sous les licences MIT et Apache-2.0.
Voir LICENSE-MIT, LICENSE-APACHE, COPYRIGHT et NOTICE pour plus de détails.
Identifiant de licence SPDX : (Apache-2.0 OU MIT)
LLNL-CODE-811652