forked from ALHP/ALHP.GO
Compare commits
9 Commits
fix/PR_109
...
master
Author | SHA1 | Date | |
---|---|---|---|
47552c88d8 | |||
bb16bdcb61 | |||
bcea0e99cb | |||
f051709c4f | |||
3f30b9d6a1 | |||
65d6e7e135 | |||
dd118c5f97 | |||
ca85586118 | |||
78666f9899 |
14
main.go
14
main.go
@@ -218,6 +218,7 @@ func (b *BuildManager) repoWorker(repo string) {
|
|||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case pkgL := <-b.repoAdd[repo]:
|
case pkgL := <-b.repoAdd[repo]:
|
||||||
|
b.repoWG.Add(1)
|
||||||
toAdd := make([]string, 0)
|
toAdd := make([]string, 0)
|
||||||
for _, pkg := range pkgL {
|
for _, pkg := range pkgL {
|
||||||
toAdd = append(toAdd, pkg.PkgFiles...)
|
toAdd = append(toAdd, pkg.PkgFiles...)
|
||||||
@@ -263,6 +264,7 @@ func (b *BuildManager) repoWorker(repo string) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warningf("Error updating lastupdate: %v", err)
|
log.Warningf("Error updating lastupdate: %v", err)
|
||||||
}
|
}
|
||||||
|
b.repoWG.Done()
|
||||||
case pkgL := <-b.repoPurge[repo]:
|
case pkgL := <-b.repoPurge[repo]:
|
||||||
for _, pkg := range pkgL {
|
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 {
|
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
|
var realPkgs []string
|
||||||
for _, filePath := range pkg.PkgFiles {
|
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)
|
b.repoWG.Add(1)
|
||||||
@@ -293,7 +301,7 @@ func (b *BuildManager) repoWorker(repo string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if pkg.DbPackage != nil {
|
if pkg.DbPackage != nil {
|
||||||
_ = pkg.DbPackage.Update().ClearRepoVersion().Exec(context.Background())
|
_ = pkg.DbPackage.Update().ClearRepoVersion().ClearHash().Exec(context.Background())
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, file := range pkg.PkgFiles {
|
for _, file := range pkg.PkgFiles {
|
||||||
@@ -408,6 +416,8 @@ func (b *BuildManager) syncWorker(ctx context.Context) error {
|
|||||||
eligible, err := pkg.isEligible(ctx)
|
eligible, err := pkg.isEligible(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Infof("Unable to determine status for package %s: %v", pkg.Pkgbase, err)
|
log.Infof("Unable to determine status for package %s: %v", pkg.Pkgbase, err)
|
||||||
|
b.repoPurge[pkg.FullRepo] <- []*ProtoPackage{pkg}
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
if !eligible {
|
if !eligible {
|
||||||
log.Debugf("skipped package %s (%v)", pkg.Pkgbase, err)
|
log.Debugf("skipped package %s (%v)", pkg.Pkgbase, err)
|
||||||
|
@@ -698,9 +698,19 @@ func (p *ProtoPackage) findPkgFiles() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if p.DbPackage == nil && p.Srcinfo == nil {
|
||||||
|
return fmt.Errorf("unable to find pkgfiles without dbpkg or srcinfo present")
|
||||||
|
}
|
||||||
|
|
||||||
var realPkgs []string
|
var realPkgs []string
|
||||||
for _, realPkg := range p.DbPackage.Packages {
|
if p.DbPackage != nil {
|
||||||
realPkgs = append(realPkgs, realPkg)
|
for _, realPkg := range p.DbPackage.Packages {
|
||||||
|
realPkgs = append(realPkgs, realPkg)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for _, realPkg := range p.Srcinfo.Packages {
|
||||||
|
realPkgs = append(realPkgs, realPkg.Pkgname)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var fPkg []string
|
var fPkg []string
|
||||||
|
19
utils.go
19
utils.go
@@ -256,12 +256,13 @@ func genQueue(path string) ([]*ProtoPackage, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pkgbuilds = append(pkgbuilds, &ProtoPackage{
|
pkgbuilds = append(pkgbuilds, &ProtoPackage{
|
||||||
Pkgbuild: pkgbuild,
|
Pkgbuild: pkgbuild,
|
||||||
Pkgbase: mPkgbuild.PkgBase(),
|
Pkgbase: mPkgbuild.PkgBase(),
|
||||||
Repo: dbpackage.Repository(mPkgbuild.Repo()),
|
Repo: dbpackage.Repository(mPkgbuild.Repo()),
|
||||||
March: march,
|
March: march,
|
||||||
FullRepo: mPkgbuild.Repo() + "-" + march,
|
FullRepo: mPkgbuild.Repo() + "-" + march,
|
||||||
Hash: b3s,
|
Hash: b3s,
|
||||||
|
DbPackage: dbPkg,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -587,6 +588,12 @@ func housekeeping(repo string, march string, wg *sync.WaitGroup) error {
|
|||||||
}
|
}
|
||||||
buildManager.repoPurge[fullRepo] <- []*ProtoPackage{pkg}
|
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