Skip SRCINFOs that cannot be parsed during gendb

Install will still abort if a SRCINFO cannot be parsed.
This commit is contained in:
Peter Dyer 2018-04-02 19:16:49 +01:00
parent f986895aa2
commit 4400ebc31e
2 changed files with 22 additions and 3 deletions

View file

@ -72,7 +72,6 @@ func install(parser *arguments) error {
parser.targets.set(name)
}
requestTargets = parser.targets.toSlice()
if len(dt.Missing) > 0 {
@ -493,6 +492,23 @@ func parseSRCINFOFiles(pkgs []*rpc.Pkg, srcinfos map[string]*gopkg.PKGBUILD, bas
return nil
}
func tryParsesrcinfosFile(pkgs []*rpc.Pkg, srcinfos map[string]*gopkg.PKGBUILD, bases map[string][]*rpc.Pkg) {
for k, pkg := range pkgs {
dir := config.BuildDir + pkg.PackageBase + "/"
str := bold(cyan("::") + " Parsing SRCINFO (%d/%d): %s\n")
fmt.Printf(str, k+1, len(pkgs), formatPkgbase(pkg, bases))
pkgbuild, err := gopkg.ParseSRCINFO(dir + ".SRCINFO")
if err != nil {
fmt.Printf("cannot parse %s skipping: %s\n", pkg.Name, err)
continue
}
srcinfos[pkg.PackageBase] = pkgbuild
}
}
func parseSRCINFOGenerate(pkgs []*rpc.Pkg, srcinfos map[string]*gopkg.PKGBUILD, bases map[string][]*rpc.Pkg) error {
for k, pkg := range pkgs {
dir := config.BuildDir + pkg.PackageBase + "/"

7
vcs.go
View file

@ -44,10 +44,13 @@ func createDevelDB() error {
bases := getBases(infoMap)
downloadPkgBuilds(info, sliceToStringSet(remoteNames), bases)
err = parseSRCINFOFiles(info, srcinfosStale, bases)
tryParsesrcinfosFile(info, srcinfosStale, bases)
for _, pkg := range info {
pkgbuild := srcinfosStale[pkg.PackageBase]
pkgbuild, ok := srcinfosStale[pkg.PackageBase]
if !ok {
continue
}
for _, pkg := range bases[pkg.PackageBase] {
updateVCSData(pkg.Name, pkgbuild.Source)