Pistos-emerge-gem 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/emerge-gem.rb +22 -7
  2. metadata +1 -1
data/lib/emerge-gem.rb CHANGED
@@ -9,6 +9,7 @@ class EmergeGem
9
9
  puts " -h --help show usage"
10
10
  puts " --portage-base-dir (default /usr/local/portage)"
11
11
  puts " --portage-path relative to portage base dir (default dev-ruby)"
12
+ puts " --verbose print more details about work being done"
12
13
  exit 1
13
14
  end
14
15
 
@@ -30,6 +31,8 @@ class EmergeGem
30
31
  portage_base_dir = arg
31
32
  when '--portage-path'
32
33
  portage_path = arg
34
+ when '-v', '--verbose'
35
+ @verbose = true
33
36
  else
34
37
  if collecting_emerge_options
35
38
  @emerge_options << arg
@@ -44,11 +47,16 @@ class EmergeGem
44
47
  end
45
48
 
46
49
  @ebuild_dest ||= "#{portage_base_dir}/#{portage_path}"
50
+
51
+ @eix_installed = system( 'which eix > /dev/null' )
52
+ if @verbose && @eix_installed
53
+ puts "eix detected"
54
+ end
47
55
  end
48
56
 
49
57
  def run
50
- check_local_gems
51
58
  gather_ebuilds
59
+ check_local_gems
52
60
  write_ebuilds
53
61
  digest_ebuilds
54
62
  emerge
@@ -56,13 +64,12 @@ class EmergeGem
56
64
 
57
65
  def check_local_gems
58
66
  @gems.each do |gem|
59
- gem_installed = system( "gem list -l #{gem} | egrep '^#{gem} ' > /dev/null" )
60
- eix_installed = system( 'which eix > /dev/null' )
61
- next if ! gem_installed || ! eix_installed
67
+ next if ! EmergeGem.gem_installed?( gem ) || ! eix_installed
68
+ if @verbose; puts "#{gem} gem installed"; end
62
69
 
63
70
  puts "(checking if #{gem} has been installed with Portage)"
64
- package_installed = system( "eix -Ie --only-names #{gem} | egrep '#{gem}$' > /dev/null" )
65
- next if package_installed
71
+ next if EmergeGem.package_installed? gem
72
+ if @verbose; puts "#{gem} package not installed with Portage"; end
66
73
 
67
74
  puts "#{gem} seems to be installed via gem and not Portage."
68
75
  puts "Uninstall the #{gem} gem before emerging? [y/n]"
@@ -73,6 +80,14 @@ class EmergeGem
73
80
  end
74
81
  end
75
82
 
83
+ def self.gem_installed?( gem_name )
84
+ system "gem list -l #{gem_name} | egrep '^#{gem_name} ' > /dev/null"
85
+ end
86
+
87
+ def self.package_installed?( package_name )
88
+ system "eix -Ie --only-names #{package_name} | egrep '#{package_name}$' > /dev/null"
89
+ end
90
+
76
91
  def gather_ebuilds
77
92
  @ebuilds = {}
78
93
  while @gems.any?
@@ -108,7 +123,7 @@ class EmergeGem
108
123
 
109
124
  def emerge
110
125
  ebuild_names = @ebuilds.values.map { |e| e.name }.join( ' ' )
111
- shell "emerge #{@emerge_options} #{ebuild_names}"
126
+ shell "emerge #{@emerge_options.join( ' ' )} #{ebuild_names}"
112
127
  end
113
128
 
114
129
  def shell( command )
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Pistos-emerge-gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pistos