mirror of
https://github.com/Jguer/yay
synced 2024-10-05 23:59:13 +00:00
Support skiping updates and showing warnings
The warnings were moved down to after the upgrade menu, mainly because it is a lot easier to do this way, it may get moved back if it can be done in a non hacky way,
This commit is contained in:
parent
b76d085418
commit
d51205194e
|
@ -1,7 +1,6 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sort"
|
||||
"strings"
|
||||
"sync"
|
||||
|
@ -72,7 +71,7 @@ func makeDepPool() (*depPool, error) {
|
|||
make([]string, 0),
|
||||
localDb,
|
||||
syncDb,
|
||||
&aurWarnings{},
|
||||
nil,
|
||||
}
|
||||
|
||||
return dp, nil
|
||||
|
@ -100,7 +99,6 @@ func (dp *depPool) ResolveTargets(pkgs []string) error {
|
|||
// the one specified
|
||||
// this is how pacman behaves
|
||||
if dp.hasPackage(target.DepString()) {
|
||||
fmt.Println("Skipping target", target)
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -346,12 +344,13 @@ func (dp *depPool) ResolveRepoDependency(pkg *alpm.Package) {
|
|||
})
|
||||
}
|
||||
|
||||
func getDepPool(pkgs []string) (*depPool, error) {
|
||||
func getDepPool(pkgs []string, warnings *aurWarnings) (*depPool, error) {
|
||||
dp, err := makeDepPool()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
dp.Warnings = warnings
|
||||
err = dp.ResolveTargets(pkgs)
|
||||
|
||||
return dp, err
|
||||
|
@ -413,7 +412,7 @@ func (dp *depPool) findSatisfierAurCache(dep string) *rpc.Pkg {
|
|||
continue
|
||||
}
|
||||
|
||||
if pkgSatisfies(pkg.Name, pkg.Version, dep){
|
||||
if pkgSatisfies(pkg.Name, pkg.Version, dep) {
|
||||
providers.Pkgs = append(providers.Pkgs, pkg)
|
||||
seen.set(pkg.Name)
|
||||
continue
|
||||
|
|
48
install.go
48
install.go
|
@ -58,37 +58,6 @@ func install(parser *arguments) error {
|
|||
|
||||
}
|
||||
|
||||
//if len(aurTargets) > 0 || parser.existsArg("u", "sysupgrade") && len(remoteNames) > 0 {
|
||||
// fmt.Println(bold(cyan("::") + " Querying AUR..."))
|
||||
//}
|
||||
dp, err := getDepPool(requestTargets)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = dp.CheckMissing()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = dp.CheckConflicts()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Deptree will handle db/pkg prefixes. Now they can be striped from the
|
||||
// targets.
|
||||
for pkg := range parser.targets {
|
||||
_, name := splitDbFromName(pkg)
|
||||
parser.targets.remove(pkg)
|
||||
parser.targets.set(name)
|
||||
}
|
||||
|
||||
for i, pkg := range requestTargets {
|
||||
_, name := splitDbFromName(pkg)
|
||||
requestTargets[i] = name
|
||||
}
|
||||
|
||||
//create the arguments to pass for the repo install
|
||||
arguments := parser.copy()
|
||||
arguments.delArg("y", "refresh")
|
||||
|
@ -131,6 +100,23 @@ func install(parser *arguments) error {
|
|||
}
|
||||
}
|
||||
|
||||
dp, err := getDepPool(requestTargets, warnings)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
warnings.print()
|
||||
|
||||
err = dp.CheckMissing()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = dp.CheckConflicts()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
hasAur := len(dp.Aur) > 0
|
||||
|
||||
if hasAur && 0 == os.Geteuid() {
|
||||
|
|
Loading…
Reference in a new issue