devinstall 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 21d81d91ce39de101c87585be67fe8aeb67b3b3e
4
+ data.tar.gz: b425da5e779873153917ee6d6ed44c836b71d9a2
5
+ SHA512:
6
+ metadata.gz: a83e7bb521527a4620312080b65dea0c97ce91d804391551f95f986e2c08b456256d6e70b157e2d08903a0bc6250047ec48478235288bd609e26552ef1c94c15
7
+ data.tar.gz: 0246b9fc91d49eb5b819859bf9b78a61074decea28e8a9671253e48b455b21f835ddd3a75829a12922f439843096ec952e7a70c6a6fe7d1d3089d7632e210913
data/.idea/devinstall.iml CHANGED
@@ -15,9 +15,9 @@
15
15
  </content>
16
16
  <orderEntry type="inheritedJdk" />
17
17
  <orderEntry type="sourceFolder" forTests="false" />
18
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.3.4, ruby-1.9.3-p374) [gem]" level="application" />
19
- <orderEntry type="library" scope="PROVIDED" name="getopt (v1.4.1, ruby-1.9.3-p374) [gem]" level="application" />
20
- <orderEntry type="library" scope="PROVIDED" name="rake (v10.0.3, ruby-1.9.3-p374) [gem]" level="application" />
18
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.3.4, RVM: ruby-2.0.0-p0) [gem]" level="application" />
19
+ <orderEntry type="library" scope="PROVIDED" name="getopt (v1.4.1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
20
+ <orderEntry type="library" scope="PROVIDED" name="rake (v10.0.3, RVM: ruby-2.0.0-p0) [gem]" level="application" />
21
21
  </component>
22
22
  </module>
23
23
 
data/.idea/misc.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
- <component name="ProjectRootManager" version="2" project-jdk-name="ruby-1.9.3-p374" project-jdk-type="RUBY_SDK" />
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-2.0.0-p0" project-jdk-type="RUBY_SDK" />
4
4
  </project>
5
5
 
data/devinstall.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.name = 'devinstall'
8
8
  spec.version = Devinstall::VERSION
9
9
  spec.authors = ['Dragos Boca']
10
- spec.email = ['dboca@mail.com']
10
+ spec.email = %w(dboca@mail.com)
11
11
  spec.description = %q{remote builder and installer}
12
12
  spec.summary = %q{Copy the source files to a build host, build the packages and install builded packages}
13
13
  spec.homepage = 'http://github.com/dboca/devinstall'
@@ -19,7 +19,7 @@ module DeepSymbolizable
19
19
 
20
20
  def deep_symbolize(&block)
21
21
  method = self.class.to_s.downcase.to_sym
22
- syms = DeepSymbolizable::Symbolizers
22
+ syms = DeepSymbolizable::Symbolizers
23
23
  syms.respond_to?(method) ? syms.send(method, self, &block) : self
24
24
  end
25
25
 
@@ -16,6 +16,7 @@ module Settings
16
16
  newsets = newsets[options[:env].to_sym] if options[:env] && newsets[options[:env].to_sym]
17
17
  deep_merge!(@_settings, newsets)
18
18
  end
19
+
19
20
  def deep_merge!(target, data)
20
21
  merger = proc { |_, v1, v2|
21
22
  Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 }
@@ -1,3 +1,3 @@
1
1
  module Devinstall
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
data/lib/devinstall.rb CHANGED
@@ -7,98 +7,97 @@ require 'devinstall/settings' ## in near future we will have to abandon Setting
7
7
  module Devinstall
8
8
  class Pkg
9
9
 
10
-
11
10
  # @param [Symbol] type
12
11
  def get_version(type)
13
12
  if type == :deb
14
- deb_changelog = "#{Settings.local[:folder]}/debian/changelog" # This is the folder that should be checked
15
- deb_package_version =File.open(deb_changelog, 'r').gets.chomp.sub(/^.*\((.*)\).*$/, "\1")
13
+ deb_changelog = "#{Settings.local[:folder]}/debian/changelog" # This is the folder that should be checked
14
+ deb_package_version =File.open(deb_changelog, 'r').gets.chomp.sub(/^.*\((.*)\).*$/, "\1")
16
15
  @_package_version[:deb]=deb_package_version
17
16
  end
18
17
  end
19
- end
20
18
 
21
- def new (package)
22
- # curently implemented only for .deb packages (for .rpm later :D)
23
- @package =package.to_sym
24
- @_package_version =Hash.new # versions for types:
25
- @package_files =Hash.new
26
- arch =Settings.build[:arch]
27
- pname ="#{package}_#{get_version :deb}"
28
- @package_files[:deb] ={deb: "#{pname}_#{arch}.deb",
29
- tgz: "#{pname}.tar.gz",
30
- dsc: "#{pname}.dsc",
31
- chg: "#{pname}_debian.changes"}
32
- end
33
-
34
- def upload! (environment)
35
- scp =Settings.base[:scp]
36
- repo =Hash.new
37
- type =Settings.repos[environment][:type]
38
- [:user, :host, :folder].each do |k|
39
- fail("Unexistent key repos:#{environment}:#{k}") unless Settings.repos[environment].has_key?(k)
40
- repo[k]=Settings.repos[environment][k]
41
- end
42
- build(type)
43
- @package_files[type].each do |p|
44
- system("#{scp} #{Settings.local[:temp]}/#{p} #{repo[:user]}@#{repo[:host]}:#{repo[:folder]}")
19
+ def new (package)
20
+ # curently implemented only for .deb packages (for .rpm later :D)
21
+ @package =package.to_sym
22
+ @_package_version =Hash.new # versions for types:
23
+ @package_files =Hash.new
24
+ arch =Settings.build[:arch]
25
+ pname ="#{package}_#{get_version :deb}"
26
+ @package_files[:deb] ={deb: "#{pname}_#{arch}.deb",
27
+ tgz: "#{pname}.tar.gz",
28
+ dsc: "#{pname}.dsc",
29
+ chg: "#{pname}_debian.changes"}
45
30
  end
46
- end
47
31
 
48
- # @param [Symbol] type
49
- def build! (type)
50
- unless Settings.packages[@package].has_key?(type)
51
- puts("Package '#{@package}' cannot be built for the required environment")
52
- puts("undefined build configuration for '#{type.to_s}'")
53
- exit!(1)
32
+ def upload! (environment)
33
+ scp =Settings.base[:scp]
34
+ repo =Hash.new
35
+ type =Settings.repos[environment][:type]
36
+ [:user, :host, :folder].each do |k|
37
+ fail("Unexistent key repos:#{environment}:#{k}") unless Settings.repos[environment].has_key?(k)
38
+ repo[k]=Settings.repos[environment][k]
39
+ end
40
+ build(type)
41
+ @package_files[type].each do |p|
42
+ system("#{scp} #{Settings.local[:temp]}/#{p} #{repo[:user]}@#{repo[:host]}:#{repo[:folder]}")
43
+ end
54
44
  end
55
- build =Hash.new
56
- [:user, :host, :folder, :target].each do |k|
57
- unless Settings.build.has_key?(k)
58
- puts("Undefined key 'build:#{k.to_s}:'")
45
+
46
+ # @param [Symbol] type
47
+ def build! (type)
48
+ unless Settings.packages[@package].has_key?(type)
49
+ puts("Package '#{@package}' cannot be built for the required environment")
50
+ puts("undefined build configuration for '#{type.to_s}'")
59
51
  exit!(1)
60
52
  end
61
- build[k]=Settings.build[k]
62
- end
53
+ build =Hash.new
54
+ [:user, :host, :folder, :target].each do |k|
55
+ unless Settings.build.has_key?(k)
56
+ puts("Undefined key 'build:#{k.to_s}:'")
57
+ exit!(1)
58
+ end
59
+ build[k]=Settings.build[k]
60
+ end
63
61
 
64
- ssh =Settings.base[:ssh]
65
- build_command=Settings.packages[@package][type][:build_command]
66
- rsync =Settings.base[:rsync]
67
- local_folder =Settings.local[:folder]
68
- local_temp =Settings.local[:temp]
69
- build_command.sub('%f', Settings.build[:folder]).
70
- sub('%t', Settings.build[:target]).
71
- sub('%p', @package.to_s).
72
- sub('%T', type.to_s)
62
+ ssh =Settings.base[:ssh]
63
+ build_command=Settings.packages[@package][type][:build_command]
64
+ rsync =Settings.base[:rsync]
65
+ local_folder =Settings.local[:folder]
66
+ local_temp =Settings.local[:temp]
67
+ build_command.sub('%f', Settings.build[:folder]).
68
+ sub('%t', Settings.build[:target]).
69
+ sub('%p', @package.to_s).
70
+ sub('%T', type.to_s)
73
71
 
74
- system("#{rsync} -az #{local_folder}/ #{build[:user]}@#{build[:host]}:#{build[:folder]}")
75
- system("#{ssh} #{build[:user]}@#{build[:host]} -c \"#{build_command}\"")
76
- @package_files[type].each do |p|
77
- system("#{rsync} -az #{build[:user]}@#{build[:host]}/#{build[:target]}/#{p} #{local_temp}")
72
+ system("#{rsync} -az #{local_folder}/ #{build[:user]}@#{build[:host]}:#{build[:folder]}")
73
+ system("#{ssh} #{build[:user]}@#{build[:host]} -c \"#{build_command}\"")
74
+ @package_files[type].each do |p|
75
+ system("#{rsync} -az #{build[:user]}@#{build[:host]}/#{build[:target]}/#{p} #{local_temp}")
76
+ end
78
77
  end
79
- end
80
78
 
81
- def install! (environment)
82
- sudo =Settings.base[:sudo]
83
- scp =Settings.base[:scp]
84
- type =Settings.install[environment][:type]
85
- local_temp =Settings.local[:temp]
86
- build!(type)
87
- install=Hash.new
88
- [:user, :host, :folder].each do |k|
89
- unless Settings.install[environment].has_key?(k)
90
- puts "Undefined key 'install:#{environment.to_s}:#{k.to_s}'"
91
- exit!(1)
79
+ def install! (environment)
80
+ sudo =Settings.base[:sudo]
81
+ scp =Settings.base[:scp]
82
+ type =Settings.install[environment][:type]
83
+ local_temp =Settings.local[:temp]
84
+ build!(type)
85
+ install=Hash.new
86
+ [:user, :host, :folder].each do |k|
87
+ unless Settings.install[environment].has_key?(k)
88
+ puts "Undefined key 'install:#{environment.to_s}:#{k.to_s}'"
89
+ exit!(1)
90
+ end
91
+ install[k]=Settings[environment][k]
92
+ end
93
+ case type.to_sym
94
+ when :deb
95
+ system("#{scp} #{local_temp}/#{@package_files[type][:deb]} #{install[:user]}@#{install[:host]}/#{install[:folder]}")
96
+ system("#{sudo} #{build![:user]}@#{build[:host]} \"dpkg -i #{install[:folder]}/#{@package_files[type][:deb]}")
97
+ else
98
+ puts "unknown package type '#{type.to_s}'"
99
+ exit!(1)
92
100
  end
93
- install[k]=Settings[environment][k]
94
- end
95
- case type.to_sym
96
- when :deb
97
- system("#{scp} #{local_temp}/#{@package_files[type][:deb]} #{install[:user]}@#{install[:host]}/#{install[:folder]}")
98
- system("#{sudo} #{build![:user]}@#{build[:host]} \"dpkg -i #{install[:folder]}/#{@package_files[type][:deb]}")
99
- else
100
- puts "unknown package type '#{type.to_s}'"
101
- exit!(1)
102
101
  end
103
102
  end
104
103
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devinstall
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
5
- prerelease:
4
+ version: 0.0.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Dragos Boca
@@ -14,49 +13,43 @@ dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: getopt
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  description: remote builder and installer
@@ -93,27 +86,26 @@ files:
93
86
  homepage: http://github.com/dboca/devinstall
94
87
  licenses:
95
88
  - MIT
89
+ metadata: {}
96
90
  post_install_message:
97
91
  rdoc_options: []
98
92
  require_paths:
99
93
  - lib
100
94
  required_ruby_version: !ruby/object:Gem::Requirement
101
- none: false
102
95
  requirements:
103
- - - ! '>='
96
+ - - '>='
104
97
  - !ruby/object:Gem::Version
105
98
  version: '0'
106
99
  required_rubygems_version: !ruby/object:Gem::Requirement
107
- none: false
108
100
  requirements:
109
- - - ! '>='
101
+ - - '>='
110
102
  - !ruby/object:Gem::Version
111
103
  version: '0'
112
104
  requirements: []
113
105
  rubyforge_project:
114
- rubygems_version: 1.8.25
106
+ rubygems_version: 2.0.3
115
107
  signing_key:
116
- specification_version: 3
108
+ specification_version: 4
117
109
  summary: Copy the source files to a build host, build the packages and install builded
118
110
  packages
119
111
  test_files: []