mirror of
https://github.com/Jguer/yay
synced 2024-10-06 08:09:11 +00:00
fix(install): simplify sysupgrade
This commit is contained in:
parent
ece81fa078
commit
7a280e0199
26
install.go
26
install.go
|
@ -24,7 +24,6 @@ import (
|
||||||
"github.com/Jguer/yay/v10/pkg/settings"
|
"github.com/Jguer/yay/v10/pkg/settings"
|
||||||
"github.com/Jguer/yay/v10/pkg/stringset"
|
"github.com/Jguer/yay/v10/pkg/stringset"
|
||||||
"github.com/Jguer/yay/v10/pkg/text"
|
"github.com/Jguer/yay/v10/pkg/text"
|
||||||
"github.com/Jguer/yay/v10/pkg/upgrade"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const gitEmptyTree = "4b825dc642cb6eb9a060e54bf8d69288fbee4904"
|
const gitEmptyTree = "4b825dc642cb6eb9a060e54bf8d69288fbee4904"
|
||||||
|
@ -66,9 +65,6 @@ func install(cmdArgs *settings.Arguments, dbExecutor db.Executor, ignoreProvider
|
||||||
var incompatible stringset.StringSet
|
var incompatible stringset.StringSet
|
||||||
var do *dep.Order
|
var do *dep.Order
|
||||||
|
|
||||||
var aurUp upgrade.UpSlice
|
|
||||||
var repoUp upgrade.UpSlice
|
|
||||||
|
|
||||||
var srcinfos map[string]*gosrc.Srcinfo
|
var srcinfos map[string]*gosrc.Srcinfo
|
||||||
|
|
||||||
warnings := query.NewWarnings()
|
warnings := query.NewWarnings()
|
||||||
|
@ -119,28 +115,14 @@ func install(cmdArgs *settings.Arguments, dbExecutor db.Executor, ignoreProvider
|
||||||
|
|
||||||
// if we are doing -u also request all packages needing update
|
// if we are doing -u also request all packages needing update
|
||||||
if cmdArgs.ExistsArg("u", "sysupgrade") {
|
if cmdArgs.ExistsArg("u", "sysupgrade") {
|
||||||
aurUp, repoUp, err = upList(warnings, dbExecutor, cmdArgs.ExistsDouble("u", "sysupgrade"), func(upgrade.Upgrade) bool { return true })
|
ignore, targets, errUp := sysupgradeTargets(dbExecutor, cmdArgs.ExistsDouble("u", "sysupgrade"))
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
warnings.Print()
|
|
||||||
|
|
||||||
ignore, aurUp, errUp := upgradePkgs(aurUp, repoUp)
|
|
||||||
if errUp != nil {
|
if errUp != nil {
|
||||||
return errUp
|
return errUp
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, up := range repoUp {
|
for _, up := range targets {
|
||||||
if !ignore.Get(up.Name) {
|
cmdArgs.AddTarget(up)
|
||||||
requestTargets = append(requestTargets, up.Name)
|
requestTargets = append(requestTargets, up)
|
||||||
cmdArgs.AddTarget(up.Name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for up := range aurUp {
|
|
||||||
requestTargets = append(requestTargets, "aur/"+up)
|
|
||||||
cmdArgs.AddTarget("aur/" + up)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(ignore) > 0 {
|
if len(ignore) > 0 {
|
||||||
|
|
36
upgrade.go
36
upgrade.go
|
@ -139,22 +139,22 @@ func isDevelPackage(pkg alpm.IPackage) bool {
|
||||||
return isDevelName(pkg.Name()) || isDevelName(pkg.Base())
|
return isDevelName(pkg.Name()) || isDevelName(pkg.Base())
|
||||||
}
|
}
|
||||||
|
|
||||||
// upgradePkgs handles updating the cache and installing updates.
|
// upgradePkgsMenu handles updating the cache and installing updates.
|
||||||
func upgradePkgs(aurUp, repoUp upgrade.UpSlice) (ignore, aurNames stringset.StringSet, err error) {
|
func upgradePkgsMenu(aurUp, repoUp upgrade.UpSlice) (stringset.StringSet, []string, error) {
|
||||||
ignore = make(stringset.StringSet)
|
ignore := make(stringset.StringSet)
|
||||||
aurNames = make(stringset.StringSet)
|
targets := []string{}
|
||||||
|
|
||||||
allUpLen := len(repoUp) + len(aurUp)
|
allUpLen := len(repoUp) + len(aurUp)
|
||||||
if allUpLen == 0 {
|
if allUpLen == 0 {
|
||||||
return ignore, aurNames, nil
|
return ignore, nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if !config.UpgradeMenu {
|
if !config.UpgradeMenu {
|
||||||
for _, pkg := range aurUp {
|
for _, pkg := range aurUp {
|
||||||
aurNames.Set(pkg.Name)
|
targets = append(targets, pkg.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ignore, aurNames, nil
|
return ignore, targets, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
sort.Sort(repoUp)
|
sort.Sort(repoUp)
|
||||||
|
@ -182,10 +182,12 @@ func upgradePkgs(aurUp, repoUp upgrade.UpSlice) (ignore, aurNames stringset.Stri
|
||||||
}
|
}
|
||||||
|
|
||||||
if isInclude && !include.Get(len(repoUp)-i+len(aurUp)) {
|
if isInclude && !include.Get(len(repoUp)-i+len(aurUp)) {
|
||||||
|
targets = append(targets, pkg.Name)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if !isInclude && (exclude.Get(len(repoUp)-i+len(aurUp)) || otherExclude.Get(pkg.Repository)) {
|
if !isInclude && (exclude.Get(len(repoUp)-i+len(aurUp)) || otherExclude.Get(pkg.Repository)) {
|
||||||
|
targets = append(targets, pkg.Name)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,13 +200,27 @@ func upgradePkgs(aurUp, repoUp upgrade.UpSlice) (ignore, aurNames stringset.Stri
|
||||||
}
|
}
|
||||||
|
|
||||||
if isInclude && !include.Get(len(aurUp)-i) {
|
if isInclude && !include.Get(len(aurUp)-i) {
|
||||||
aurNames.Set(pkg.Name)
|
targets = append(targets, "aur/"+pkg.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !isInclude && (exclude.Get(len(aurUp)-i) || otherExclude.Get(pkg.Repository)) {
|
if !isInclude && (exclude.Get(len(aurUp)-i) || otherExclude.Get(pkg.Repository)) {
|
||||||
aurNames.Set(pkg.Name)
|
targets = append(targets, "aur/"+pkg.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ignore, aurNames, err
|
return ignore, targets, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Targets for sys upgrade
|
||||||
|
func sysupgradeTargets(dbExecutor db.Executor, enableDowngrade bool) (stringset.StringSet, []string, error) {
|
||||||
|
warnings := query.NewWarnings()
|
||||||
|
aurUp, repoUp, err := upList(warnings, dbExecutor, enableDowngrade, func(upgrade.Upgrade) bool { return true })
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
warnings.Print()
|
||||||
|
|
||||||
|
ignore, targets, errUp := upgradePkgsMenu(aurUp, repoUp)
|
||||||
|
return ignore, targets, errUp
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue