forked from ALHP/ALHP.GO
skip packages with a multiple PKGBUILD-dependency
This commit is contained in:
11
main.go
11
main.go
@@ -269,7 +269,18 @@ func (b *BuildManager) parseWorker() {
|
|||||||
|
|
||||||
isLatest, local, syncVersion, err := isMirrorLatest(alpmHandle, pkg)
|
isLatest, local, syncVersion, err := isMirrorLatest(alpmHandle, pkg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
switch err.(type) {
|
||||||
|
default:
|
||||||
log.Warningf("[%s/%s] Problem solving dependencies: %v", pkg.FullRepo, info.Pkgbase, err)
|
log.Warningf("[%s/%s] Problem solving dependencies: %v", pkg.FullRepo, info.Pkgbase, err)
|
||||||
|
case MultiplePKGBUILDError:
|
||||||
|
log.Debugf("Skipped %s: Multiple PKGBUILDs for dependency found: %v", info.Pkgbase, err)
|
||||||
|
dbLock.Lock()
|
||||||
|
dbPkg = dbPkg.Update().SetStatus(SKIPPED).SetSkipReason("multiple PKGBUILD for dep. found").SaveX(context.Background())
|
||||||
|
dbLock.Unlock()
|
||||||
|
b.repoPurge[pkg.FullRepo] <- pkg
|
||||||
|
b.parseWG.Done()
|
||||||
|
continue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dbLock.Lock()
|
dbLock.Lock()
|
||||||
|
6
utils.go
6
utils.go
@@ -87,6 +87,10 @@ type Conf struct {
|
|||||||
|
|
||||||
type Globs []string
|
type Globs []string
|
||||||
|
|
||||||
|
type MultiplePKGBUILDError struct {
|
||||||
|
error
|
||||||
|
}
|
||||||
|
|
||||||
func check(e error) {
|
func check(e error) {
|
||||||
if e != nil {
|
if e != nil {
|
||||||
panic(e)
|
panic(e)
|
||||||
@@ -283,7 +287,7 @@ func getSVN2GITVersion(pkg *BuildPackage) (string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(fPkgbuilds) > 1 {
|
if len(fPkgbuilds) > 1 {
|
||||||
return "", fmt.Errorf("%s: multiple PKGBUILD found: %s", pkg.Pkgbase, fPkgbuilds)
|
return "", MultiplePKGBUILDError{fmt.Errorf("%s: multiple PKGBUILD found: %s", pkg.Pkgbase, fPkgbuilds)}
|
||||||
} else if len(fPkgbuilds) == 0 {
|
} else if len(fPkgbuilds) == 0 {
|
||||||
return "", fmt.Errorf("%s: no matching PKGBUILD found (searched: %s, canidates: %s)", pkg.Pkgbase, filepath.Join(conf.Basedir.Upstream, "**/"+pkg.Pkgbase+"/repos/*/PKGBUILD"), pkgBuilds)
|
return "", fmt.Errorf("%s: no matching PKGBUILD found (searched: %s, canidates: %s)", pkg.Pkgbase, filepath.Join(conf.Basedir.Upstream, "**/"+pkg.Pkgbase+"/repos/*/PKGBUILD"), pkgBuilds)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user