Documentation
¶
Index ¶
- func Build(topDir, workerImg llb.State, specPath string, caches CacheInfo, ...) llb.State
- func BuildRoot(worker llb.State, spec *dalec.Spec, sOpt dalec.SourceOpts, targetKey string, ...) llb.State
- func BuildRootWithMacros(worker llb.State, spec *dalec.Spec, sOpt dalec.SourceOpts, targetKey string, ...) llb.State
- func FormatVersionConstraint(v string) string
- func RPMSpec(spec *dalec.Spec, in llb.State, targetKey, dir string, ...) llb.State
- func RPMSpecWithMacros(spec *dalec.Spec, in llb.State, targetKey, dir string, ...) llb.State
- func RPMSpecWithSourceFilter(spec *dalec.Spec, in llb.State, targetKey, dir string, ...) llb.State
- func Sources(worker llb.State, spec *dalec.Spec, sOpt dalec.SourceOpts, ...) []llb.State
- func ValidateSpec(spec *dalec.Spec) (out error)
- func WriteSpec(spec *dalec.Spec, target string, w io.Writer) error
- func WriteSpecWithSourceFilter(spec *dalec.Spec, target string, filter dalec.SourceFilterConfig, w io.Writer) error
- type CacheInfo
- type SpecMacro
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Build ¶
func Build(topDir, workerImg llb.State, specPath string, caches CacheInfo, opts ...llb.ConstraintsOpt) llb.State
Builds an RPM and source RPM from a spec
`topDir` is the rpmbuild top directory which should contain the SOURCES and SPECS directories along with any other necessary files
`workerImg` is the image to use for the build It is expected to have rpmbuild and any other necessary build dependencies installed
`specPath` is the path to the spec file to build relative to `topDir`
func BuildRootWithMacros ¶ added in v0.22.0
func BuildRootWithMacros(worker llb.State, spec *dalec.Spec, sOpt dalec.SourceOpts, targetKey string, macros []SpecMacro, opts ...llb.ConstraintsOpt) llb.State
BuildRootWithMacros is like BuildRoot but also emits the provided distro-specific rpm macro overrides at the top of the generated spec.
func FormatVersionConstraint ¶
NOTE: This is very basic and does not handle things like grouped constraints Given this is just trying to shim things to allow either the rpm format or the deb format in its basic form, this is sufficient for now.
func RPMSpecWithMacros ¶ added in v0.22.0
func RPMSpecWithMacros(spec *dalec.Spec, in llb.State, targetKey, dir string, filter dalec.SourceFilterConfig, macros []SpecMacro, opts ...llb.ConstraintsOpt) llb.State
RPMSpecWithMacros is like RPMSpecWithSourceFilter but also emits the provided distro-specific rpm macro overrides at the top of the generated spec.
func RPMSpecWithSourceFilter ¶ added in v0.20.8
func Sources ¶ added in v0.19.0
func Sources(worker llb.State, spec *dalec.Spec, sOpt dalec.SourceOpts, opts ...llb.ConstraintsOpt) []llb.State
func ValidateSpec ¶
ValidateSpec makes sure all the necessary fields are present in the spec to make rpmbuild work This validation is specific to rpmbuild.
func WriteSpec ¶
WriteSpec generates an rpm spec from the provided dalec.Spec and distro target and writes it to the passed in writer
func WriteSpecWithSourceFilter ¶ added in v0.20.8
Types ¶
type CacheInfo ¶
type CacheInfo struct {
TargetKey string
Caches []dalec.CacheConfig
}
type SpecMacro ¶ added in v0.22.0
SpecMacro is a single rpm macro override that a distro can request be emitted at the very top of the generated spec (before the preamble). It lets distro configs express their macro differences as data instead of the template layer hard-coding per-distro knowledge.
Define controls how the macro is written:
- false (default) emits "%global Name Value", which expands Value eagerly at definition time. Use this for plain path/string overrides.
- true emits "%define Name Value", which defers expansion of any macros in Value until the macro is actually used. Use this when Value references another macro that may be redefined later in the spec (e.g. __os_install_post referencing %{__strip}, which DisableStrip() overrides).