forked from ALHP/ALHP.GO
Compare commits
5 Commits
feat/addit
...
master
Author | SHA1 | Date | |
---|---|---|---|
47552c88d8 | |||
bb16bdcb61 | |||
bcea0e99cb | |||
f051709c4f | |||
3f30b9d6a1 |
13
main.go
13
main.go
@@ -218,6 +218,7 @@ func (b *BuildManager) repoWorker(repo string) {
|
||||
for {
|
||||
select {
|
||||
case pkgL := <-b.repoAdd[repo]:
|
||||
b.repoWG.Add(1)
|
||||
toAdd := make([]string, 0)
|
||||
for _, pkg := range pkgL {
|
||||
toAdd = append(toAdd, pkg.PkgFiles...)
|
||||
@@ -263,6 +264,7 @@ func (b *BuildManager) repoWorker(repo string) {
|
||||
if err != nil {
|
||||
log.Warningf("Error updating lastupdate: %v", err)
|
||||
}
|
||||
b.repoWG.Done()
|
||||
case pkgL := <-b.repoPurge[repo]:
|
||||
for _, pkg := range pkgL {
|
||||
if _, err := os.Stat(filepath.Join(conf.Basedir.Repo, pkg.FullRepo, "os", conf.Arch, pkg.FullRepo) + ".db.tar.xz"); err != nil {
|
||||
@@ -279,7 +281,13 @@ func (b *BuildManager) repoWorker(repo string) {
|
||||
|
||||
var realPkgs []string
|
||||
for _, filePath := range pkg.PkgFiles {
|
||||
realPkgs = append(realPkgs, Package(filePath).Name())
|
||||
if _, err := os.Stat(filePath); err == nil {
|
||||
realPkgs = append(realPkgs, Package(filePath).Name())
|
||||
}
|
||||
}
|
||||
|
||||
if len(realPkgs) == 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
b.repoWG.Add(1)
|
||||
@@ -293,7 +301,7 @@ func (b *BuildManager) repoWorker(repo string) {
|
||||
}
|
||||
|
||||
if pkg.DbPackage != nil {
|
||||
_ = pkg.DbPackage.Update().ClearRepoVersion().Exec(context.Background())
|
||||
_ = pkg.DbPackage.Update().ClearRepoVersion().ClearHash().Exec(context.Background())
|
||||
}
|
||||
|
||||
for _, file := range pkg.PkgFiles {
|
||||
@@ -413,7 +421,6 @@ func (b *BuildManager) syncWorker(ctx context.Context) error {
|
||||
}
|
||||
if !eligible {
|
||||
log.Debugf("skipped package %s (%v)", pkg.Pkgbase, err)
|
||||
b.repoPurge[pkg.FullRepo] <- []*ProtoPackage{pkg}
|
||||
continue
|
||||
}
|
||||
|
||||
|
6
utils.go
6
utils.go
@@ -588,6 +588,12 @@ func housekeeping(repo string, march string, wg *sync.WaitGroup) error {
|
||||
}
|
||||
buildManager.repoPurge[fullRepo] <- []*ProtoPackage{pkg}
|
||||
}
|
||||
} else if dbPkg.Status == dbpackage.StatusLatest && dbPkg.RepoVersion == "" {
|
||||
log.Infof("[HK] reseting missing package %s with no repo version", dbPkg.Pkgbase)
|
||||
err = dbPkg.Update().SetStatus(dbpackage.StatusQueued).ClearHash().ClearRepoVersion().Exec(context.Background())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user