mirror of
https://github.com/mudler/luet.git
synced 2025-09-03 16:25:19 +00:00
Detect removed also when availables aren't found
This commit is contained in:
@@ -472,10 +472,8 @@ func (s *Parallel) UpgradeUniverse(dropremoved bool) (pkg.Packages, PackagesAsse
|
|||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
for p := range c {
|
for p := range c {
|
||||||
available, err := s.DefinitionDatabase.FindPackageVersions(p)
|
available, err := s.DefinitionDatabase.FindPackageVersions(p)
|
||||||
if err != nil {
|
if len(available) == 0 || err != nil {
|
||||||
removed = append(removed, p) /// FIXME: Racy
|
removed = append(removed, p)
|
||||||
}
|
|
||||||
if len(available) == 0 {
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -413,10 +413,8 @@ func (s *Solver) UpgradeUniverse(dropremoved bool) (pkg.Packages, PackagesAssert
|
|||||||
// Grab all the installed ones, see if they are eligible for update
|
// Grab all the installed ones, see if they are eligible for update
|
||||||
for _, p := range s.Installed() {
|
for _, p := range s.Installed() {
|
||||||
available, err := s.DefinitionDatabase.FindPackageVersions(p)
|
available, err := s.DefinitionDatabase.FindPackageVersions(p)
|
||||||
if err != nil {
|
if len(available) == 0 || err != nil {
|
||||||
removed = append(removed, p)
|
removed = append(removed, p)
|
||||||
}
|
|
||||||
if len(available) == 0 {
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1210,6 +1210,8 @@ var _ = Describe("Solver", func() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
Context("Upgrades", func() {
|
Context("Upgrades", func() {
|
||||||
|
E := pkg.NewPackage("e", "1.5", []*pkg.DefaultPackage{}, []*pkg.DefaultPackage{})
|
||||||
|
E.SetCategory("test")
|
||||||
C := pkg.NewPackage("c", "1.5", []*pkg.DefaultPackage{&pkg.DefaultPackage{Name: "a", Version: ">=1.0", Category: "test"}}, []*pkg.DefaultPackage{})
|
C := pkg.NewPackage("c", "1.5", []*pkg.DefaultPackage{&pkg.DefaultPackage{Name: "a", Version: ">=1.0", Category: "test"}}, []*pkg.DefaultPackage{})
|
||||||
C.SetCategory("test")
|
C.SetCategory("test")
|
||||||
B := pkg.NewPackage("b", "1.0", []*pkg.DefaultPackage{}, []*pkg.DefaultPackage{})
|
B := pkg.NewPackage("b", "1.0", []*pkg.DefaultPackage{}, []*pkg.DefaultPackage{})
|
||||||
@@ -1304,5 +1306,30 @@ var _ = Describe("Solver", func() {
|
|||||||
|
|
||||||
Expect(len(solution)).To(Equal(3))
|
Expect(len(solution)).To(Equal(3))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
It("Suggests to remove untracked packages", func() {
|
||||||
|
for _, p := range []pkg.Package{E} {
|
||||||
|
_, err := dbDefinitions.CreatePackage(p)
|
||||||
|
Expect(err).ToNot(HaveOccurred())
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, p := range []pkg.Package{A, B, C, E} {
|
||||||
|
_, err := dbInstalled.CreatePackage(p)
|
||||||
|
Expect(err).ToNot(HaveOccurred())
|
||||||
|
}
|
||||||
|
uninstall, solution, err := s.UpgradeUniverse(true)
|
||||||
|
Expect(err).ToNot(HaveOccurred())
|
||||||
|
Expect(len(uninstall)).To(Equal(3))
|
||||||
|
|
||||||
|
Expect(uninstall).To(ContainElement(B))
|
||||||
|
Expect(uninstall).To(ContainElement(A))
|
||||||
|
Expect(uninstall).To(ContainElement(C))
|
||||||
|
|
||||||
|
Expect(solution).To(ContainElement(PackageAssert{Package: C, Value: false}))
|
||||||
|
Expect(solution).To(ContainElement(PackageAssert{Package: B, Value: false}))
|
||||||
|
Expect(solution).To(ContainElement(PackageAssert{Package: A, Value: false}))
|
||||||
|
|
||||||
|
Expect(len(solution)).To(Equal(3))
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user