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",
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 {
@ -165,7 +172,7 @@ func CliCommands() []*cli.Command {
Flags: []cli.Flag{
flavorFlag, flavorReleaseFlag, variantFlag, modelFlag, archFlag, versionFlag,
softwareVersionFlag, softwareVersionPrefixFlag, registryAndOrgFlag, bugReportURLFlag, projectHomeURLFlag,
githubRepoFlag,
githubRepoFlag, familyFlag,
},
Action: func(cCtx *cli.Context) error {
a := artifactFromFlags(cCtx)
@ -190,6 +197,7 @@ func CliCommands() []*cli.Command {
func artifactFromFlags(cCtx *cli.Context) Artifact {
return Artifact{
Flavor: flavorFlag.Get(cCtx),
Family: familyFlag.Get(cCtx),
FlavorRelease: flavorReleaseFlag.Get(cCtx),
Variant: variantFlag.Get(cCtx),
Model: modelFlag.Get(cCtx),

View File

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

View File

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

View File

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