瀏覽代碼

Fix -G for non split packages and support multilib

A while ago the url to download a pkgbuild was using pkg.Name(), it was
latter changed to pkg.Base() to support split packages. It seems that
pkg.Base() does not work for non split packages for some reason.

So instead try pkg.Base() and if it is empty default to pkg.Name().

Also add support for downloading from multilib
morganamilo 7 年之前
父節點
當前提交
b58746d1ef
共有 1 個文件被更改,包括 9 次插入3 次删除
  1. 9 3
      download.go

+ 9 - 3
download.go

@@ -91,12 +91,18 @@ nextPkg:
 			pkg, err := db.PkgByName(pkgN)
 			if err == nil {
 				var url string
+				name := pkg.Base()
+				if name == "" {
+					name = pkg.Name()
+				}
+
 				if db.Name() == "core" || db.Name() == "extra" {
-					url = "https://projects.archlinux.org/svntogit/packages.git/snapshot/packages/" + pkg.Base() + ".tar.gz"
-				} else if db.Name() == "community" {
-					url = "https://projects.archlinux.org/svntogit/community.git/snapshot/community-packages/" + pkg.Base() + ".tar.gz"
+					url = "https://projects.archlinux.org/svntogit/packages.git/snapshot/packages/" + name + ".tar.gz"
+				} else if db.Name() == "community" || db.Name() == "multilib" {
+					url = "https://projects.archlinux.org/svntogit/community.git/snapshot/community-packages/" + name + ".tar.gz"
 				} else {
 					fmt.Println(pkgN + " not in standard repositories")
+					continue nextPkg
 				}
 
 				errD := downloadAndUnpack(url, path, true)