mirror of
https://github.com/Jguer/yay
synced 2024-10-05 23:59:13 +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/stringset"
|
||||
"github.com/Jguer/yay/v10/pkg/text"
|
||||
"github.com/Jguer/yay/v10/pkg/upgrade"
|
||||
)
|
||||
|
||||
const gitEmptyTree = "4b825dc642cb6eb9a060e54bf8d69288fbee4904"
|
||||
|
@ -66,9 +65,6 @@ func install(cmdArgs *settings.Arguments, dbExecutor db.Executor, ignoreProvider
|
|||
var incompatible stringset.StringSet
|
||||
var do *dep.Order
|
||||
|
||||
var aurUp upgrade.UpSlice
|
||||
var repoUp upgrade.UpSlice
|
||||
|
||||
var srcinfos map[string]*gosrc.Srcinfo
|
||||
|
||||
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 cmdArgs.ExistsArg("u", "sysupgrade") {
|
||||
aurUp, repoUp, err = upList(warnings, dbExecutor, cmdArgs.ExistsDouble("u", "sysupgrade"), func(upgrade.Upgrade) bool { return true })
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
warnings.Print()
|
||||
|
||||
ignore, aurUp, errUp := upgradePkgs(aurUp, repoUp)
|
||||
ignore, targets, errUp := sysupgradeTargets(dbExecutor, cmdArgs.ExistsDouble("u", "sysupgrade"))
|
||||
if errUp != nil {
|
||||
return errUp
|
||||
}
|
||||
|
||||
for _, up := range repoUp {
|
||||
if !ignore.Get(up.Name) {
|
||||
requestTargets = append(requestTargets, up.Name)
|
||||
cmdArgs.AddTarget(up.Name)
|
||||
}
|
||||
}
|
||||
|
||||
for up := range aurUp {
|
||||
requestTargets = append(requestTargets, "aur/"+up)
|
||||
cmdArgs.AddTarget("aur/" + up)
|
||||
for _, up := range targets {
|
||||
cmdArgs.AddTarget(up)
|
||||
requestTargets = append(requestTargets, up)
|
||||
}
|
||||
|
||||
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())
|
||||
}
|
||||
|
||||
// upgradePkgs handles updating the cache and installing updates.
|
||||
func upgradePkgs(aurUp, repoUp upgrade.UpSlice) (ignore, aurNames stringset.StringSet, err error) {
|
||||
ignore = make(stringset.StringSet)
|
||||
aurNames = make(stringset.StringSet)
|
||||
// upgradePkgsMenu handles updating the cache and installing updates.
|
||||
func upgradePkgsMenu(aurUp, repoUp upgrade.UpSlice) (stringset.StringSet, []string, error) {
|
||||
ignore := make(stringset.StringSet)
|
||||
targets := []string{}
|
||||
|
||||
allUpLen := len(repoUp) + len(aurUp)
|
||||
if allUpLen == 0 {
|
||||
return ignore, aurNames, nil
|
||||
return ignore, nil, nil
|
||||
}
|
||||
|
||||
if !config.UpgradeMenu {
|
||||
for _, pkg := range aurUp {
|
||||
aurNames.Set(pkg.Name)
|
||||
targets = append(targets, pkg.Name)
|
||||
}
|
||||
|
||||
return ignore, aurNames, nil
|
||||
return ignore, targets, nil
|
||||
}
|
||||
|
||||
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)) {
|
||||
targets = append(targets, pkg.Name)
|
||||
continue
|
||||
}
|
||||
|
||||
if !isInclude && (exclude.Get(len(repoUp)-i+len(aurUp)) || otherExclude.Get(pkg.Repository)) {
|
||||
targets = append(targets, pkg.Name)
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -198,13 +200,27 @@ func upgradePkgs(aurUp, repoUp upgrade.UpSlice) (ignore, aurNames stringset.Stri
|
|||
}
|
||||
|
||||
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)) {
|
||||
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