Skip to content

Commit

Permalink
cleanup(pkg): store kernelversion inside the kernelrelease type.
Browse files Browse the repository at this point in the history
It is only used by ubuntu; avoid directly calling `viper.GetString()`.

Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
  • Loading branch information
FedeDP authored and poiana committed Nov 8, 2023
1 parent 44b8b59 commit 344fd25
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
1 change: 1 addition & 0 deletions pkg/driverbuilder/builder/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ type Build struct {
func (b *Build) KernelReleaseFromBuildConfig() kernelrelease.KernelRelease {
kv := kernelrelease.FromString(b.KernelRelease)
kv.Architecture = kernelrelease.Architecture(b.Architecture)
kv.KernelVersion = b.KernelVersion
return kv
}

Expand Down
20 changes: 9 additions & 11 deletions pkg/driverbuilder/builder/ubuntu.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ import (
"regexp"
"strings"

"github.com/spf13/viper"

"github.com/falcosecurity/driverkit/pkg/kernelrelease"
)

Expand Down Expand Up @@ -58,7 +56,7 @@ func (v *ubuntu) TemplateScript() string {
}

func (v *ubuntu) URLs(kr kernelrelease.KernelRelease) ([]string, error) {
return ubuntuHeadersURLFromRelease(kr, viper.GetString("kernelversion"))
return ubuntuHeadersURLFromRelease(kr)
}

func (v *ubuntu) MinimumURLs() int {
Expand Down Expand Up @@ -88,7 +86,7 @@ func (v *ubuntu) TemplateData(c Config, kr kernelrelease.KernelRelease, urls []s
}
}

func ubuntuHeadersURLFromRelease(kr kernelrelease.KernelRelease, kv string) ([]string, error) {
func ubuntuHeadersURLFromRelease(kr kernelrelease.KernelRelease) ([]string, error) {
// decide which mirrors to use based on the architecture passed in
baseURLs := []string{}
if kr.Architecture.String() == kernelrelease.ArchitectureAmd64 {
Expand All @@ -106,7 +104,7 @@ func ubuntuHeadersURLFromRelease(kr kernelrelease.KernelRelease, kv string) ([]s

for _, url := range baseURLs {
// get all possible URLs
possibleURLs, err := fetchUbuntuKernelURL(url, kr, kv)
possibleURLs, err := fetchUbuntuKernelURL(url, kr)
if err != nil {
return nil, err
}
Expand All @@ -122,7 +120,7 @@ func ubuntuHeadersURLFromRelease(kr kernelrelease.KernelRelease, kv string) ([]s
return nil, fmt.Errorf("kernel headers not found")
}

func fetchUbuntuKernelURL(baseURL string, kr kernelrelease.KernelRelease, kernelVersion string) ([]string, error) {
func fetchUbuntuKernelURL(baseURL string, kr kernelrelease.KernelRelease) ([]string, error) {
// parse the extra number and flavor for the kernelrelease extraversion
firstExtra, ubuntuFlavor := parseUbuntuExtraVersion(kr.Extraversion)

Expand Down Expand Up @@ -156,7 +154,7 @@ func fetchUbuntuKernelURL(baseURL string, kr kernelrelease.KernelRelease, kernel
kr.FullExtraversion,
kr.Fullversion,
firstExtra,
kernelVersion,
kr.KernelVersion,
kr.Architecture.String(),
),
fmt.Sprintf(
Expand All @@ -166,7 +164,7 @@ func fetchUbuntuKernelURL(baseURL string, kr kernelrelease.KernelRelease, kernel
ubuntuFlavor,
kr.Fullversion,
firstExtra,
kernelVersion,
kr.KernelVersion,
kr.Architecture.String(),
),
fmt.Sprintf(
Expand All @@ -176,15 +174,15 @@ func fetchUbuntuKernelURL(baseURL string, kr kernelrelease.KernelRelease, kernel
firstExtra,
kr.Fullversion,
firstExtra,
kernelVersion,
kr.KernelVersion,
),
fmt.Sprintf(
"linux-headers-%s%s_%s-%s.%s_%s.deb",
kr.Fullversion,
kr.FullExtraversion,
kr.Fullversion,
firstExtra,
kernelVersion,
kr.KernelVersion,
kr.Architecture.String(),
),
}
Expand All @@ -197,7 +195,7 @@ func fetchUbuntuKernelURL(baseURL string, kr kernelrelease.KernelRelease, kernel
firstExtra,
kr.Fullversion,
firstExtra,
kernelVersion,
kr.KernelVersion,
))
}

Expand Down
1 change: 1 addition & 0 deletions pkg/kernelrelease/kernelrelease.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ type KernelRelease struct {
Extraversion string
FullExtraversion string
Architecture Architecture
KernelVersion string
}

// FromString extracts a KernelRelease object from string.
Expand Down

0 comments on commit 344fd25

Please sign in to comment.