|
@@ -399,20 +399,35 @@ func parsesrcinfosGenerate(pkgs []*rpc.Pkg, srcinfos map[string]*gopkg.PKGBUILD,
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
-func dowloadPkgBuilds(pkgs []*rpc.Pkg, bases map[string][]*rpc.Pkg) (err error) {
|
|
|
+func dowloadPkgBuilds(pkgs []*rpc.Pkg, bases map[string][]*rpc.Pkg) error {
|
|
|
for k, pkg := range pkgs {
|
|
|
- //todo make pretty
|
|
|
- str := bold(cyan("::") + " Downloading (%d/%d): %s\n")
|
|
|
+ if !config.ReDownload {
|
|
|
+ dir := config.BuildDir + pkg.PackageBase + "/.SRCINFO"
|
|
|
+ pkgbuild, err := gopkg.ParseSRCINFO(dir)
|
|
|
+
|
|
|
+ if err == nil {
|
|
|
+ version, err := gopkg.NewCompleteVersion(pkg.Version)
|
|
|
+ if err == nil {
|
|
|
+ if !version.Newer(pkgbuild.Version()) {
|
|
|
+ str := bold(cyan("::") + " PKGBUILD up to date, Skipping (%d/%d): %s\n")
|
|
|
+ fmt.Printf(str, k+1, len(pkgs), formatPkgbase(pkg, bases))
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ str := bold(cyan("::") + " Downloading PKGBUILD (%d/%d): %s\n")
|
|
|
|
|
|
fmt.Printf(str, k+1, len(pkgs), formatPkgbase(pkg, bases))
|
|
|
|
|
|
- err = downloadAndUnpack(baseURL+pkg.URLPath, config.BuildDir, false)
|
|
|
+ err := downloadAndUnpack(baseURL+pkg.URLPath, config.BuildDir, false)
|
|
|
if err != nil {
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return
|
|
|
+ return nil
|
|
|
}
|
|
|
|
|
|
func downloadPkgBuildsSources(pkgs []*rpc.Pkg, bases map[string][]*rpc.Pkg) (err error) {
|