From 8f69088af1adf5792bddfc00ef7ff59cfed7f87f Mon Sep 17 00:00:00 2001 From: Achilleas Koutsou Date: Thu, 27 Apr 2023 14:25:47 +0200 Subject: [PATCH] distro: remove architecture names and use platform enum Removing the dependence of the manifest package on the distro package to import manifest into distro. Wherever arch names are needed, we use the enums from the platform package instead. --- cmd/osbuild-dnf-json-tests/main_test.go | 13 +++++++------ cmd/osbuild-image-tests/main_test.go | 4 ++-- cmd/osbuild-store-dump/main.go | 5 +++-- internal/boot/context-managers.go | 4 ++-- internal/distro/distro.go | 9 --------- internal/distro/fedora/distro.go | 4 ++-- internal/distro/fedora/package_sets.go | 6 +++--- internal/distro/fedora/partition_tables.go | 9 +++++---- internal/distro/rhel7/azure.go | 3 ++- internal/distro/rhel7/distro.go | 2 +- internal/distro/rhel7/partition_tables.go | 3 ++- internal/distro/rhel8/azure.go | 5 +++-- internal/distro/rhel8/bare_metal.go | 8 ++++---- internal/distro/rhel8/distro.go | 8 ++++---- internal/distro/rhel8/distro_test.go | 3 ++- internal/distro/rhel8/edge.go | 9 +++++---- internal/distro/rhel8/package_sets.go | 6 +++--- internal/distro/rhel8/partition_tables.go | 21 +++++++++++---------- internal/distro/rhel9/azure.go | 5 +++-- internal/distro/rhel9/bare_metal.go | 8 ++++---- internal/distro/rhel9/distro.go | 8 ++++---- internal/distro/rhel9/distro_test.go | 3 ++- internal/distro/rhel9/edge.go | 13 +++++++------ internal/distro/rhel9/package_sets.go | 18 +++++++++--------- internal/distro/rhel9/partition_tables.go | 9 +++++---- internal/distro/rhel9/qcow2.go | 3 ++- internal/distro/rhel9/vmdk.go | 3 ++- internal/manifest/efi_boot_tree.go | 5 ++--- internal/platform/platform.go | 4 ++-- internal/store/json_test.go | 3 ++- internal/worker/server_test.go | 5 +++-- 31 files changed, 108 insertions(+), 101 deletions(-) diff --git a/cmd/osbuild-dnf-json-tests/main_test.go b/cmd/osbuild-dnf-json-tests/main_test.go index 9301bf291..dab64d755 100644 --- a/cmd/osbuild-dnf-json-tests/main_test.go +++ b/cmd/osbuild-dnf-json-tests/main_test.go @@ -14,6 +14,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/distro" rhel "github.com/osbuild/osbuild-composer/internal/distro/rhel8" "github.com/osbuild/osbuild-composer/internal/dnfjson" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -75,19 +76,19 @@ func TestDepsolvePackageSets(t *testing.T) { // Set up temporary directory for rpm/dnf cache dir := t.TempDir() - solver := dnfjson.NewSolver(cs9.ModulePlatformID(), cs9.Releasever(), distro.X86_64ArchName, cs9.Name(), dir) + solver := dnfjson.NewSolver(cs9.ModulePlatformID(), cs9.Releasever(), platform.ARCH_X86_64.String(), cs9.Name(), dir) repos, err := rpmmd.LoadRepositories([]string{repoDir}, cs9.Name()) require.NoErrorf(t, err, "Failed to LoadRepositories %v", cs9.Name()) - x86Repos, ok := repos[distro.X86_64ArchName] - require.Truef(t, ok, "failed to get %q repos for %q", distro.X86_64ArchName, cs9.Name()) + x86Repos, ok := repos[platform.ARCH_X86_64.String()] + require.Truef(t, ok, "failed to get %q repos for %q", platform.ARCH_X86_64.String(), cs9.Name()) - x86Arch, err := cs9.GetArch(distro.X86_64ArchName) - require.Nilf(t, err, "failed to get %q arch of %q distro", distro.X86_64ArchName, cs9.Name()) + x86Arch, err := cs9.GetArch(platform.ARCH_X86_64.String()) + require.Nilf(t, err, "failed to get %q arch of %q distro", platform.ARCH_X86_64.String(), cs9.Name()) qcow2ImageTypeName := "qcow2" qcow2Image, err := x86Arch.GetImageType(qcow2ImageTypeName) - require.Nilf(t, err, "failed to get %q image type of %q/%q distro/arch", qcow2ImageTypeName, cs9.Name(), distro.X86_64ArchName) + require.Nilf(t, err, "failed to get %q image type of %q/%q distro/arch", qcow2ImageTypeName, cs9.Name(), platform.ARCH_X86_64.String()) imagePkgSets := qcow2Image.PackageSets(blueprint.Blueprint{Packages: []blueprint.Package{{Name: "bind"}}}, distro.ImageOptions{}, x86Repos) diff --git a/cmd/osbuild-image-tests/main_test.go b/cmd/osbuild-image-tests/main_test.go index 7208a442e..1b3b63d74 100644 --- a/cmd/osbuild-image-tests/main_test.go +++ b/cmd/osbuild-image-tests/main_test.go @@ -29,7 +29,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/boot/openstacktest" "github.com/osbuild/osbuild-composer/internal/boot/vmwaretest" "github.com/osbuild/osbuild-composer/internal/common" - "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/test" ) @@ -410,7 +410,7 @@ func testBootUsingOpenStack(t *testing.T, imagePath string) { currentArch := common.CurrentArch() // skip on aarch64 because we don't have aarch64 openstack or kvm machines - if currentArch == distro.Aarch64ArchName { + if currentArch == platform.ARCH_AARCH64.String() { t.Skip("Openstack boot test is skipped on aarch64.") // if no credentials are given, fall back to qemu } else if (creds == gophercloud.AuthOptions{}) { diff --git a/cmd/osbuild-store-dump/main.go b/cmd/osbuild-store-dump/main.go index c57357f27..2f3201d9e 100644 --- a/cmd/osbuild-store-dump/main.go +++ b/cmd/osbuild-store-dump/main.go @@ -14,6 +14,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/distro/fedora" "github.com/osbuild/osbuild-composer/internal/distroregistry" "github.com/osbuild/osbuild-composer/internal/dnfjson" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" "github.com/osbuild/osbuild-composer/internal/store" "github.com/osbuild/osbuild-composer/internal/target" @@ -120,7 +121,7 @@ func main() { awsTarget.OsbuildArtifact.ExportFilename = "image.ami" d := fedora.NewF37() - a, err := d.GetArch(distro.X86_64ArchName) + a, err := d.GetArch(platform.ARCH_X86_64.String()) if err != nil { panic(err) } @@ -136,7 +137,7 @@ func main() { if err != nil { panic(err) } - repos := allRepos[distro.X86_64ArchName] + repos := allRepos[platform.ARCH_X86_64.String()] homeDir, err := os.UserHomeDir() if err != nil { panic("os.UserHomeDir(): " + err.Error()) diff --git a/internal/boot/context-managers.go b/internal/boot/context-managers.go index acee89a48..722161be0 100644 --- a/internal/boot/context-managers.go +++ b/internal/boot/context-managers.go @@ -15,7 +15,7 @@ import ( "github.com/osbuild/osbuild-composer/cmd/osbuild-image-tests/constants" "github.com/osbuild/osbuild-composer/internal/common" - "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" ) // WithNetworkNamespace provides the function f with a new network namespace @@ -138,7 +138,7 @@ func WithBootedQemuImage(image string, ns NetNS, f func() error) error { "-nographic", image, ) - } else if common.CurrentArch() == distro.Aarch64ArchName { + } else if common.CurrentArch() == platform.ARCH_AARCH64.String() { // This command does not use KVM as I was unable to make it work in Beaker, // once we have machines that can use KVM, enable it to make it faster qemuCmd = ns.NamespacedCommand( diff --git a/internal/distro/distro.go b/internal/distro/distro.go index 4561741a9..0b38be14f 100644 --- a/internal/distro/distro.go +++ b/internal/distro/distro.go @@ -11,15 +11,6 @@ import ( "github.com/osbuild/osbuild-composer/internal/subscription" ) -const ( - // architecture names - - X86_64ArchName = "x86_64" - Aarch64ArchName = "aarch64" - Ppc64leArchName = "ppc64le" - S390xArchName = "s390x" -) - type BootMode uint64 const ( diff --git a/internal/distro/fedora/distro.go b/internal/distro/fedora/distro.go index 9cc4bb842..a006043b5 100644 --- a/internal/distro/fedora/distro.go +++ b/internal/distro/fedora/distro.go @@ -516,12 +516,12 @@ func newDistro(version int) distro.Distro { // Architecture definitions x86_64 := architecture{ - name: distro.X86_64ArchName, + name: platform.ARCH_X86_64.String(), distro: &rd, } aarch64 := architecture{ - name: distro.Aarch64ArchName, + name: platform.ARCH_AARCH64.String(), distro: &rd, } diff --git a/internal/distro/fedora/package_sets.go b/internal/distro/fedora/package_sets.go index f11413c86..9434b27a4 100644 --- a/internal/distro/fedora/package_sets.go +++ b/internal/distro/fedora/package_sets.go @@ -7,7 +7,7 @@ import ( "strconv" "github.com/osbuild/osbuild-composer/internal/common" - "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -440,7 +440,7 @@ func anacondaPackageSet(t *imageType) rpmmd.PackageSet { } switch t.Arch().Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "biosdevname", @@ -450,7 +450,7 @@ func anacondaPackageSet(t *imageType) rpmmd.PackageSet { }, }) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "dmidecode", diff --git a/internal/distro/fedora/partition_tables.go b/internal/distro/fedora/partition_tables.go index 214f1ee76..8b7572294 100644 --- a/internal/distro/fedora/partition_tables.go +++ b/internal/distro/fedora/partition_tables.go @@ -4,10 +4,11 @@ import ( "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/disk" "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" ) var defaultBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -59,7 +60,7 @@ var defaultBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -108,7 +109,7 @@ var defaultBasePartitionTables = distro.BasePartitionTableMap{ } var iotBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -154,7 +155,7 @@ var iotBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "0xc1748067", Type: "dos", Partitions: []disk.Partition{ diff --git a/internal/distro/rhel7/azure.go b/internal/distro/rhel7/azure.go index 6f0cbcd01..362c29a0f 100644 --- a/internal/distro/rhel7/azure.go +++ b/internal/distro/rhel7/azure.go @@ -5,6 +5,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/disk" "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/osbuild" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" "github.com/osbuild/osbuild-composer/internal/subscription" ) @@ -272,7 +273,7 @@ func azureRhuiCommonPackageSet(t *imageType) rpmmd.PackageSet { } var azureRhuiBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Size: 64 * common.GibiByte, diff --git a/internal/distro/rhel7/distro.go b/internal/distro/rhel7/distro.go index 7dede3f24..cb8425851 100644 --- a/internal/distro/rhel7/distro.go +++ b/internal/distro/rhel7/distro.go @@ -200,7 +200,7 @@ func newDistro(distroName string) distro.Distro { // Architecture definitions x86_64 := architecture{ - name: distro.X86_64ArchName, + name: platform.ARCH_X86_64.String(), distro: &rd, } diff --git a/internal/distro/rhel7/partition_tables.go b/internal/distro/rhel7/partition_tables.go index 27ebbd05d..c26d75de6 100644 --- a/internal/distro/rhel7/partition_tables.go +++ b/internal/distro/rhel7/partition_tables.go @@ -4,12 +4,13 @@ import ( "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/disk" "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" ) // ////////// Partition table ////////// var defaultBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ diff --git a/internal/distro/rhel8/azure.go b/internal/distro/rhel8/azure.go index e799bcde9..f96df6b7c 100644 --- a/internal/distro/rhel8/azure.go +++ b/internal/distro/rhel8/azure.go @@ -5,6 +5,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/disk" "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/osbuild" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" "github.com/osbuild/osbuild-composer/internal/shell" "github.com/osbuild/osbuild-composer/internal/subscription" @@ -257,7 +258,7 @@ func azureEapPackageSet(t *imageType) rpmmd.PackageSet { // PARTITION TABLES var azureRhuiBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Size: 64 * common.GibiByte, @@ -365,7 +366,7 @@ var azureRhuiBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Size: 64 * common.GibiByte, diff --git a/internal/distro/rhel8/bare_metal.go b/internal/distro/rhel8/bare_metal.go index 2ca06e257..f1af31b7a 100644 --- a/internal/distro/rhel8/bare_metal.go +++ b/internal/distro/rhel8/bare_metal.go @@ -3,7 +3,7 @@ package rhel8 import ( "fmt" - "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -146,7 +146,7 @@ func installerPackageSet(t *imageType) rpmmd.PackageSet { } switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "biosdevname", @@ -278,7 +278,7 @@ func anacondaPackageSet(t *imageType) rpmmd.PackageSet { ps = ps.Append(anacondaBootPackageSet(t)) switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "biosdevname", @@ -287,7 +287,7 @@ func anacondaPackageSet(t *imageType) rpmmd.PackageSet { }, }) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "dmidecode", diff --git a/internal/distro/rhel8/distro.go b/internal/distro/rhel8/distro.go index 82fc441f2..6cff6ddb8 100644 --- a/internal/distro/rhel8/distro.go +++ b/internal/distro/rhel8/distro.go @@ -194,22 +194,22 @@ func newDistro(name string, minor int) *distribution { // Architecture definitions x86_64 := architecture{ - name: distro.X86_64ArchName, + name: platform.ARCH_X86_64.String(), distro: &rd, } aarch64 := architecture{ - name: distro.Aarch64ArchName, + name: platform.ARCH_AARCH64.String(), distro: &rd, } ppc64le := architecture{ distro: &rd, - name: distro.Ppc64leArchName, + name: platform.ARCH_PPC64LE.String(), } s390x := architecture{ distro: &rd, - name: distro.S390xArchName, + name: platform.ARCH_S390X.String(), } ociImgType := qcow2ImgType(rd) diff --git a/internal/distro/rhel8/distro_test.go b/internal/distro/rhel8/distro_test.go index bd97d9f2f..a1363c202 100644 --- a/internal/distro/rhel8/distro_test.go +++ b/internal/distro/rhel8/distro_test.go @@ -11,6 +11,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/distro/distro_test_common" "github.com/osbuild/osbuild-composer/internal/distro/rhel8" + "github.com/osbuild/osbuild-composer/internal/platform" ) type rhelFamilyDistro struct { @@ -356,7 +357,7 @@ func TestImageType_Name(t *testing.T) { for _, dist := range rhelFamilyDistros { t.Run(dist.name, func(t *testing.T) { for _, mapping := range imgMap { - if mapping.arch == distro.S390xArchName && dist.name == "centos" { + if mapping.arch == platform.ARCH_S390X.String() && dist.name == "centos" { continue } arch, err := dist.distro.GetArch(mapping.arch) diff --git a/internal/distro/rhel8/edge.go b/internal/distro/rhel8/edge.go index 385d07b79..01865c0c1 100644 --- a/internal/distro/rhel8/edge.go +++ b/internal/distro/rhel8/edge.go @@ -5,6 +5,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -217,10 +218,10 @@ func edgeCommitPackageSet(t *imageType) rpmmd.PackageSet { } switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(x8664EdgeCommitPackageSet(t)) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(aarch64EdgeCommitPackageSet(t)) } @@ -338,9 +339,9 @@ func edgeSimplifiedInstallerPackageSet(t *imageType) rpmmd.PackageSet { switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(x8664EdgeCommitPackageSet(t)) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(aarch64EdgeCommitPackageSet(t)) default: diff --git a/internal/distro/rhel8/package_sets.go b/internal/distro/rhel8/package_sets.go index 45bde45fa..378563e26 100644 --- a/internal/distro/rhel8/package_sets.go +++ b/internal/distro/rhel8/package_sets.go @@ -5,7 +5,7 @@ package rhel8 import ( "fmt" - "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -30,7 +30,7 @@ func anacondaBootPackageSet(t *imageType) rpmmd.PackageSet { } switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(grubCommon) ps = ps.Append(efiCommon) ps = ps.Append(rpmmd.PackageSet{ @@ -46,7 +46,7 @@ func anacondaBootPackageSet(t *imageType) rpmmd.PackageSet { "syslinux-nonlinux", }, }) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(grubCommon) ps = ps.Append(efiCommon) ps = ps.Append(rpmmd.PackageSet{ diff --git a/internal/distro/rhel8/partition_tables.go b/internal/distro/rhel8/partition_tables.go index bde0df905..8e1236ed2 100644 --- a/internal/distro/rhel8/partition_tables.go +++ b/internal/distro/rhel8/partition_tables.go @@ -4,10 +4,11 @@ import ( "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/disk" "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" ) var defaultBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -45,7 +46,7 @@ var defaultBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -77,7 +78,7 @@ var defaultBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Ppc64leArchName: disk.PartitionTable{ + platform.ARCH_PPC64LE.String(): disk.PartitionTable{ UUID: "0x14fc63d2", Type: "dos", Partitions: []disk.Partition{ @@ -98,7 +99,7 @@ var defaultBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.S390xArchName: disk.PartitionTable{ + platform.ARCH_S390X.String(): disk.PartitionTable{ UUID: "0x14fc63d2", Type: "dos", Partitions: []disk.Partition{ @@ -118,7 +119,7 @@ var defaultBasePartitionTables = distro.BasePartitionTableMap{ } var ec2BasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -170,7 +171,7 @@ var ec2BasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -221,7 +222,7 @@ var ec2BasePartitionTables = distro.BasePartitionTableMap{ // ec2LegacyBasePartitionTables is the partition table layout for RHEL EC2 // images prior to 8.9. It is used for backwards compatibility. var ec2LegacyBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -246,7 +247,7 @@ var ec2LegacyBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -293,7 +294,7 @@ var ec2LegacyBasePartitionTables = distro.BasePartitionTableMap{ } var edgeBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -360,7 +361,7 @@ var edgeBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ diff --git a/internal/distro/rhel9/azure.go b/internal/distro/rhel9/azure.go index 09c95e3dc..8395db8c5 100644 --- a/internal/distro/rhel9/azure.go +++ b/internal/distro/rhel9/azure.go @@ -5,6 +5,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/disk" "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/osbuild" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" "github.com/osbuild/osbuild-composer/internal/subscription" ) @@ -176,7 +177,7 @@ func azureRhuiPackageSet(t *imageType) rpmmd.PackageSet { // PARTITION TABLES var azureRhuiBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Size: 64 * common.GibiByte, @@ -284,7 +285,7 @@ var azureRhuiBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Size: 64 * common.GibiByte, diff --git a/internal/distro/rhel9/bare_metal.go b/internal/distro/rhel9/bare_metal.go index 6dc8d045e..abcf8c326 100644 --- a/internal/distro/rhel9/bare_metal.go +++ b/internal/distro/rhel9/bare_metal.go @@ -3,7 +3,7 @@ package rhel9 import ( "fmt" - "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -134,7 +134,7 @@ func installerPackageSet(t *imageType) rpmmd.PackageSet { } switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "biosdevname", @@ -292,7 +292,7 @@ func anacondaPackageSet(t *imageType) rpmmd.PackageSet { ps = ps.Append(anacondaBootPackageSet(t)) switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "biosdevname", @@ -302,7 +302,7 @@ func anacondaPackageSet(t *imageType) rpmmd.PackageSet { }, }) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "dmidecode", diff --git a/internal/distro/rhel9/distro.go b/internal/distro/rhel9/distro.go index 46cfc4d41..42aef1994 100644 --- a/internal/distro/rhel9/distro.go +++ b/internal/distro/rhel9/distro.go @@ -186,23 +186,23 @@ func newDistro(name string, minor int) *distribution { // Architecture definitions x86_64 := architecture{ - name: distro.X86_64ArchName, + name: platform.ARCH_X86_64.String(), distro: &rd, } aarch64 := architecture{ - name: distro.Aarch64ArchName, + name: platform.ARCH_AARCH64.String(), distro: &rd, } ppc64le := architecture{ distro: &rd, - name: distro.Ppc64leArchName, + name: platform.ARCH_PPC64LE.String(), } s390x := architecture{ distro: &rd, - name: distro.S390xArchName, + name: platform.ARCH_S390X.String(), } qcow2ImgType := mkQcow2ImgType(rd) diff --git a/internal/distro/rhel9/distro_test.go b/internal/distro/rhel9/distro_test.go index 15099237c..190e61673 100644 --- a/internal/distro/rhel9/distro_test.go +++ b/internal/distro/rhel9/distro_test.go @@ -12,6 +12,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/distro/distro_test_common" "github.com/osbuild/osbuild-composer/internal/distro/rhel9" + "github.com/osbuild/osbuild-composer/internal/platform" ) type rhelFamilyDistro struct { @@ -339,7 +340,7 @@ func TestImageType_Name(t *testing.T) { for _, dist := range rhelFamilyDistros { t.Run(dist.name, func(t *testing.T) { for _, mapping := range imgMap { - if mapping.arch == distro.S390xArchName && dist.name == "centos" { + if mapping.arch == platform.ARCH_S390X.String() && dist.name == "centos" { continue } arch, err := dist.distro.GetArch(mapping.arch) diff --git a/internal/distro/rhel9/edge.go b/internal/distro/rhel9/edge.go index 3cc72dc88..2fc506d6a 100644 --- a/internal/distro/rhel9/edge.go +++ b/internal/distro/rhel9/edge.go @@ -6,6 +6,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/disk" "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -137,7 +138,7 @@ var ( // Partition tables edgeBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -213,7 +214,7 @@ var ( }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -374,10 +375,10 @@ func edgeCommitPackageSet(t *imageType) rpmmd.PackageSet { } switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(x8664EdgeCommitPackageSet(t)) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(aarch64EdgeCommitPackageSet(t)) } @@ -474,9 +475,9 @@ func edgeSimplifiedInstallerPackageSet(t *imageType) rpmmd.PackageSet { switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(x8664EdgeCommitPackageSet(t)) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(aarch64EdgeCommitPackageSet(t)) default: diff --git a/internal/distro/rhel9/package_sets.go b/internal/distro/rhel9/package_sets.go index f3c5ca482..4011974e4 100644 --- a/internal/distro/rhel9/package_sets.go +++ b/internal/distro/rhel9/package_sets.go @@ -5,7 +5,7 @@ package rhel9 import ( "fmt" - "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -35,10 +35,10 @@ func distroBuildPackageSet(t *imageType) rpmmd.PackageSet { switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(x8664BuildPackageSet(t)) - case distro.Ppc64leArchName: + case platform.ARCH_PPC64LE.String(): ps = ps.Append(ppc64leBuildPackageSet(t)) } @@ -84,7 +84,7 @@ func anacondaBootPackageSet(t *imageType) rpmmd.PackageSet { } switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(grubCommon) ps = ps.Append(efiCommon) ps = ps.Append(rpmmd.PackageSet{ @@ -98,7 +98,7 @@ func anacondaBootPackageSet(t *imageType) rpmmd.PackageSet { "syslinux-nonlinux", }, }) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(grubCommon) ps = ps.Append(efiCommon) ps = ps.Append(rpmmd.PackageSet{ @@ -197,7 +197,7 @@ func coreOsCommonPackageSet(t *imageType) rpmmd.PackageSet { } switch t.arch.Name() { - case distro.X86_64ArchName: + case platform.ARCH_X86_64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "irqbalance", @@ -205,14 +205,14 @@ func coreOsCommonPackageSet(t *imageType) rpmmd.PackageSet { }, }) - case distro.Aarch64ArchName: + case platform.ARCH_AARCH64.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "irqbalance", }, }) - case distro.Ppc64leArchName: + case platform.ARCH_PPC64LE.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "irqbalance", @@ -223,7 +223,7 @@ func coreOsCommonPackageSet(t *imageType) rpmmd.PackageSet { }, }) - case distro.S390xArchName: + case platform.ARCH_S390X.String(): ps = ps.Append(rpmmd.PackageSet{ Include: []string{ "s390utils-core", diff --git a/internal/distro/rhel9/partition_tables.go b/internal/distro/rhel9/partition_tables.go index 5326e5d21..af1b42408 100644 --- a/internal/distro/rhel9/partition_tables.go +++ b/internal/distro/rhel9/partition_tables.go @@ -4,10 +4,11 @@ import ( "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/disk" "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" ) var defaultBasePartitionTables = distro.BasePartitionTableMap{ - distro.X86_64ArchName: disk.PartitionTable{ + platform.ARCH_X86_64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -59,7 +60,7 @@ var defaultBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Aarch64ArchName: disk.PartitionTable{ + platform.ARCH_AARCH64.String(): disk.PartitionTable{ UUID: "D209C89E-EA5E-4FBD-B161-B461CCE297E0", Type: "gpt", Partitions: []disk.Partition{ @@ -105,7 +106,7 @@ var defaultBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.Ppc64leArchName: disk.PartitionTable{ + platform.ARCH_PPC64LE.String(): disk.PartitionTable{ UUID: "0x14fc63d2", Type: "dos", Partitions: []disk.Partition{ @@ -137,7 +138,7 @@ var defaultBasePartitionTables = distro.BasePartitionTableMap{ }, }, }, - distro.S390xArchName: disk.PartitionTable{ + platform.ARCH_S390X.String(): disk.PartitionTable{ UUID: "0x14fc63d2", Type: "dos", Partitions: []disk.Partition{ diff --git a/internal/distro/rhel9/qcow2.go b/internal/distro/rhel9/qcow2.go index 55dfe6b81..03e96e9bb 100644 --- a/internal/distro/rhel9/qcow2.go +++ b/internal/distro/rhel9/qcow2.go @@ -4,6 +4,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/osbuild" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" "github.com/osbuild/osbuild-composer/internal/subscription" ) @@ -103,7 +104,7 @@ func openstackCommonPackageSet(t *imageType) rpmmd.PackageSet { }, }.Append(coreOsCommonPackageSet(t)) - if t.arch.Name() == distro.X86_64ArchName { + if t.arch.Name() == platform.ARCH_X86_64.String() { ps = ps.Append(rpmmd.PackageSet{ Include: []string{ // packages below used to come from @core group and were not excluded diff --git a/internal/distro/rhel9/vmdk.go b/internal/distro/rhel9/vmdk.go index 91293a2bd..d6400a313 100644 --- a/internal/distro/rhel9/vmdk.go +++ b/internal/distro/rhel9/vmdk.go @@ -3,6 +3,7 @@ package rhel9 import ( "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -62,7 +63,7 @@ func vmdkCommonPackageSet(t *imageType) rpmmd.PackageSet { }, }.Append(coreOsCommonPackageSet(t)) - if t.arch.Name() == distro.X86_64ArchName { + if t.arch.Name() == platform.ARCH_X86_64.String() { ps = ps.Append(rpmmd.PackageSet{ Include: []string{ // packages below used to come from @core group and were not excluded diff --git a/internal/manifest/efi_boot_tree.go b/internal/manifest/efi_boot_tree.go index 61bd170fe..2b2d0077e 100644 --- a/internal/manifest/efi_boot_tree.go +++ b/internal/manifest/efi_boot_tree.go @@ -1,7 +1,6 @@ package manifest import ( - "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/osbuild" "github.com/osbuild/osbuild-composer/internal/platform" ) @@ -36,9 +35,9 @@ func (p *EFIBootTree) serialize() osbuild.Pipeline { arch := p.Platform.GetArch().String() var architectures []string - if arch == distro.X86_64ArchName { + if arch == platform.ARCH_X86_64.String() { architectures = []string{"X64"} - } else if arch == distro.Aarch64ArchName { + } else if arch == platform.ARCH_AARCH64.String() { architectures = []string{"AA64"} } else { panic("unsupported architecture") diff --git a/internal/platform/platform.go b/internal/platform/platform.go index 1157137d7..854b861d3 100644 --- a/internal/platform/platform.go +++ b/internal/platform/platform.go @@ -3,14 +3,14 @@ package platform type Arch uint64 type ImageFormat uint64 -const ( +const ( // architecture enum ARCH_AARCH64 Arch = iota ARCH_PPC64LE ARCH_S390X ARCH_X86_64 ) -const ( +const ( // image format enum FORMAT_UNSET ImageFormat = iota FORMAT_RAW FORMAT_ISO diff --git a/internal/store/json_test.go b/internal/store/json_test.go index 1bdf6f4fd..72df8dab8 100644 --- a/internal/store/json_test.go +++ b/internal/store/json_test.go @@ -19,6 +19,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/distro/fedora" "github.com/osbuild/osbuild-composer/internal/distro/test_distro" "github.com/osbuild/osbuild-composer/internal/distroregistry" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" "github.com/osbuild/osbuild-composer/internal/target" ) @@ -313,7 +314,7 @@ func Test_upgrade(t *testing.T) { assert.NoError(err) // The test data has image types only supported on Fedora X86_64 - registry.SetHostArchName(distro.X86_64ArchName) + registry.SetHostArchName(platform.ARCH_X86_64.String()) store := newStoreFromV0(storeStruct, registry, nil) assert.Equal(1, len(store.blueprints)) assert.Equal(1, len(store.blueprintsChanges)) diff --git a/internal/worker/server_test.go b/internal/worker/server_test.go index 9fde2cbfd..9fcdf1237 100644 --- a/internal/worker/server_test.go +++ b/internal/worker/server_test.go @@ -20,6 +20,7 @@ import ( "github.com/osbuild/osbuild-composer/internal/distro/test_distro" "github.com/osbuild/osbuild-composer/internal/jobqueue/fsjobqueue" "github.com/osbuild/osbuild-composer/internal/osbuild" + "github.com/osbuild/osbuild-composer/internal/platform" "github.com/osbuild/osbuild-composer/internal/rpmmd" "github.com/osbuild/osbuild-composer/internal/target" "github.com/osbuild/osbuild-composer/internal/test" @@ -737,7 +738,7 @@ func enqueueAndFinishTestJobDependencies(s *worker.Server, deps []testJob) ([]uu switch dep.main.(type) { case *worker.OSBuildJob: job := dep.main.(*worker.OSBuildJob) - id, err = s.EnqueueOSBuildAsDependency(distro.X86_64ArchName, job, depUUIDs, "") + id, err = s.EnqueueOSBuildAsDependency(platform.ARCH_X86_64.String(), job, depUUIDs, "") if err != nil { return nil, err } @@ -807,7 +808,7 @@ func enqueueAndFinishTestJobDependencies(s *worker.Server, deps []testJob) ([]uu } // request the previously added Job - _, token, _, _, _, err := s.RequestJobById(context.Background(), distro.X86_64ArchName, id) + _, token, _, _, _, err := s.RequestJobById(context.Background(), platform.ARCH_X86_64.String(), id) if err != nil { return nil, err }