diff options
author | Pascal Terjan <pterjan@mageia.org> | 2023-01-08 17:00:34 +0000 |
---|---|---|
committer | Pascal Terjan <pterjan@mageia.org> | 2023-01-08 17:00:34 +0000 |
commit | a2c6bacb09be6e82673c25373c4f716db0de1a4c (patch) | |
tree | 1135dc536d4a61d04c006f915a96beca29c367f7 | |
parent | af440a8aee43646dc6a1d078ab1af745551c5e0a (diff) | |
download | puppet-a2c6bacb09be6e82673c25373c4f716db0de1a4c.tar puppet-a2c6bacb09be6e82673c25373c4f716db0de1a4c.tar.gz puppet-a2c6bacb09be6e82673c25373c4f716db0de1a4c.tar.bz2 puppet-a2c6bacb09be6e82673c25373c4f716db0de1a4c.tar.xz puppet-a2c6bacb09be6e82673c25373c4f716db0de1a4c.zip |
Fix cleaner.rb
It did not really wait for 7d for removed subpackages.
Also remove an incorrect condition, src.rpm is usually slightly older
that binary rpms, and fix the tests.
-rwxr-xr-x | modules/buildsystem/templates/cleaner.rb | 6 | ||||
-rw-r--r-- | modules/buildsystem/templates/cleaner_test.rb | 34 |
2 files changed, 23 insertions, 17 deletions
diff --git a/modules/buildsystem/templates/cleaner.rb b/modules/buildsystem/templates/cleaner.rb index 45e683d9..97b91ab0 100755 --- a/modules/buildsystem/templates/cleaner.rb +++ b/modules/buildsystem/templates/cleaner.rb @@ -203,14 +203,12 @@ def check_binaries(arch, srcs, srcages, src_path, path, used_srcs) srcname = name_from_filename(src) if srcages[srcname] then # The src.rpm is gone but there is a different version of it + latestsrc = srcages[srcname][0] # Only delete old binaries after 7d or if there is a new version name = name_from_filename(filename) - next unless (srcages[srcname][1] < Time.now.to_i - 24*60*60*7 || all_versions[name].include?(src)) - # Do not delete newer binaries, upload may be in progress - next unless buildtime < srcages[srcname][1] + next unless (srcages[srcname][1] < Time.now.to_i - 24*60*60*7 || all_versions[name].include?(latestsrc)) # Do not delete if the new version of the package hasn't been built for this arch yet # but still delete it if it is no longer expected to be built. - latestsrc = srcages[srcname][0] next unless (used_here_srcs[latestsrc] || !arch_wanted("#{src_path}/#{latestsrc}", arch)) end old_binaries << filename diff --git a/modules/buildsystem/templates/cleaner_test.rb b/modules/buildsystem/templates/cleaner_test.rb index 875d90c4..804bd1b5 100644 --- a/modules/buildsystem/templates/cleaner_test.rb +++ b/modules/buildsystem/templates/cleaner_test.rb @@ -26,7 +26,7 @@ class TestCleaner < Test::Unit::TestCase srcages['foo'] = [ 'foo-43-1.src.rpm', Time.now.to_i - 15*24*3600 ] srcs = {} srcs['foo-43-1.src.rpm'] = true - assert_equal(['libfoo1-42-1.armv7hl.rpm'], check_binaries(srcs, srcages, '', nil)) + assert_equal(['libfoo1-42-1.armv7hl.rpm'], check_binaries('armv7hl', srcs, srcages, '', '', nil)) end def test_recent @@ -36,7 +36,7 @@ class TestCleaner < Test::Unit::TestCase srcages['foo'] = [ 'foo-43.src.rpm', Time.now.to_i - 24*3600 ] srcs = {} srcs['foo-43-1.src.rpm'] = true - assert_equal([], check_binaries(srcs, srcages, '', nil)) + assert_equal([], check_binaries('armv7hl', srcs, srcages, '', '', nil)) end def test_arm_late @@ -46,7 +46,7 @@ class TestCleaner < Test::Unit::TestCase srcages['foo'] = [ 'foo-43.src.rpm', Time.now.to_i - 24*3600 ] srcs = {} srcs['foo-43-1.src.rpm'] = true - assert_equal([], check_binaries(srcs, srcages, '', nil)) + assert_equal([], check_binaries('armv7hl', srcs, srcages, '', '', nil)) end def test_multiple_versions @@ -57,19 +57,27 @@ class TestCleaner < Test::Unit::TestCase srcages['foo'] = [ 'foo-42-2.src.rpm', Time.now.to_i - 24*3600 ] srcs = {} srcs['foo-42-2.src.rpm'] = true - assert_equal(['foo-42-1.noarch.rpm'], check_binaries(srcs, srcages, '', nil)) + assert_equal(['foo-42-1.noarch.rpm'], check_binaries('i586', srcs, srcages, '', '', nil)) end - def test_newer_binary - # Package built after src remains (could happen due to race condition with upload) - $noarch = { 'foo' => true } - srctime = Time.now.to_i - 10*24*3600 - bintime = Time.now.to_i - 3600 - setpackages(["foo-42-2.src.rpm:foo-42-2.i586.rpm:#{bintime}", "foo-42-1.src.rpm:foo-bar-42-1.i586.rpm:#{srctime}"]) + def test_icu + $noarch = {} + now = Time.now.to_i + srctime = now - 3600 + oldbintime = now - 10*24*3600 + newbintime = now - 3200 + setpackages([ + "icu-71.1-2.mga9.src.rpm:icu71-data-71.1-2.mga9.noarch.rpm:#{oldbintime}", + "icu-71.1-2.mga9.src.rpm:lib64icu71-71.1-2.mga9.aarch64.rpm:#{oldbintime}", + "icu-72.1-1.mga9.src.rpm:icu72-data-72.1-1.mga9.noarch.rpm:#{newbintime}", + "icu-72.1-1.mga9.src.rpm:lib64icu-devel-72.1-1.mga9.aarch64.rpm:#{newbintime}", + "icu-72.1-1.mga9.src.rpm:lib64icu72-72.1-1.mga9.aarch64.rpm:#{newbintime}" + ]) srcages = {} - srcages['foo'] = [ 'foo-42-1.src.rpm', srctime ] + srcages['icu'] = [ 'icu-71.1-2.mga9.src.rpm', srctime ] srcs = {} - srcs['foo-42-1.src.rpm'] = true - assert_equal([], check_binaries(srcs, srcages, '', nil)) + srcs['icu-71.1-2.mga9.src.rpm'] = true + assert_equal([], check_binaries('aarch64', srcs, srcages, '', '', nil)) end + end |