devinstall 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []