Skip to content

Commit

Permalink
fix(pkg/driver): do not call FixupKernel when building drivers.
Browse files Browse the repository at this point in the history
It is indeed only useful to fixup the download url for given distro.

Signed-off-by: Federico Di Pierro <[email protected]>
  • Loading branch information
FedeDP committed Dec 12, 2023
1 parent 2b56ef4 commit e04360b
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 3 deletions.
2 changes: 1 addition & 1 deletion pkg/driver/distro/distro.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ func Build(ctx context.Context,
if err != nil {
return "", err
}
path, err := driverType.Build(ctx, printer, d.FixupKernel(kr), driverName, driverVer, env)
path, err := driverType.Build(ctx, printer, kr, driverName, driverVer, env)
if err != nil {
return "", err
}
Expand Down
8 changes: 6 additions & 2 deletions pkg/driver/distro/flatcar.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ func (f *flatcar) init(kr kernelrelease.KernelRelease, id string, cfg *ini.File)
func (f *flatcar) FixupKernel(kr kernelrelease.KernelRelease) kernelrelease.KernelRelease {
kr.Version = semver.MustParse(f.versionID)
kr.Fullversion = kr.Version.String()
return kr
kr.FullExtraversion = ""
return f.generic.FixupKernel(kr)
}

//nolint:gocritic // the method shall not be able to modify kr
Expand All @@ -93,6 +94,9 @@ func (f *flatcar) customizeBuild(ctx context.Context,
return nil, nil
}
printer.Logger.Info("Flatcar detected; relocating kernel tools.", printer.Logger.Args("version", f.versionID))
_, err := exec.CommandContext(ctx, "/bin/bash", "-c", flatcarRelocateScript).Output()
out, err := exec.CommandContext(ctx, "/bin/bash", "-c", flatcarRelocateScript).Output()
if err != nil {
printer.DefaultText.Print(string(out))
}
return nil, err
}
31 changes: 31 additions & 0 deletions pkg/driver/distro/flatcar_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,34 @@ func TestDistroFlatcarInitFixup(t *testing.T) {
}
}
}

func TestDistroFlatcarFixup(t *testing.T) {
type testCase struct {
krInput string
kvInput string
krExpected string
kvExpected string
}
testCases := []testCase{
{
krInput: "6.1.62-flatcar",
kvInput: "#1 SMP PREEMPT_DYNAMIC Mon Nov 20 22:57:52 -00 2023",
krExpected: "3794.0.0",
kvExpected: "1",
},
{
krInput: "6.1.62-flatcar",
kvInput: "#27 SMP PREEMPT_DYNAMIC Mon Nov 20 22:57:52 -00 2023",
krExpected: "3794.0.0",
kvExpected: "27",
},
}
for _, tCase := range testCases {
flat := &flatcar{generic: &generic{}, versionID: "3794.0.0"}
kr := kernelrelease.FromString(tCase.krInput)
kr.KernelVersion = tCase.kvInput
fixedKr := flat.FixupKernel(kr)
assert.Equal(t, tCase.krExpected, fixedKr.String())
assert.Equal(t, tCase.kvExpected, fixedKr.KernelVersion)
}
}

0 comments on commit e04360b

Please sign in to comment.