Use downloadPkgbuilds for -G

This commit is contained in:
morganamilo 2018-08-18 00:16:04 +01:00
parent a37bbd851e
commit cba56c3f9e
No known key found for this signature in database
GPG key ID: 6FE9E7996B0B082E
3 changed files with 14 additions and 49 deletions

View file

@ -135,8 +135,11 @@ func getPkgbuilds(pkgs []string) error {
}
pkgs = removeInvalidTargets(pkgs)
aur, repo, err := packageSlices(pkgs)
info, err := aurInfoPrint(aur)
if err != nil {
return err
}
if len(repo) > 0 {
missing, err = getPkgbuildsfromABS(repo, wd)
@ -146,11 +149,13 @@ func getPkgbuilds(pkgs []string) error {
}
if len(aur) > 0 {
_missing, err := getPkgbuildsfromAUR(aur, wd)
if err != nil {
bases := getBases(info)
toSkip := pkgbuildsToSkip(bases, nil)
if _, err = downloadPkgbuilds(bases, toSkip, wd); err != nil {
return err
}
missing = missing || _missing
missing = missing || len(aur) != len(info)
}
if missing {
@ -225,43 +230,3 @@ nextPkg:
return
}
// GetPkgbuild downloads pkgbuild from the AUR.
func getPkgbuildsfromAUR(pkgs []string, dir string) (bool, error) {
missing := false
strippedPkgs := make([]string, 0)
for _, pkg := range pkgs {
_, name := splitDbFromName(pkg)
strippedPkgs = append(strippedPkgs, name)
}
aq, err := aurInfoPrint(strippedPkgs)
if err != nil {
return missing, err
}
for _, pkg := range aq {
if _, err := os.Stat(filepath.Join(dir, pkg.PackageBase)); err == nil {
fmt.Println(bold(red(arrow)), bold(cyan(pkg.Name)), "directory already exists")
continue
}
if shouldUseGit(filepath.Join(dir, pkg.PackageBase)) {
_, err = gitDownload(baseURL+"/"+pkg.PackageBase+".git", dir, pkg.PackageBase)
} else {
err = downloadAndUnpack(baseURL+aq[0].URLPath, dir)
}
if err != nil {
fmt.Println(err)
} else {
fmt.Println(bold(yellow(arrow)), "Downloaded", cyan(pkg.PackageBase), "from AUR")
}
}
if len(aq) != len(pkgs) {
missing = true
}
return missing, err
}

View file

@ -185,7 +185,7 @@ func install(parser *arguments) error {
}
toSkip := pkgbuildsToSkip(do.Aur, targets)
cloned, err := downloadPkgbuilds(do.Aur, toSkip)
cloned, err := downloadPkgbuilds(do.Aur, toSkip, config.BuildDir)
if err != nil {
return err
}
@ -809,7 +809,7 @@ func mergePkgbuilds(bases []Base) error {
return nil
}
func downloadPkgbuilds(bases []Base, toSkip stringSet) (stringSet, error) {
func downloadPkgbuilds(bases []Base, toSkip stringSet, buildDir string) (stringSet, error) {
cloned := make(stringSet)
downloaded := 0
var wg sync.WaitGroup
@ -830,7 +830,7 @@ func downloadPkgbuilds(bases []Base, toSkip stringSet) (stringSet, error) {
}
if shouldUseGit(filepath.Join(config.BuildDir, pkg)) {
clone, err := gitDownload(baseURL+"/"+pkg+".git", config.BuildDir, pkg)
clone, err := gitDownload(baseURL+"/"+pkg+".git", buildDir, pkg)
if err != nil {
errs.Add(err)
return
@ -841,7 +841,7 @@ func downloadPkgbuilds(bases []Base, toSkip stringSet) (stringSet, error) {
mux.Unlock()
}
} else {
err := downloadAndUnpack(baseURL+base.URLPath(), config.BuildDir)
err := downloadAndUnpack(baseURL+base.URLPath(), buildDir)
if err != nil {
errs.Add(err)
return

2
vcs.go
View file

@ -38,7 +38,7 @@ func createDevelDB() error {
bases := getBases(info)
toSkip := pkgbuildsToSkip(bases, sliceToStringSet(remoteNames))
downloadPkgbuilds(bases, toSkip)
downloadPkgbuilds(bases, toSkip, config.BuildDir)
srcinfos, _ := parseSrcinfoFiles(bases, false)
for _, pkgbuild := range srcinfos {