From 5e57573ce7fc0eb9b276c3ab4a23d483b1d90ef4 Mon Sep 17 00:00:00 2001 From: Pascal Terjan Date: Tue, 19 Jan 2021 19:34:09 +0000 Subject: Delete leftover noarch without waiting for 7d --- modules/buildsystem/templates/cleaner.rb | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'modules/buildsystem/templates/cleaner.rb') diff --git a/modules/buildsystem/templates/cleaner.rb b/modules/buildsystem/templates/cleaner.rb index e9ff8cb6..1bdf393a 100755 --- a/modules/buildsystem/templates/cleaner.rb +++ b/modules/buildsystem/templates/cleaner.rb @@ -121,7 +121,7 @@ end def packages(path) `urpmf --synthesis "#{path}/media_info/synthesis.hdlist.cz" --qf '%sourcerpm:%filename' ":"`.each_line{|l| - yield l + yield *(l.rstrip.split(':')) } end @@ -131,10 +131,8 @@ end def check_binaries(srcs, srcages, path, used_srcs) used_here_srcs = {} - packages(path) {|l| - l2 = l.split(':') - src = l2[0] - filename = l2[1].rstrip + all_versions = {} + packages(path) {|src, filename| used_srcs[src] = true if used_srcs != nil if filename =~ /noarch.rpm$/ then # We need to mark the src.rpm present on this arch only for full noarch packages @@ -142,18 +140,22 @@ def check_binaries(srcs, srcages, path, used_srcs) else used_here_srcs[src] = true end + name = name_from_filename(filename) + if all_versions[name] then + all_versions[name] << src + else + all_versions[name] = [src] + end } old_binaries = [] - packages(path) {|l| - l2 = l.split(':') - src = l2[0] - filename = l2[1].rstrip + packages(path) {|src, filename| if ! srcs[src] then srcname = name_from_filename(src) if srcages[srcname] then # The src.rpm is gone but there is a different version of it - # Only delete old binaries after 7d - next unless srcages[srcname][1] < Time.now.to_i - 24*60*60*7 + # 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 if the new version of the package hasn't been built for this arch yet next unless used_here_srcs[srcages[srcname][0]] end -- cgit v1.2.1