distro/rhel85: simplify edge types and package sets
- Cleaned up distro-specific edge package sets - Added edge package set merging in PackageSets() function - Edge image type definitions are no longer arch specific, just like the other image types
This commit is contained in:
parent
44a22bbb14
commit
3f0f4ffab9
2 changed files with 46 additions and 78 deletions
|
|
@ -174,13 +174,13 @@ func (t *imageType) Size(size uint64) uint64 {
|
|||
}
|
||||
|
||||
func (t *imageType) PackageSets(bp blueprint.Blueprint) map[string]rpmmd.PackageSet {
|
||||
// merge package sets that appear in the image type (or are enabled by
|
||||
// flags) with the package sets of the same name from the distro and arch
|
||||
// merge package sets that appear in the image type with the package sets
|
||||
// of the same name from the distro and arch
|
||||
mergedSets := make(map[string]rpmmd.PackageSet)
|
||||
|
||||
imageSets := t.packageSets
|
||||
distroSets := t.arch.distro.packageSets
|
||||
archSets := t.arch.packageSets
|
||||
distroSets := t.arch.distro.packageSets
|
||||
for name := range imageSets {
|
||||
mergedSets[name] = imageSets[name].Append(archSets[name]).Append(distroSets[name])
|
||||
}
|
||||
|
|
@ -191,19 +191,21 @@ func (t *imageType) PackageSets(bp blueprint.Blueprint) map[string]rpmmd.Package
|
|||
}
|
||||
|
||||
// build is usually not defined on the image type
|
||||
// so handle it explicitly
|
||||
// handle it explicitly when it's not
|
||||
if _, hasBuild := imageSets["build"]; !hasBuild {
|
||||
buildSet := archSets["build"].Append(distroSets["build"])
|
||||
if t.rpmOstree {
|
||||
buildSet.Include = append(buildSet.Include, "rpm-ostree")
|
||||
}
|
||||
mergedSets["build"] = buildSet
|
||||
mergedSets["build"] = archSets["build"].Append(distroSets["build"])
|
||||
}
|
||||
|
||||
// package sets from flags
|
||||
if t.bootable {
|
||||
// add boot sets
|
||||
mergedSets["packages"] = mergedSets["packages"].Append(archSets["boot"]).Append(distroSets["boot"])
|
||||
}
|
||||
if t.rpmOstree {
|
||||
// add ostree sets
|
||||
mergedSets["build"] = mergedSets["build"].Append(archSets["build.edge"]).Append(distroSets["build.edge"])
|
||||
mergedSets["packages"] = mergedSets["packages"].Append(archSets["edge"]).Append(distroSets["edge"])
|
||||
}
|
||||
|
||||
// blueprint packages
|
||||
bpPackages := bp.GetPackages()
|
||||
|
|
@ -334,7 +336,8 @@ func newDistro(name, modulePlatformID, ostreeRef string) distro.Distro {
|
|||
modulePlatformID: modulePlatformID,
|
||||
ostreeRef: ostreeRef,
|
||||
packageSets: map[string]rpmmd.PackageSet{
|
||||
"build": distroBuildPackageSet(),
|
||||
"build": distroBuildPackageSet(),
|
||||
"build.edge": edgeBuildPackageSet(),
|
||||
},
|
||||
}
|
||||
|
||||
|
|
@ -345,6 +348,7 @@ func newDistro(name, modulePlatformID, ostreeRef string) distro.Distro {
|
|||
packageSets: map[string]rpmmd.PackageSet{
|
||||
"build": x8664BuildPackageSet(),
|
||||
"boot": x8664BootPackageSet(),
|
||||
"edge": x8664EdgeCommitPackageSet(),
|
||||
},
|
||||
legacy: "i386-pc",
|
||||
uefi: true,
|
||||
|
|
@ -355,6 +359,7 @@ func newDistro(name, modulePlatformID, ostreeRef string) distro.Distro {
|
|||
distro: rd,
|
||||
packageSets: map[string]rpmmd.PackageSet{
|
||||
"boot": aarch64BootPackageSet(),
|
||||
"edge": aarch64EdgeCommitPackageSet(),
|
||||
},
|
||||
}
|
||||
|
||||
|
|
@ -383,26 +388,26 @@ func newDistro(name, modulePlatformID, ostreeRef string) distro.Distro {
|
|||
}
|
||||
|
||||
// Image Definitions
|
||||
edgeCommitImgTypeX86_64 := imageType{
|
||||
edgeCommitImgType := imageType{
|
||||
name: "edge-commit",
|
||||
filename: "commit.tar",
|
||||
mimeType: "application/x-tar",
|
||||
packageSets: map[string]rpmmd.PackageSet{
|
||||
"build": edgeBuildPackageSet(),
|
||||
"packages": x8664EdgeCommitPackageSet(),
|
||||
"packages": edgeCommitPackageSet(),
|
||||
},
|
||||
enabledServices: edgeServices,
|
||||
rpmOstree: true,
|
||||
pipelines: edgeCommitPipelines,
|
||||
exports: []string{"commit-archive"},
|
||||
}
|
||||
edgeOCIImgTypeX86_64 := imageType{
|
||||
edgeOCIImgType := imageType{
|
||||
name: "edge-container",
|
||||
filename: "container.tar",
|
||||
mimeType: "application/x-tar",
|
||||
packageSets: map[string]rpmmd.PackageSet{
|
||||
"build": edgeBuildPackageSet(),
|
||||
"packages": x8664EdgeCommitPackageSet(),
|
||||
"packages": edgeCommitPackageSet(),
|
||||
"container": {Include: []string{"httpd"}},
|
||||
},
|
||||
enabledServices: edgeServices,
|
||||
|
|
@ -411,13 +416,13 @@ func newDistro(name, modulePlatformID, ostreeRef string) distro.Distro {
|
|||
pipelines: edgeContainerPipelines,
|
||||
exports: []string{"container"},
|
||||
}
|
||||
edgeInstallerImgTypeX86_64 := imageType{
|
||||
edgeInstallerImgType := imageType{
|
||||
name: "edge-installer",
|
||||
filename: "installer.iso",
|
||||
mimeType: "application/x-iso9660-image",
|
||||
packageSets: map[string]rpmmd.PackageSet{
|
||||
"build": edgeBuildPackageSet(),
|
||||
"packages": x8664EdgeCommitPackageSet(),
|
||||
"packages": edgeCommitPackageSet(),
|
||||
"installer": edgeInstallerPackageSet(),
|
||||
},
|
||||
enabledServices: edgeServices,
|
||||
|
|
@ -520,36 +525,8 @@ func newDistro(name, modulePlatformID, ostreeRef string) distro.Distro {
|
|||
exports: []string{"bootiso"},
|
||||
}
|
||||
|
||||
edgeCommitImgTypeAarch64 := imageType{
|
||||
name: "edge-commit",
|
||||
filename: "commit.tar",
|
||||
mimeType: "application/x-tar",
|
||||
packageSets: map[string]rpmmd.PackageSet{
|
||||
"build": edgeBuildPackageSet(),
|
||||
"packages": aarch64EdgeCommitPackageSet(),
|
||||
},
|
||||
enabledServices: edgeServices,
|
||||
rpmOstree: true,
|
||||
pipelines: edgeCommitPipelines,
|
||||
exports: []string{"commit-archive"},
|
||||
}
|
||||
edgeOCIImgTypeAarch64 := imageType{
|
||||
name: "edge-container",
|
||||
filename: "container.tar",
|
||||
mimeType: "application/x-tar",
|
||||
packageSets: map[string]rpmmd.PackageSet{
|
||||
"build": edgeBuildPackageSet(),
|
||||
"packages": aarch64EdgeCommitPackageSet(),
|
||||
"container": {Include: []string{"httpd"}},
|
||||
},
|
||||
enabledServices: edgeServices,
|
||||
rpmOstree: true,
|
||||
pipelines: edgeContainerPipelines,
|
||||
exports: []string{"container"},
|
||||
}
|
||||
|
||||
x86_64.addImageTypes(qcow2ImgType, vhdImgType, vmdkImgType, openstackImgType, tarImgType, tarInstallerImgTypeX86_64, edgeCommitImgTypeX86_64, edgeInstallerImgTypeX86_64, edgeOCIImgTypeX86_64)
|
||||
aarch64.addImageTypes(qcow2ImgType, openstackImgType, tarImgType, edgeCommitImgTypeAarch64, edgeOCIImgTypeAarch64)
|
||||
x86_64.addImageTypes(qcow2ImgType, vhdImgType, vmdkImgType, openstackImgType, tarImgType, tarInstallerImgTypeX86_64, edgeCommitImgType, edgeInstallerImgType, edgeOCIImgType)
|
||||
aarch64.addImageTypes(qcow2ImgType, openstackImgType, tarImgType, edgeCommitImgType, edgeOCIImgType)
|
||||
ppc64le.addImageTypes(qcow2ImgType, tarImgType)
|
||||
s390x.addImageTypes(qcow2ImgType, tarImgType)
|
||||
|
||||
|
|
|
|||
|
|
@ -35,14 +35,7 @@ func ppc64leBuildPackageSet() rpmmd.PackageSet {
|
|||
// common edge image build package set
|
||||
func edgeBuildPackageSet() rpmmd.PackageSet {
|
||||
return rpmmd.PackageSet{
|
||||
Include: []string{
|
||||
"efibootmgr", "genisoimage", "grub2-efi-ia32-cdboot",
|
||||
"grub2-efi-x64", "grub2-efi-x64-cdboot", "grub2-pc",
|
||||
"grub2-pc-modules", "grub2-tools", "grub2-tools-efi",
|
||||
"grub2-tools-extra", "grub2-tools-minimal", "isomd5sum",
|
||||
"rpm-ostree", "shim-ia32", "shim-x64", "squashfs-tools",
|
||||
"syslinux", "syslinux-nonlinux", "xorriso",
|
||||
},
|
||||
Include: []string{"rpm-ostree"},
|
||||
Exclude: nil,
|
||||
}
|
||||
}
|
||||
|
|
@ -100,29 +93,6 @@ func s390xBootPackageSet() rpmmd.PackageSet {
|
|||
|
||||
// OS package sets
|
||||
|
||||
func x8664EdgeCommitPackageSet() rpmmd.PackageSet {
|
||||
x8664set := rpmmd.PackageSet{
|
||||
Include: []string{
|
||||
"grub2", "grub2-efi-x64", "efibootmgr", "shim-x64",
|
||||
"microcode_ctl", "iwl1000-firmware", "iwl100-firmware",
|
||||
"iwl105-firmware", "iwl135-firmware", "iwl2000-firmware",
|
||||
"iwl2030-firmware", "iwl3160-firmware", "iwl5000-firmware",
|
||||
"iwl5150-firmware", "iwl6000-firmware", "iwl6050-firmware",
|
||||
"iwl7260-firmware",
|
||||
},
|
||||
Exclude: nil,
|
||||
}
|
||||
return edgeCommitCommonPackageSet().Append(x8664set)
|
||||
}
|
||||
|
||||
func aarch64EdgeCommitPackageSet() rpmmd.PackageSet {
|
||||
aarch64set := rpmmd.PackageSet{
|
||||
Include: []string{"grub2-efi-aa64", "efibootmgr", "shim-aa64", "iwl7260-firmware"},
|
||||
Exclude: nil,
|
||||
}
|
||||
return edgeCommitCommonPackageSet().Append(aarch64set)
|
||||
}
|
||||
|
||||
func qcow2CommonPackageSet() rpmmd.PackageSet {
|
||||
return rpmmd.PackageSet{
|
||||
Include: []string{
|
||||
|
|
@ -202,7 +172,7 @@ func openstackCommonPackageSet() rpmmd.PackageSet {
|
|||
}
|
||||
|
||||
// edge commit OS package set
|
||||
func edgeCommitCommonPackageSet() rpmmd.PackageSet {
|
||||
func edgeCommitPackageSet() rpmmd.PackageSet {
|
||||
return rpmmd.PackageSet{
|
||||
Include: []string{
|
||||
"redhat-release", "glibc", "glibc-minimal-langpack",
|
||||
|
|
@ -228,6 +198,27 @@ func edgeCommitCommonPackageSet() rpmmd.PackageSet {
|
|||
}
|
||||
}
|
||||
|
||||
func x8664EdgeCommitPackageSet() rpmmd.PackageSet {
|
||||
return rpmmd.PackageSet{
|
||||
Include: []string{
|
||||
"grub2", "grub2-efi-x64", "efibootmgr", "shim-x64",
|
||||
"microcode_ctl", "iwl1000-firmware", "iwl100-firmware",
|
||||
"iwl105-firmware", "iwl135-firmware", "iwl2000-firmware",
|
||||
"iwl2030-firmware", "iwl3160-firmware", "iwl5000-firmware",
|
||||
"iwl5150-firmware", "iwl6000-firmware", "iwl6050-firmware",
|
||||
"iwl7260-firmware",
|
||||
},
|
||||
Exclude: nil,
|
||||
}
|
||||
}
|
||||
|
||||
func aarch64EdgeCommitPackageSet() rpmmd.PackageSet {
|
||||
return rpmmd.PackageSet{
|
||||
Include: []string{"grub2-efi-aa64", "efibootmgr", "shim-aa64", "iwl7260-firmware"},
|
||||
Exclude: nil,
|
||||
}
|
||||
}
|
||||
|
||||
// INSTALLER PACKAGE SET
|
||||
func installerPackageSet() rpmmd.PackageSet {
|
||||
// TODO: simplify
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue