compare arch to detect packages switched from/to any/x86-64

This commit is contained in:
2022-01-17 13:34:06 +01:00
parent 80fa39125d
commit 2dfdac8468
2 changed files with 13 additions and 9 deletions

View File

@@ -289,14 +289,6 @@ func (b *BuildManager) parseWorker() {
if !pkg.isAvailable(alpmHandle) { if !pkg.isAvailable(alpmHandle) {
log.Debugf("[%s/%s] Not available on mirror, skipping build", pkg.FullRepo, pkg.Pkgbase) log.Debugf("[%s/%s] Not available on mirror, skipping build", pkg.FullRepo, pkg.Pkgbase)
pkg.toDbPackage(false)
if pkg.DbPackage != nil {
err := pkg.DbPackage.Update().SetStatus(dbpackage.StatusSkipped).SetSkipReason("package not present on mirror").Exec(context.Background())
if err != nil {
log.Warningf("Error updating package %s: %v", pkg.Pkgbase, err)
}
}
b.parseWG.Done() b.parseWG.Done()
continue continue
} }

View File

@@ -58,6 +58,7 @@ type BuildPackage struct {
Pkgbase string Pkgbase string
Pkgbuild string Pkgbuild string
Srcinfo *srcinfo.Srcinfo Srcinfo *srcinfo.Srcinfo
Arch string
PkgFiles []string PkgFiles []string
Repo dbpackage.Repository Repo dbpackage.Repository
March string March string
@@ -177,6 +178,12 @@ func (path Package) Version() string {
return strings.Join(fNameSplit[len(fNameSplit)-3:len(fNameSplit)-1], "-") return strings.Join(fNameSplit[len(fNameSplit)-3:len(fNameSplit)-1], "-")
} }
func (path Package) Arch() string {
fNameSplit := strings.Split(filepath.Base(string(path)), "-")
fNameSplit = strings.Split(fNameSplit[len(fNameSplit)-1], ".")
return fNameSplit[0]
}
func statusId2string(s dbpackage.Status) string { func statusId2string(s dbpackage.Status) string {
switch s { switch s {
case dbpackage.StatusSkipped: case dbpackage.StatusSkipped:
@@ -579,6 +586,10 @@ func (p *BuildPackage) isAvailable(h *alpm.Handle) bool {
return false return false
} }
if p.Srcinfo != nil && p.Srcinfo.Arch[0] != pkg.Architecture() {
return false
}
return true return true
} }
@@ -792,6 +803,7 @@ func housekeeping(repo string, wg *sync.WaitGroup) error {
FullRepo: mPackage.FullRepo(), FullRepo: mPackage.FullRepo(),
DbPackage: dbPkg, DbPackage: dbPkg,
March: mPackage.MArch(), March: mPackage.MArch(),
Arch: mPackage.Arch(),
} }
var upstream string var upstream string
@@ -811,7 +823,7 @@ func housekeeping(repo string, wg *sync.WaitGroup) error {
buildManager.alpmMutex.Lock() buildManager.alpmMutex.Lock()
pkgResolved, err := dbs.FindSatisfier(dbPkg.Packages[0]) pkgResolved, err := dbs.FindSatisfier(dbPkg.Packages[0])
buildManager.alpmMutex.Unlock() buildManager.alpmMutex.Unlock()
if err != nil || pkgResolved.DB().Name() != pkg.DbPackage.Repository.String() || pkgResolved.DB().Name() != pkg.Repo.String() { if err != nil || pkgResolved.DB().Name() != pkg.DbPackage.Repository.String() || pkgResolved.DB().Name() != pkg.Repo.String() || pkgResolved.Architecture() != pkg.Arch {
// package not found on mirror/db -> not part of any repo anymore // package not found on mirror/db -> not part of any repo anymore
log.Infof("[HK/%s/%s] not included in repo", pkg.FullRepo, pkg.Pkgbase) log.Infof("[HK/%s/%s] not included in repo", pkg.FullRepo, pkg.Pkgbase)
buildManager.repoPurge[pkg.FullRepo] <- []*BuildPackage{pkg} buildManager.repoPurge[pkg.FullRepo] <- []*BuildPackage{pkg}