Merge pull request #75 from mudler/fixup_upgrade

Don't attempt to upgrade packages already in system
This commit is contained in:
Ettore Di Giacinto 2020-03-24 21:14:53 +01:00 committed by GitHub
commit 0067fa82a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 5 deletions

View File

@ -119,7 +119,8 @@ func (l *LuetInstaller) Upgrade(s *System) error {
toInstall := []pkg.Package{}
for _, assertion := range solution {
if assertion.Value {
// Be sure to filter from solutions packages already installed in the system
if _, err := s.Database.FindPackage(assertion.Package); err != nil && assertion.Value {
toInstall = append(toInstall, assertion.Package)
}
}
@ -158,7 +159,6 @@ func (l *LuetInstaller) Swap(toRemove []pkg.Package, toInstall []pkg.Package, s
}
func (l *LuetInstaller) swap(syncedRepos Repositories, toRemove []pkg.Package, toInstall []pkg.Package, s *System) error {
// First match packages against repositories by priority
allRepos := pkg.NewInMemoryDatabase(false)
syncedRepos.SyncDatabase(allRepos)

View File

@ -108,13 +108,15 @@ testInstall() {
}
testUpgrade() {
luet --config $tmpdir/luet.yaml upgrade
upgrade=$(luet --config $tmpdir/luet.yaml upgrade)
installst=$?
assertEquals 'install test successfully' "$installst" "0"
assertTrue 'package uninstalled B' "[ ! -e '$tmpdir/testrootfs/test5' ]"
assertTrue 'package installed B' "[ -e '$tmpdir/testrootfs/newc' ]"
assertTrue 'package uninstalled A' "[ ! -e '$tmpdir/testrootfs/testaa' ]"
assertTrue 'package installed new A' "[ -e '$tmpdir/testrootfs/testlatest' ]"
assertNotContains 'does not contain test/c-1.0' "$upgrade" 'test/c-1.0'
assertNotContains 'does not attempt to download test/c-1.0' "$upgrade" 'test/c-1.0 downloaded'
}
# Load shUnit2.

View File

@ -112,8 +112,8 @@ testSearch() {
assertEquals 'search exists successfully' "$searchst" "0"
assertContains 'contains test/b-1.0' "$installed" 'test b 1.0'
assertContains 'contains test/b-1.0' "$installed" 'test a 1.0'
assertContains 'contains test/b-1.0' "$installed" 'test c 1.0'
assertContains 'contains test/a-1.0' "$installed" 'test a 1.0'
assertContains 'contains test/c-1.0' "$installed" 'test c 1.0'
}
# Load shUnit2.