mirror of
https://github.com/Jguer/yay
synced 2024-09-14 13:51:12 +00:00
Use downloadPkgbuilds for -G
This commit is contained in:
parent
a37bbd851e
commit
cba56c3f9e
53
download.go
53
download.go
|
@ -135,8 +135,11 @@ func getPkgbuilds(pkgs []string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgs = removeInvalidTargets(pkgs)
|
pkgs = removeInvalidTargets(pkgs)
|
||||||
|
|
||||||
aur, repo, err := packageSlices(pkgs)
|
aur, repo, err := packageSlices(pkgs)
|
||||||
|
info, err := aurInfoPrint(aur)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
if len(repo) > 0 {
|
if len(repo) > 0 {
|
||||||
missing, err = getPkgbuildsfromABS(repo, wd)
|
missing, err = getPkgbuildsfromABS(repo, wd)
|
||||||
|
@ -146,11 +149,13 @@ func getPkgbuilds(pkgs []string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(aur) > 0 {
|
if len(aur) > 0 {
|
||||||
_missing, err := getPkgbuildsfromAUR(aur, wd)
|
bases := getBases(info)
|
||||||
if err != nil {
|
toSkip := pkgbuildsToSkip(bases, nil)
|
||||||
|
if _, err = downloadPkgbuilds(bases, toSkip, wd); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
missing = missing || _missing
|
|
||||||
|
missing = missing || len(aur) != len(info)
|
||||||
}
|
}
|
||||||
|
|
||||||
if missing {
|
if missing {
|
||||||
|
@ -225,43 +230,3 @@ nextPkg:
|
||||||
|
|
||||||
return
|
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
|
|
||||||
}
|
|
||||||
|
|
|
@ -185,7 +185,7 @@ func install(parser *arguments) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
toSkip := pkgbuildsToSkip(do.Aur, targets)
|
toSkip := pkgbuildsToSkip(do.Aur, targets)
|
||||||
cloned, err := downloadPkgbuilds(do.Aur, toSkip)
|
cloned, err := downloadPkgbuilds(do.Aur, toSkip, config.BuildDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -809,7 +809,7 @@ func mergePkgbuilds(bases []Base) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func downloadPkgbuilds(bases []Base, toSkip stringSet) (stringSet, error) {
|
func downloadPkgbuilds(bases []Base, toSkip stringSet, buildDir string) (stringSet, error) {
|
||||||
cloned := make(stringSet)
|
cloned := make(stringSet)
|
||||||
downloaded := 0
|
downloaded := 0
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
@ -830,7 +830,7 @@ func downloadPkgbuilds(bases []Base, toSkip stringSet) (stringSet, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if shouldUseGit(filepath.Join(config.BuildDir, pkg)) {
|
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 {
|
if err != nil {
|
||||||
errs.Add(err)
|
errs.Add(err)
|
||||||
return
|
return
|
||||||
|
@ -841,7 +841,7 @@ func downloadPkgbuilds(bases []Base, toSkip stringSet) (stringSet, error) {
|
||||||
mux.Unlock()
|
mux.Unlock()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
err := downloadAndUnpack(baseURL+base.URLPath(), config.BuildDir)
|
err := downloadAndUnpack(baseURL+base.URLPath(), buildDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs.Add(err)
|
errs.Add(err)
|
||||||
return
|
return
|
||||||
|
|
2
vcs.go
2
vcs.go
|
@ -38,7 +38,7 @@ func createDevelDB() error {
|
||||||
|
|
||||||
bases := getBases(info)
|
bases := getBases(info)
|
||||||
toSkip := pkgbuildsToSkip(bases, sliceToStringSet(remoteNames))
|
toSkip := pkgbuildsToSkip(bases, sliceToStringSet(remoteNames))
|
||||||
downloadPkgbuilds(bases, toSkip)
|
downloadPkgbuilds(bases, toSkip, config.BuildDir)
|
||||||
srcinfos, _ := parseSrcinfoFiles(bases, false)
|
srcinfos, _ := parseSrcinfoFiles(bases, false)
|
||||||
|
|
||||||
for _, pkgbuild := range srcinfos {
|
for _, pkgbuild := range srcinfos {
|
||||||
|
|
Loading…
Reference in a new issue