Blame view

script/debundler 842 Bytes
d4e63efe   Antonio Terceiro   Migration to Rail...
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env ruby


cache = '/tmp/debundler.' + ENV['USER'] + '.cache.yaml'
unless File.exists?(cache)
  unless system("apt-file search /usr/share/rubygems-integration/1.9.1 > #{cache}")
    exit 1
  end
end

$gems = []
def source(s)
end
c6b8f1f6   Antonio Terceiro   cope with changes...
14
15
16
def group(g)
  yield
end
d4e63efe   Antonio Terceiro   Migration to Rail...
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
def gem(n, v = nil)
  $gems << n
end
load './Gemfile'

require 'yaml'
deb2gem = YAML.load_file(cache)
gem2deb = {}
deb2gem.each do |package,spec|
  gem_info = File.basename(spec).sub(/\.gemspec$/, '').split('-')
  gem_version = gem_info.pop
  gem_name = gem_info.join('-')
  gem2deb[gem_name] = package
end

packages = []
$gems.each do |g|
  package = gem2deb[g]
  if package
    packages << package
  else
    puts "E: gem #{g} not found"
    not_found += 1
  end
end

if packages.size == $gems.size
  system("sudo apt-get -y install #{packages.join(" ")}")
else
  exit 1
end