aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'web/lib/packages.rb')
-rw-r--r--web/lib/packages.rb13
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