refactor: move cache-related functions
This commit is contained in:
parent
0fd9d80940
commit
f8f3424e1e
10
debian.go
10
debian.go
@ -16,16 +16,12 @@ type DebianCacheCmd struct {
|
||||
}
|
||||
|
||||
func (cmd *DebianCacheCmd) Run() (err error) {
|
||||
c, err := debian.NewCache(cmd.Path)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("cache")
|
||||
return
|
||||
}
|
||||
defer c.Close()
|
||||
debian.CachePath = cmd.Path
|
||||
debian.RefetchDays = cmd.Refetch
|
||||
|
||||
log.Info().Msg("Fetching kernels...")
|
||||
|
||||
_, err = debian.GetKernels(c, cmd.Refetch)
|
||||
_, err = debian.GetKernels()
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("")
|
||||
return
|
||||
|
@ -9,10 +9,8 @@ import (
|
||||
|
||||
"github.com/rs/zerolog/log"
|
||||
|
||||
"code.dumpstack.io/tools/out-of-tree/cache"
|
||||
"code.dumpstack.io/tools/out-of-tree/config"
|
||||
"code.dumpstack.io/tools/out-of-tree/container"
|
||||
"code.dumpstack.io/tools/out-of-tree/fs"
|
||||
)
|
||||
|
||||
type Release int
|
||||
@ -148,36 +146,8 @@ func kernelRelease(deb string) (r Release, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
var (
|
||||
CachePath string
|
||||
RefetchDays int = 7
|
||||
)
|
||||
|
||||
func MatchImagePkg(km config.KernelMask) (pkgs []string, err error) {
|
||||
if CachePath == "" {
|
||||
CachePath = config.File("debian.cache")
|
||||
log.Debug().Msgf("Use default kernels cache path: %s", CachePath)
|
||||
|
||||
if !fs.PathExists(CachePath) {
|
||||
log.Debug().Msgf("No cache, download")
|
||||
err = cache.DownloadDebianCache(CachePath)
|
||||
if err != nil {
|
||||
log.Debug().Err(err).Msg(
|
||||
"No remote cache, will take some time")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
log.Debug().Msgf("Debian kernels cache path: %s", CachePath)
|
||||
}
|
||||
|
||||
c, err := NewCache(CachePath)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("cache")
|
||||
return
|
||||
}
|
||||
defer c.Close()
|
||||
|
||||
kernels, err := GetKernels(c, RefetchDays)
|
||||
kernels, err := GetKernels()
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("get kernels")
|
||||
return
|
||||
|
@ -7,7 +7,10 @@ import (
|
||||
|
||||
"github.com/rs/zerolog/log"
|
||||
|
||||
"code.dumpstack.io/tools/out-of-tree/cache"
|
||||
"code.dumpstack.io/tools/out-of-tree/config"
|
||||
"code.dumpstack.io/tools/out-of-tree/distro/debian/snapshot"
|
||||
"code.dumpstack.io/tools/out-of-tree/fs"
|
||||
)
|
||||
|
||||
type DebianKernelVersion struct {
|
||||
@ -128,7 +131,35 @@ func GetCachedKernel(deb string) (dk DebianKernel, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func GetKernels(c *Cache, refetchDays int) (kernels []DebianKernel, err error) {
|
||||
var (
|
||||
CachePath string
|
||||
RefetchDays int = 7
|
||||
)
|
||||
|
||||
func GetKernels() (kernels []DebianKernel, err error) {
|
||||
if CachePath == "" {
|
||||
CachePath = config.File("debian.cache")
|
||||
log.Debug().Msgf("Use default kernels cache path: %s", CachePath)
|
||||
|
||||
if !fs.PathExists(CachePath) {
|
||||
log.Debug().Msgf("No cache, download")
|
||||
err = cache.DownloadDebianCache(CachePath)
|
||||
if err != nil {
|
||||
log.Debug().Err(err).Msg(
|
||||
"No remote cache, will take some time")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
log.Debug().Msgf("Debian kernels cache path: %s", CachePath)
|
||||
}
|
||||
|
||||
c, err := NewCache(CachePath)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("cache")
|
||||
return
|
||||
}
|
||||
defer c.Close()
|
||||
|
||||
versions, err := snapshot.SourcePackageVersions("linux")
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("get source package versions")
|
||||
@ -155,9 +186,9 @@ func GetKernels(c *Cache, refetchDays int) (kernels []DebianKernel, err error) {
|
||||
}
|
||||
|
||||
if dk.Internal.Invalid {
|
||||
refetch := dk.Internal.LastFetch.AddDate(0, 0, refetchDays)
|
||||
refetch := dk.Internal.LastFetch.AddDate(0, 0, RefetchDays)
|
||||
if refetch.After(time.Now()) {
|
||||
slog.Debug().Msgf("refetch at %v", refetchDays)
|
||||
slog.Debug().Msgf("refetch at %v", RefetchDays)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user