mirror of
https://github.com/mudler/luet.git
synced 2025-09-07 02:00:39 +00:00
Calculate provides for parallel solver too
This commit is contained in:
@@ -556,10 +556,11 @@ func (s *Parallel) Upgrade(checkconflicts, full bool) (pkg.Packages, PackagesAss
|
|||||||
|
|
||||||
toUninstall := pkg.Packages{}
|
toUninstall := pkg.Packages{}
|
||||||
toInstall := pkg.Packages{}
|
toInstall := pkg.Packages{}
|
||||||
availableCache := map[string]pkg.Packages{}
|
|
||||||
|
// we do this in memory so we take into account of provides
|
||||||
|
universe := pkg.NewInMemoryDatabase(false)
|
||||||
for _, p := range s.DefinitionDatabase.World() {
|
for _, p := range s.DefinitionDatabase.World() {
|
||||||
// Each one, should be expanded
|
universe.CreatePackage(p)
|
||||||
availableCache[p.GetName()+p.GetCategory()] = append(availableCache[p.GetName()+p.GetCategory()], p)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
installedcopy := pkg.NewInMemoryDatabase(false)
|
installedcopy := pkg.NewInMemoryDatabase(false)
|
||||||
@@ -575,10 +576,10 @@ func (s *Parallel) Upgrade(checkconflicts, full bool) (pkg.Packages, PackagesAss
|
|||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
for p := range c {
|
for p := range c {
|
||||||
installedcopy.CreatePackage(p)
|
installedcopy.CreatePackage(p)
|
||||||
packages, ok := availableCache[p.GetName()+p.GetCategory()]
|
packages, err := universe.FindPackageVersions(p)
|
||||||
if ok && len(packages) != 0 {
|
if err == nil && len(packages) != 0 {
|
||||||
best := packages.Best(nil)
|
best := packages.Best(nil)
|
||||||
if best.GetVersion() != p.GetVersion() {
|
if !best.Matches(p) {
|
||||||
results <- []pkg.Package{p, best}
|
results <- []pkg.Package{p, best}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -489,12 +489,6 @@ func (s *Solver) Upgrade(checkconflicts, full bool) (pkg.Packages, PackagesAsser
|
|||||||
toUninstall := pkg.Packages{}
|
toUninstall := pkg.Packages{}
|
||||||
toInstall := pkg.Packages{}
|
toInstall := pkg.Packages{}
|
||||||
|
|
||||||
availableCache := map[string]pkg.Packages{}
|
|
||||||
for _, p := range s.DefinitionDatabase.World() {
|
|
||||||
// Each one, should be expanded
|
|
||||||
availableCache[p.GetName()+p.GetCategory()] = append(availableCache[p.GetName()+p.GetCategory()], p)
|
|
||||||
}
|
|
||||||
|
|
||||||
// we do this in memory so we take into account of provides
|
// we do this in memory so we take into account of provides
|
||||||
universe := pkg.NewInMemoryDatabase(false)
|
universe := pkg.NewInMemoryDatabase(false)
|
||||||
for _, p := range s.DefinitionDatabase.World() {
|
for _, p := range s.DefinitionDatabase.World() {
|
||||||
|
Reference in New Issue
Block a user