osbuild-composer/0001-Replace-id.Name-with-almalinux-kitten-for-AlmaLinux-.patch
2024-12-26 11:10:19 +03:00

162 lines
6.1 KiB
Diff

From b8d1be2bfa9cc8441ff3ebd6c4bc52bddd8b7b0f Mon Sep 17 00:00:00 2001
From: eabdullin <eabdullin@almalinux.org>
Date: Tue, 24 Dec 2024 13:37:33 +0300
Subject: [PATCH] Replace id.Name with almalinux-kitten for AlmaLinux Kitten 10
---
...lmalinux-kitten-10.json => kitten-10.json} | 0
.../images/pkg/distro/rhel/distribution.go | 29 ++++++++-------
.../images/pkg/distro/rhel/rhel10/distro.go | 36 +++++++++++++++++--
.../images/pkg/distrofactory/distrofactory.go | 1 +
.../images/pkg/distroidparser/idparser.go | 1 +
5 files changed, 52 insertions(+), 15 deletions(-)
rename repositories/{almalinux-kitten-10.json => kitten-10.json} (100%)
diff --git a/repositories/almalinux-kitten-10.json b/repositories/kitten-10.json
similarity index 100%
rename from repositories/almalinux-kitten-10.json
rename to repositories/kitten-10.json
diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go
index 9ec16f2..3ef61c9 100644
--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go
+++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go
@@ -102,7 +102,7 @@ func (d *Distribution) IsAlma() bool {
}
func (d *Distribution) IsAlmaKitten() bool {
- return strings.HasPrefix(d.name, "almalinux-kitten")
+ return strings.HasPrefix(d.name, "kitten")
}
func (d *Distribution) GetDefaultImageConfig() *distro.ImageConfig {
@@ -150,19 +150,24 @@ func NewDistribution(name string, major, minor int) (*Distribution, error) {
ostreeRefTmpl: fmt.Sprintf("centos/%d/%%s/edge", major),
runner: &runner.CentOS{Version: uint64(major)},
}
+ case "kitten":
+ if minor != -1 {
+ return nil, fmt.Errorf("AlmaLinux Kitten does not have minor versions, but got %d", minor)
+ }
+
+ rd = &Distribution{
+ name: fmt.Sprintf("kitten-%d", major),
+ product: "AlmaLinux Kitten",
+ osVersion: fmt.Sprintf("%d-kitten", major),
+ releaseVersion: fmt.Sprintf("%d", major),
+ modulePlatformID: fmt.Sprintf("platform:el%d", major),
+ vendor: "almalinux",
+ ostreeRefTmpl: fmt.Sprintf("almalinux/%d/%%s/edge", major),
+ runner: &runner.CentOS{Version: uint64(major)},
+ }
case "almalinux":
if minor == -1 {
- rd = &Distribution{
- name: fmt.Sprintf("almalinux-kitten-%d", major),
- product: "AlmaLinux Kitten",
- osVersion: fmt.Sprintf("%d-kitten", major),
- releaseVersion: fmt.Sprintf("%d", major),
- modulePlatformID: fmt.Sprintf("platform:el%d", major),
- vendor: "almalinux",
- ostreeRefTmpl: fmt.Sprintf("almalinux/%d/%%s/edge", major),
- runner: &runner.CentOS{Version: uint64(major)},
- }
- return rd, nil
+ return nil, errors.New("AlmaLinux requires a minor version")
}
rd = &Distribution{
diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go
index ce20bdb..1fd99de 100644
--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go
+++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go
@@ -47,7 +47,7 @@ func distroISOLabelFunc(t *rhel.ImageType) string {
osVer := strings.Split(t.Arch().Distro().OsVersion(), ".")
return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name())
} else if t.IsAlmaKitten() {
- return fmt.Sprintf(ALMA_ISO_LABEL, t.Arch().Distro().Releasever(), t.Arch().Name())
+ return fmt.Sprintf(ALMA_KITTEN_ISO_LABEL, t.Arch().Distro().Releasever(), t.Arch().Name())
} else if t.IsAlma() {
osVer := strings.Split(t.Arch().Distro().OsVersion(), ".")
return fmt.Sprintf(ALMA_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name())
@@ -281,7 +281,7 @@ func ParseID(idStr string) (*distro.ID, error) {
return nil, err
}
- if id.Name != "rhel" && id.Name != "centos" && id.Name != "almalinux" && id.Name != "almalinux-kitten" {
+ if id.Name != "rhel" && id.Name != "centos" && id.Name != "almalinux" {
return nil, fmt.Errorf("invalid distro name: %s", id.Name)
}
@@ -295,10 +295,32 @@ func ParseID(idStr string) (*distro.ID, error) {
}
// RHEL uses minor version
- if id.Name == "rhel" && id.MinorVersion == -1 {
+ if (id.Name == "rhel" || id.Name == "almalinux") && id.MinorVersion == -1 {
return nil, fmt.Errorf("rhel requires minor version, but got: %d", id.MinorVersion)
}
+
+ return id, nil
+}
+
+func ParseIDKitten(idStr string) (*distro.ID, error) {
+ id, err := distro.ParseID(idStr)
+ if err != nil {
+ return nil, err
+ }
+
+ if id.Name != "kitten" {
+ return nil, fmt.Errorf("invalid distro name: %s", id.Name)
+ }
+
+ if id.MajorVersion != 10 {
+ return nil, fmt.Errorf("invalid distro major version: %d", id.MajorVersion)
+ }
+
+ if id.MinorVersion != -1 {
+ return nil, fmt.Errorf("AlmaLinux Kitten does not use minor version, but got: %d", id.MinorVersion)
+ }
+
return id, nil
}
@@ -310,3 +332,11 @@ func DistroFactory(idStr string) distro.Distro {
return newDistro(id.Name, 10, id.MinorVersion)
}
+
+func DistroFactoryKitten(idStr string) distro.Distro {
+ if idStr != "kitten-10" {
+ return nil
+ }
+
+ return newDistro("kitten", 10, -1)
+}
diff --git a/vendor/github.com/osbuild/images/pkg/distrofactory/distrofactory.go b/vendor/github.com/osbuild/images/pkg/distrofactory/distrofactory.go
index 4e264b8..b9eea42 100644
--- a/vendor/github.com/osbuild/images/pkg/distrofactory/distrofactory.go
+++ b/vendor/github.com/osbuild/images/pkg/distrofactory/distrofactory.go
@@ -114,6 +114,7 @@ func NewDefault() *Factory {
rhel8.DistroFactory,
rhel9.DistroFactory,
rhel10.DistroFactory,
+ rhel10.DistroFactoryKitten,
)
}
diff --git a/vendor/github.com/osbuild/images/pkg/distroidparser/idparser.go b/vendor/github.com/osbuild/images/pkg/distroidparser/idparser.go
index 7bd1e72..f21cb71 100644
--- a/vendor/github.com/osbuild/images/pkg/distroidparser/idparser.go
+++ b/vendor/github.com/osbuild/images/pkg/distroidparser/idparser.go
@@ -68,5 +68,6 @@ func NewDefaultParser() *Parser {
rhel8.ParseID,
rhel9.ParseID,
rhel10.ParseID,
+ rhel10.ParseIDKitten,
)
}
--
2.39.5 (Apple Git-154)