mirror of
https://github.com/Jguer/yay.git
synced 2025-10-04 00:03:11 -04:00
Skip SRCINFOs that cannot be parsed during gendb
Install will still abort if a SRCINFO cannot be parsed.
This commit is contained in:
parent
f986895aa2
commit
4400ebc31e
18
install.go
18
install.go
@ -72,7 +72,6 @@ func install(parser *arguments) error {
|
|||||||
parser.targets.set(name)
|
parser.targets.set(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
requestTargets = parser.targets.toSlice()
|
requestTargets = parser.targets.toSlice()
|
||||||
|
|
||||||
if len(dt.Missing) > 0 {
|
if len(dt.Missing) > 0 {
|
||||||
@ -493,6 +492,23 @@ func parseSRCINFOFiles(pkgs []*rpc.Pkg, srcinfos map[string]*gopkg.PKGBUILD, bas
|
|||||||
return nil
|
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 {
|
func parseSRCINFOGenerate(pkgs []*rpc.Pkg, srcinfos map[string]*gopkg.PKGBUILD, bases map[string][]*rpc.Pkg) error {
|
||||||
for k, pkg := range pkgs {
|
for k, pkg := range pkgs {
|
||||||
dir := config.BuildDir + pkg.PackageBase + "/"
|
dir := config.BuildDir + pkg.PackageBase + "/"
|
||||||
|
7
vcs.go
7
vcs.go
@ -44,10 +44,13 @@ func createDevelDB() error {
|
|||||||
bases := getBases(infoMap)
|
bases := getBases(infoMap)
|
||||||
|
|
||||||
downloadPkgBuilds(info, sliceToStringSet(remoteNames), bases)
|
downloadPkgBuilds(info, sliceToStringSet(remoteNames), bases)
|
||||||
err = parseSRCINFOFiles(info, srcinfosStale, bases)
|
tryParsesrcinfosFile(info, srcinfosStale, bases)
|
||||||
|
|
||||||
for _, pkg := range info {
|
for _, pkg := range info {
|
||||||
pkgbuild := srcinfosStale[pkg.PackageBase]
|
pkgbuild, ok := srcinfosStale[pkg.PackageBase]
|
||||||
|
if !ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
for _, pkg := range bases[pkg.PackageBase] {
|
for _, pkg := range bases[pkg.PackageBase] {
|
||||||
updateVCSData(pkg.Name, pkgbuild.Source)
|
updateVCSData(pkg.Name, pkgbuild.Source)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user