rhel85: distro and arch package sets
Add package sets to the top level distribution and the
architectures. Merge package sets when requested through
`imageType.PackageSets()`.
This allows us to have "cascading" package sets:
distro > arch > image type
Previously this was only supported for the build packages. The idea is
generalised based on the idea of arbitrary package sets.
Certain package sets have special meaning (for the distro):
- packages: blueprint packages and special option packages are merged
into this one.
- build: is not expected to be defined on the image type so it is merged
from the distro and arch explicitly.
This commit is contained in:
parent
38f5b23e87
commit
f1e805658c
2 changed files with 46 additions and 15 deletions
|
|
@ -107,6 +107,14 @@ type PackageSet struct {
|
|||
Exclude []string
|
||||
}
|
||||
|
||||
// Append the Include and Exclude package list from another PackageSet and
|
||||
// return the result.
|
||||
func (ps PackageSet) Append(other PackageSet) PackageSet {
|
||||
ps.Include = append(ps.Include, other.Include...)
|
||||
ps.Exclude = append(ps.Exclude, other.Exclude...)
|
||||
return ps
|
||||
}
|
||||
|
||||
// TODO: the public API of this package should not be reused for serialization.
|
||||
type PackageSpec struct {
|
||||
Name string `json:"name"`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue