pakages.builders.spack package¶
Submodules¶
pakages.builders.spack.cache module¶
- class pakages.builders.spack.cache.BuildCache(spec_name, cache_dir=None, username=None, email=None, settings=None)[source]¶
Bases:
object
A controller that makes it easy to create a build cache and install to it. We require that it is specific to one spec for now.
- add_as_mirror(name)[source]¶
Add the cache directory to spack as a filesystem mirror
This currently downloads and adds to /tmp, and we issue a warning to the user. I’m not sure how people will want to install from caches but for the time being I’m making it a temporary interaction.
pakages.builders.spack.client module¶
- class pakages.builders.spack.client.SpackClient(*args, **kwargs)[source]¶
Bases:
PakagesClient
Pakages has a main controller for interacting with pakages.
- add_repository(path)[source]¶
Add a repository.
Given a path that exists, add the repository to the underlying spack. If you need to add a GitHub uri, create a pakages.repo.PakRepo first.
pakages.builders.spack.sbom module¶
- pakages.builders.spack.sbom.generate_sbom(pkg)[source]¶
Generates the sbom based on best practices suggested in the guide.
This function used to import spack.main and spack.spec, but we have fallen back to calling spack on the command line because it is not reliable to use from Python as a native python API. After that change, the metadata is not very good. We don’t really use it, so it’s fine.