diff options
Diffstat (limited to 'web/lib/packages.rb')
-rw-r--r-- | web/lib/packages.rb | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/web/lib/packages.rb b/web/lib/packages.rb index 2586ca3..3e5a8bc 100644 --- a/web/lib/packages.rb +++ b/web/lib/packages.rb @@ -1,5 +1,5 @@ def update_packages(ci_image) - cmd = %W[python3 /ruby-tinderbox/packages.py | sort -u] + cmd = %W[/ruby-tinderbox/packages.py | sort -u] ci_container = Docker::Container.create( Cmd: cmd, Image: ci_image.id @@ -9,13 +9,14 @@ def update_packages(ci_image) packages_txt = ci_container.logs(stdout: true) ci_container.delete - packages_txt.lines.peach do |line| + packages_txt.lines.each do |line| line = line.bytes.drop(8).pack('c*') + next if line.empty? sha1, category, name, version, revision, slot, amd64_keyword, r19_target, r20_target, r21_target, r22_target = line.split(' ') identifier = category + '/' + name + '-' + version + (revision == 'r0' ? '' : "-#{revision}") gem_version = Gems.info(name)['version'] gem_version = 'nil' if gem_version.nil? - Package.find_or_create( + package = Package.find_or_create( sha1: sha1, category: category, name: name, @@ -30,12 +31,12 @@ def update_packages(ci_image) r22_target: r22_target, gem_version: gem_version ) + deps = line.split(' ').drop(11).join.gsub(';', ' ') + package.update(dependencies: deps) end Package.peach(8) do |package| - if packages_txt.include?(package[:sha1]) - package.update(dependencies: `python3 lib/deps.py #{package[:identifier]}`) - else + unless packages_txt.include?(package[:sha1]) package.build.map(&:delete) package.repoman.map(&:delete) package.delete |