diff --git a/main.go b/main.go index 588ac64..274ea28 100644 --- a/main.go +++ b/main.go @@ -412,6 +412,7 @@ func (b *BuildManager) repoWorker(repo string) { res, err = cmd.CombinedOutput() log.Debug(string(res)) check(err) + updateLastUpdated() b.buildWG.Done() case pkg := <-b.repoPurge[repo]: if _, err := os.Stat(filepath.Join(conf.Basedir.Repo, pkg.FullRepo, "os", conf.Arch, pkg.FullRepo) + ".db.tar.xz"); err != nil { @@ -448,6 +449,7 @@ func (b *BuildManager) repoWorker(repo string) { check(os.Remove(file)) check(os.Remove(file + ".sig")) } + updateLastUpdated() b.repoWG.Done() } } diff --git a/utils.go b/utils.go index 649e634..c99afb4 100644 --- a/utils.go +++ b/utils.go @@ -21,6 +21,7 @@ import ( "strconv" "strings" "sync" + "time" ) const ( @@ -28,6 +29,7 @@ const ( makepkgConf = "/usr/share/devtools/makepkg-x86_64.conf" logDir = "logs" pristineChroot = "root" + lastUpdate = "lastupdate" ) type BuildPackage struct { @@ -102,6 +104,10 @@ func check(e error) { } } +func updateLastUpdated() { + check(os.WriteFile(filepath.Join(conf.Basedir.Repo, lastUpdate), []byte(strconv.FormatInt(time.Now().Unix(), 10)), 0644)) +} + func b3sum(filePath string) (string, error) { file, err := os.Open(filePath) if err != nil {