Files
warewulf/internal/pkg/upgrade/util.go
2026-01-30 18:06:06 -05:00

44 lines
1021 B
Go

package upgrade
import (
"os"
"path/filepath"
"github.com/warewulf/warewulf/internal/pkg/config"
"github.com/warewulf/warewulf/internal/pkg/util"
"github.com/warewulf/warewulf/internal/pkg/wwlog"
)
func legacyKernelVersion(kernelName string) string {
wwlog.Debug("legacyKernelVersion(%v)", kernelName)
if kernelName == "" {
return ""
}
kernelVersion, err := os.ReadFile(legacyKernelVersionFile(kernelName))
if err != nil {
return ""
}
wwlog.Debug("legacyKernelVersion(%v) -> %v", kernelName, string(kernelVersion))
return string(kernelVersion)
}
func legacyKernelVersionFile(kernelName string) string {
if kernelName == "" {
return ""
}
if !util.ValidString("^[a-zA-Z0-9-._]+$", kernelName) {
return ""
}
return filepath.Join(legacyKernelImageDir(kernelName), "version")
}
func legacyKernelImageDir(name string) string {
return filepath.Join(legacyKernelImageTopDir(), name)
}
func legacyKernelImageTopDir() string {
return filepath.Join(config.Get().Paths.WWProvisiondir, "kernel")
}