compare arch to detect packages switched from/to any/x86-64
This commit is contained in:
8
main.go
8
main.go
@@ -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
|
||||||
}
|
}
|
||||||
|
14
utils.go
14
utils.go
@@ -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}
|
||||||
|
Reference in New Issue
Block a user