mirror of
https://github.com/Jguer/yay
synced 2024-10-31 04:12:51 +00:00
Merge pull request #605 from Morganamilo/fix#604
Ensure devel packages exist when updating
This commit is contained in:
commit
714556fd4a
1 changed files with 32 additions and 32 deletions
64
upgrade.go
64
upgrade.go
|
@ -121,7 +121,7 @@ func upList(warnings *aurWarnings) (aurUp upSlice, repoUp upSlice, err error) {
|
|||
var repoErr error
|
||||
var aurErr error
|
||||
|
||||
pkgdata := make(map[string]*rpc.Pkg)
|
||||
aurdata := make(map[string]*rpc.Pkg)
|
||||
|
||||
if mode == ModeAny || mode == ModeRepo {
|
||||
fmt.Println(bold(cyan("::") + bold(" Searching databases for updates...")))
|
||||
|
@ -134,25 +134,34 @@ func upList(warnings *aurWarnings) (aurUp upSlice, repoUp upSlice, err error) {
|
|||
|
||||
if mode == ModeAny || mode == ModeAUR {
|
||||
fmt.Println(bold(cyan("::") + bold(" Searching AUR for updates...")))
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
aurUp, aurErr = upAUR(remote, remoteNames, pkgdata, warnings)
|
||||
wg.Done()
|
||||
}()
|
||||
|
||||
if config.Devel {
|
||||
fmt.Println(bold(cyan("::") + bold(" Checking development packages...")))
|
||||
var _aurdata []*rpc.Pkg
|
||||
_aurdata, aurErr = aurInfo(remoteNames, warnings)
|
||||
if aurErr == nil {
|
||||
for _, pkg := range _aurdata {
|
||||
aurdata[pkg.Name] = pkg
|
||||
}
|
||||
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
develUp = upDevel(remote)
|
||||
aurUp, aurErr = upAUR(remote, aurdata)
|
||||
wg.Done()
|
||||
}()
|
||||
|
||||
if config.Devel {
|
||||
fmt.Println(bold(cyan("::") + bold(" Checking development packages...")))
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
develUp = upDevel(remote, aurdata)
|
||||
wg.Done()
|
||||
}()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
|
||||
printLocalNewerThanAUR(remote, pkgdata)
|
||||
printLocalNewerThanAUR(remote, aurdata)
|
||||
|
||||
errs := make([]string, 0)
|
||||
for _, e := range []error{repoErr, aurErr} {
|
||||
|
@ -183,7 +192,7 @@ func upList(warnings *aurWarnings) (aurUp upSlice, repoUp upSlice, err error) {
|
|||
return aurUp, repoUp, err
|
||||
}
|
||||
|
||||
func upDevel(remote []alpm.Package) (toUpgrade upSlice) {
|
||||
func upDevel(remote []alpm.Package, aurdata map[string]*rpc.Pkg) (toUpgrade upSlice) {
|
||||
toUpdate := make([]alpm.Package, 0)
|
||||
toRemove := make([]string, 0)
|
||||
|
||||
|
@ -195,12 +204,14 @@ func upDevel(remote []alpm.Package) (toUpgrade upSlice) {
|
|||
defer wg.Done()
|
||||
|
||||
if e.needsUpdate() {
|
||||
for _, pkg := range remote {
|
||||
if pkg.Name() == vcsName {
|
||||
mux1.Lock()
|
||||
toUpdate = append(toUpdate, pkg)
|
||||
mux1.Unlock()
|
||||
return
|
||||
if _, ok := aurdata[vcsName]; ok {
|
||||
for _, pkg := range remote {
|
||||
if pkg.Name() == vcsName {
|
||||
mux1.Lock()
|
||||
toUpdate = append(toUpdate, pkg)
|
||||
mux1.Unlock()
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -231,22 +242,11 @@ func upDevel(remote []alpm.Package) (toUpgrade upSlice) {
|
|||
|
||||
// upAUR gathers foreign packages and checks if they have new versions.
|
||||
// Output: Upgrade type package list.
|
||||
func upAUR(
|
||||
remote []alpm.Package, remoteNames []string,
|
||||
pkgdata map[string]*rpc.Pkg, warnings *aurWarnings) (upSlice, error) {
|
||||
|
||||
func upAUR(remote []alpm.Package, aurdata map[string]*rpc.Pkg) (upSlice, error) {
|
||||
toUpgrade := make(upSlice, 0)
|
||||
_pkgdata, err := aurInfo(remoteNames, warnings)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, pkg := range _pkgdata {
|
||||
pkgdata[pkg.Name] = pkg
|
||||
}
|
||||
|
||||
for _, pkg := range remote {
|
||||
aurPkg, ok := pkgdata[pkg.Name()]
|
||||
aurPkg, ok := aurdata[pkg.Name()]
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
|
@ -274,9 +274,9 @@ func printIgnoringPackage(pkg alpm.Package, newPkgVersion string) {
|
|||
}
|
||||
|
||||
func printLocalNewerThanAUR(
|
||||
remote []alpm.Package, pkgdata map[string]*rpc.Pkg) {
|
||||
remote []alpm.Package, aurdata map[string]*rpc.Pkg) {
|
||||
for _, pkg := range remote {
|
||||
aurPkg, ok := pkgdata[pkg.Name()]
|
||||
aurPkg, ok := aurdata[pkg.Name()]
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue