소스 검색

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)