Restore the family value in os-release (#75)

This commit is contained in:
Itxaka 2024-03-27 08:58:03 +00:00 committed by GitHub
parent 9005687239
commit 9be65995ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 19 additions and 1 deletions

View File

@ -97,6 +97,13 @@ var (
Usage: "the url where more information about the project can be found", Usage: "the url where more information about the project can be found",
EnvVars: []string{EnvVarHomeURL}, EnvVars: []string{EnvVarHomeURL},
} }
familyFlag *cli.StringFlag = &cli.StringFlag{
Name: "family",
Value: "",
Usage: "family of the underlying distro (rhel, ubuntu, opensuse, etc...)",
EnvVars: []string{EnvVarFamily},
}
) )
func CliCommands() []*cli.Command { func CliCommands() []*cli.Command {
@ -165,7 +172,7 @@ func CliCommands() []*cli.Command {
Flags: []cli.Flag{ Flags: []cli.Flag{
flavorFlag, flavorReleaseFlag, variantFlag, modelFlag, archFlag, versionFlag, flavorFlag, flavorReleaseFlag, variantFlag, modelFlag, archFlag, versionFlag,
softwareVersionFlag, softwareVersionPrefixFlag, registryAndOrgFlag, bugReportURLFlag, projectHomeURLFlag, softwareVersionFlag, softwareVersionPrefixFlag, registryAndOrgFlag, bugReportURLFlag, projectHomeURLFlag,
githubRepoFlag, githubRepoFlag, familyFlag,
}, },
Action: func(cCtx *cli.Context) error { Action: func(cCtx *cli.Context) error {
a := artifactFromFlags(cCtx) a := artifactFromFlags(cCtx)
@ -190,6 +197,7 @@ func CliCommands() []*cli.Command {
func artifactFromFlags(cCtx *cli.Context) Artifact { func artifactFromFlags(cCtx *cli.Context) Artifact {
return Artifact{ return Artifact{
Flavor: flavorFlag.Get(cCtx), Flavor: flavorFlag.Get(cCtx),
Family: familyFlag.Get(cCtx),
FlavorRelease: flavorReleaseFlag.Get(cCtx), FlavorRelease: flavorReleaseFlag.Get(cCtx),
Variant: variantFlag.Get(cCtx), Variant: variantFlag.Get(cCtx),
Model: modelFlag.Get(cCtx), Model: modelFlag.Get(cCtx),

View File

@ -11,6 +11,7 @@ var _ = Describe("NewArtifactFromJSON", func() {
jsonStr := `{ jsonStr := `{
"flavor":"opensuse-leap", "flavor":"opensuse-leap",
"flavorRelease":"15.5", "flavorRelease":"15.5",
"family":"opensuse",
"variant":"standard", "variant":"standard",
"model":"generic", "model":"generic",
"arch":"amd64", "arch":"amd64",
@ -22,6 +23,7 @@ var _ = Describe("NewArtifactFromJSON", func() {
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
Expect(artifact.Flavor).To(Equal("opensuse-leap")) Expect(artifact.Flavor).To(Equal("opensuse-leap"))
Expect(artifact.Family).To(Equal("opensuse"))
Expect(artifact.FlavorRelease).To(Equal("15.5")) Expect(artifact.FlavorRelease).To(Equal("15.5"))
Expect(artifact.Variant).To(Equal("standard")) Expect(artifact.Variant).To(Equal("standard"))
Expect(artifact.Model).To(Equal("generic")) Expect(artifact.Model).To(Equal("generic"))

View File

@ -20,6 +20,7 @@ var _ = Describe("NewArtifactFromOSRelease", func() {
osReleaseContent = "KAIROS_FLAVOR=opensuse\n" + osReleaseContent = "KAIROS_FLAVOR=opensuse\n" +
"KAIROS_FLAVOR_RELEASE=leap-15.5\n" + "KAIROS_FLAVOR_RELEASE=leap-15.5\n" +
"KAIROS_VARIANT=standard\n" + "KAIROS_VARIANT=standard\n" +
"KAIROS_FAMILY=opensuse\n" +
"KAIROS_TARGETARCH=amd64\n" + "KAIROS_TARGETARCH=amd64\n" +
"KAIROS_MODEL=generic\n" + "KAIROS_MODEL=generic\n" +
"KAIROS_RELEASE=v2.4.2\n" + "KAIROS_RELEASE=v2.4.2\n" +
@ -39,6 +40,7 @@ var _ = Describe("NewArtifactFromOSRelease", func() {
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
Expect(artifact.Flavor).To(Equal("opensuse")) Expect(artifact.Flavor).To(Equal("opensuse"))
Expect(artifact.Family).To(Equal("opensuse"))
Expect(artifact.FlavorRelease).To(Equal("leap-15.5")) Expect(artifact.FlavorRelease).To(Equal("leap-15.5"))
Expect(artifact.Variant).To(Equal("standard")) Expect(artifact.Variant).To(Equal("standard"))
Expect(artifact.Model).To(Equal("generic")) Expect(artifact.Model).To(Equal("generic"))

View File

@ -26,10 +26,12 @@ const (
EnvVarGithubRepo = "GITHUB_REPO" EnvVarGithubRepo = "GITHUB_REPO"
EnvVarBugReportURL = "BUG_REPORT_URL" EnvVarBugReportURL = "BUG_REPORT_URL"
EnvVarHomeURL = "HOME_URL" EnvVarHomeURL = "HOME_URL"
EnvVarFamily = "FAMILY"
) )
type Artifact struct { type Artifact struct {
Flavor string Flavor string
Family string
FlavorRelease string FlavorRelease string
Variant string Variant string
Model string Model string
@ -59,6 +61,9 @@ func NewArtifactFromOSRelease(file ...string) (*Artifact, error) {
if result.Flavor, err = utils.OSRelease(EnvVarFlavor, file...); err != nil { if result.Flavor, err = utils.OSRelease(EnvVarFlavor, file...); err != nil {
return nil, err return nil, err
} }
if result.Family, err = utils.OSRelease(EnvVarFamily, file...); err != nil {
return nil, err
}
if result.FlavorRelease, err = utils.OSRelease(EnvVarFlavorRelease, file...); err != nil { if result.FlavorRelease, err = utils.OSRelease(EnvVarFlavorRelease, file...); err != nil {
return nil, err return nil, err
} }
@ -238,6 +243,7 @@ func (a *Artifact) OSReleaseVariables(registryAndOrg, githubRepo, bugURL, homeUR
// Actively used variables // Actively used variables
"KAIROS_FLAVOR": a.Flavor, "KAIROS_FLAVOR": a.Flavor,
"KAIROS_FLAVOR_RELEASE": a.FlavorRelease, "KAIROS_FLAVOR_RELEASE": a.FlavorRelease,
"KAIROS_FAMILY": a.Family,
"KAIROS_VARIANT": a.Variant, "KAIROS_VARIANT": a.Variant,
"KAIROS_MODEL": a.Model, "KAIROS_MODEL": a.Model,
"KAIROS_TARGETARCH": a.Arch, "KAIROS_TARGETARCH": a.Arch,