morganamilo 6 gadi atpakaļ
vecāks
revīzija
895788e01b
12 mainītis faili ar 36 papildinājumiem un 39 dzēšanām
  1. 1 1
      cmd.go
  2. 4 4
      depPool.go
  3. 2 2
      download.go
  4. 1 1
      go.mod
  5. 2 0
      go.sum
  6. 2 7
      install.go
  7. 2 2
      print.go
  8. 4 7
      query.go
  9. 1 2
      upgrade.go
  10. 4 12
      vendor/github.com/jguer/go-alpm/db.go
  11. 12 0
      vendor/github.com/jguer/go-alpm/types.go
  12. 1 1
      vendor/modules.txt

+ 1 - 1
cmd.go

@@ -419,7 +419,7 @@ func syncList(parser *arguments) error {
 			} else {
 				fmt.Printf("%s %s %s", magenta("aur"), bold(name), bold(green("unknown-version")))
 
-				if _, err := localDB.Pkg(name); err == nil {
+				if localDB.Pkg(name) != nil {
 					fmt.Print(bold(blue(" [Installed]")))
 				}
 

+ 4 - 4
depPool.go

@@ -134,8 +134,8 @@ func (dp *depPool) ResolveTargets(pkgs []string) error {
 			//the user specified a db but there's no easy way to do
 			//it without making alpm_lists so don't bother for now
 			//db/group is probably a rare use case
-			group, err := dp.SyncDB.FindGroupPkgs(target.Name)
-			if err == nil {
+			group := dp.SyncDB.FindGroupPkgs(target.Name)
+			if !group.Empty() {
 				dp.Groups = append(dp.Groups, target.String())
 				group.ForEach(func(pkg alpm.Package) error {
 					dp.Explicit.set(pkg.Name())
@@ -207,7 +207,7 @@ func (dp *depPool) findProvides(pkgs stringSet) error {
 	}
 
 	for pkg := range pkgs {
-		if _, err := dp.LocalDB.Pkg(pkg); err == nil {
+		if dp.LocalDB.Pkg(pkg) != nil {
 			continue
 		}
 		wg.Add(1)
@@ -389,7 +389,7 @@ func (dp *depPool) findSatisfierAurCache(dep string) *rpc.Pkg {
 	seen := make(stringSet)
 	providers := makeProviders(depName)
 
-	if _, err := dp.LocalDB.Pkg(depName); err == nil {
+	if dp.LocalDB.Pkg(depName) != nil {
 		if pkg, ok := dp.AurCache[dep]; ok && pkgSatisfies(pkg.Name, pkg.Version, dep) {
 			return pkg
 		}

+ 2 - 2
download.go

@@ -216,11 +216,11 @@ func getPkgbuildsfromABS(pkgs []string, path string) (bool, error) {
 
 		if pkgDB != "" {
 			if db, err := alpmHandle.SyncDBByName(pkgDB); err == nil {
-				pkg, err = db.Pkg(name)
+				pkg  = db.Pkg(name)
 			}
 		} else {
 			dbList.ForEach(func(db alpm.DB) error {
-				if pkg, err = db.Pkg(name); err == nil {
+				if pkg = db.Pkg(name); pkg != nil {
 					return fmt.Errorf("")
 				}
 				return nil

+ 1 - 1
go.mod

@@ -3,6 +3,6 @@ module github.com/Jguer/yay/v9
 require (
 	github.com/Morganamilo/go-pacmanconf v0.0.0-20180910220353-9c5265e1b14f
 	github.com/Morganamilo/go-srcinfo v0.0.0-20180702014333-368edc79b2c5
-	github.com/jguer/go-alpm v0.0.0-20181021002825-676ad6bbf3c0
+	github.com/jguer/go-alpm v0.0.0-20190214204021-327c7630865b
 	github.com/mikkeloscar/aur v0.0.0-20181111113612-b71516da3ae9
 )

+ 2 - 0
go.sum

@@ -6,6 +6,8 @@ github.com/jguer/go-alpm v0.0.0-20180914002751-643c287316a5 h1:JPIXUHXLZYwYUTlGp
 github.com/jguer/go-alpm v0.0.0-20180914002751-643c287316a5/go.mod h1:1F60/e8oQFVJrZRH0TBqwtiB5ajJ5avOc4MoGRY9CFU=
 github.com/jguer/go-alpm v0.0.0-20181021002825-676ad6bbf3c0 h1:MtH4SM1pw+23QhMERYK38DyGNqf6F3zUhxeKmQhuHC0=
 github.com/jguer/go-alpm v0.0.0-20181021002825-676ad6bbf3c0/go.mod h1:1F60/e8oQFVJrZRH0TBqwtiB5ajJ5avOc4MoGRY9CFU=
+github.com/jguer/go-alpm v0.0.0-20190214204021-327c7630865b h1:lQICb6Gw0HDAZlAGdveIp/zww2TVBwQvOM5VtAMpulc=
+github.com/jguer/go-alpm v0.0.0-20190214204021-327c7630865b/go.mod h1:1F60/e8oQFVJrZRH0TBqwtiB5ajJ5avOc4MoGRY9CFU=
 github.com/mikkeloscar/aur v0.0.0-20180725140122-f998dbf94dc4 h1:qgHSZbD0g3W7KAkZFzXlSqgriYnzEUFS1gkgEiv2GrE=
 github.com/mikkeloscar/aur v0.0.0-20180725140122-f998dbf94dc4/go.mod h1:n1NKHoldRNhIEufSx1PiDYcd2W+wpbz5/5K+p2eNDVk=
 github.com/mikkeloscar/aur v0.0.0-20181111113612-b71516da3ae9 h1:g4TBYa1sjv/TZfU9t82oYlRneu8cCVr3dnazE7os5vw=

+ 2 - 7
install.go

@@ -364,12 +364,7 @@ func inRepos(syncDB alpm.DBList, pkg string) bool {
 		return true
 	}
 
-	_, err = syncDB.FindGroupPkgs(target.Name)
-	if err == nil {
-		return true
-	}
-
-	return false
+	return !syncDB.FindGroupPkgs(target.Name).Empty()
 }
 
 func earlyPacmanCall(parser *arguments) error {
@@ -950,7 +945,7 @@ func buildInstallPkgbuilds(dp *depPool, do *depOrder, srcinfos map[string]*gosrc
 		if cmdArgs.existsArg("needed") {
 			installed := true
 			for _, split := range base {
-				if alpmpkg, err := dp.LocalDB.Pkg(split.Name); err != nil || alpmpkg.Version() != version {
+				if alpmpkg := dp.LocalDB.Pkg(split.Name); alpmpkg == nil || alpmpkg.Version() != version {
 					installed = false
 				}
 			}

+ 2 - 2
print.go

@@ -88,7 +88,7 @@ func (q aurQuery) printSearch(start int) {
 			toprint += bold(red("(Out-of-date "+formatTime(res.OutOfDate)+")")) + " "
 		}
 
-		if pkg, err := localDB.Pkg(res.Name); err == nil {
+		if pkg := localDB.Pkg(res.Name); pkg != nil {
 			if pkg.Version() != res.Version {
 				toprint += bold(green("(Installed: " + pkg.Version() + ")"))
 			} else {
@@ -126,7 +126,7 @@ func (s repoQuery) printSearch() {
 
 		localDB, err := alpmHandle.LocalDB()
 		if err == nil {
-			if pkg, err := localDB.Pkg(res.Name()); err == nil {
+			if pkg := localDB.Pkg(res.Name()); pkg != nil {
 				if pkg.Version() != res.Version() {
 					toprint += bold(green("(Installed: " + pkg.Version() + ")"))
 				} else {

+ 4 - 7
query.go

@@ -80,8 +80,8 @@ func filterPackages() (local []alpm.Package, remote []alpm.Package,
 			if found {
 				return nil
 			}
-			_, err := d.Pkg(k.Name())
-			if err == nil {
+
+			if d.Pkg(k.Name()) != nil {
 				found = true
 				local = append(local, k)
 				localNames = append(localNames, k.Name())
@@ -301,9 +301,7 @@ func packageSlices(toCheck []string) (aur []string, repo []string, err error) {
 		}
 
 		_ = dbList.ForEach(func(db alpm.DB) error {
-			_, err := db.Pkg(name)
-
-			if err == nil {
+			if db.Pkg(name) != nil {
 				found = true
 				return fmt.Errorf("")
 
@@ -312,8 +310,7 @@ func packageSlices(toCheck []string) (aur []string, repo []string, err error) {
 		})
 
 		if !found {
-			_, errdb := dbList.FindGroupPkgs(name)
-			found = errdb == nil
+			found = !dbList.FindGroupPkgs(name).Empty()
 		}
 
 		if found {

+ 1 - 2
upgrade.go

@@ -304,10 +304,9 @@ func upRepo(local []alpm.Package) (upSlice, error) {
 
 	alpmHandle.SyncSysupgrade(cmdArgs.existsDouble("u", "sysupgrade"))
 	alpmHandle.TransGetAdd().ForEach(func(pkg alpm.Package) error {
-		localPkg, err := localDB.Pkg(pkg.Name())
 		localVer := "-"
 
-		if err == nil {
+		if localPkg := localDB.Pkg(pkg.Name()); localPkg != nil {
 			localVer = localPkg.Version()
 		}
 

+ 4 - 12
vendor/github.com/jguer/go-alpm/db.go

@@ -130,28 +130,20 @@ func (db *DB) SetUsage(usage Usage) {
 }
 
 // Name searches a package in db.
-func (db *DB) Pkg(name string) (*Package, error) {
+func (db *DB) Pkg(name string) *Package {
 	cName := C.CString(name)
 	defer C.free(unsafe.Pointer(cName))
 	ptr := C.alpm_db_get_pkg(db.ptr, cName)
-	if ptr == nil {
-		return nil, db.handle.LastError()
-	}
-	return &Package{ptr, db.handle}, nil
+	return &Package{ptr, db.handle}
 }
 
 // PkgCachebyGroup returns a PackageList of packages belonging to a group
-func (l DBList) FindGroupPkgs(name string) (PackageList, error) {
+func (l DBList) FindGroupPkgs(name string) PackageList {
 	cName := C.CString(name)
 	defer C.free(unsafe.Pointer(cName))
 	pkglist := (*C.struct___alpm_list_t)(unsafe.Pointer(l.list))
-
 	pkgcache := (*list)(unsafe.Pointer(C.alpm_find_group_pkgs(pkglist, cName)))
-	if pkgcache == nil {
-		return PackageList{pkgcache, l.handle}, l.handle.LastError()
-	}
-
-	return PackageList{pkgcache, l.handle}, nil
+	return PackageList{pkgcache, l.handle}
 }
 
 // PkgCache returns the list of packages of the database

+ 12 - 0
vendor/github.com/jguer/go-alpm/types.go

@@ -106,6 +106,18 @@ func (l *list) forEach(f func(unsafe.Pointer) error) error {
 	return nil
 }
 
+func (l *list) Len() int {
+	count := 0
+	for ; l != nil; l = l.Next {
+		count++
+	}
+	return count
+}
+
+func (l *list) Empty() bool {
+	return l == nil
+}
+
 type StringList struct {
 	*list
 }

+ 1 - 1
vendor/modules.txt

@@ -3,7 +3,7 @@ github.com/Morganamilo/go-pacmanconf
 github.com/Morganamilo/go-pacmanconf/ini
 # github.com/Morganamilo/go-srcinfo v0.0.0-20180702014333-368edc79b2c5
 github.com/Morganamilo/go-srcinfo
-# github.com/jguer/go-alpm v0.0.0-20181021002825-676ad6bbf3c0
+# github.com/jguer/go-alpm v0.0.0-20190214204021-327c7630865b
 github.com/jguer/go-alpm
 # github.com/mikkeloscar/aur v0.0.0-20181111113612-b71516da3ae9
 github.com/mikkeloscar/aur