mod package_emit¶
- module package_emit¶
Deterministic EasyBuild recipe-set emission from materialized package profiles.
Emission targets conventional EasyBuild style used by easybuilders/easyconfigs:
primary GitHub tag archives use
github_account/GITHUB_SOURCE/SOURCELOWER_TAR_GZwhen they match the package identity;dependency tuples omit the toolchain when the lock identity sits on the package toolchain or a hierarchy member (GCCcore/gompi under foss, …);
cross-generation pins keep an explicit four-element tuple.
Functions
- fn emit_profile_easyconfigs(plan: &PackagePlan, locks: &[ProfileLock]) -> Result<Vec<EmittedEasyconfig>, PackageEmitError>¶
Render one easyconfig per profile, using each profile’s lock.
Enums
- enum PackageEmitError¶
Why an easyconfig could not be rendered.
- Materialize(String)¶
The profile’s conditions could not be resolved.
- MissingLock(String)¶
No lock was supplied for a profile that needs one.
- LockIdentity¶
The supplied lock is for a different package or version.
- profile: String¶
Profile whose lock disagrees.
- package: String¶
Package the lock names.
- version: String¶
Version the lock names.
- LockConfiguration(String)¶
The lock does not match the profile’s configuration.
- InvalidEasyconfigParameter(String)¶
A raw parameter is not a name EasyBuild recognises.
Structs and Unions