devinstall 1.2.2 → 1.2.3
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 +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +5 -0
- data/README.md +41 -22
- data/Rakefile +3 -0
- data/devinstall.gemspec +1 -0
- data/lib/devinstall/package.rb +5 -7
- data/lib/devinstall/{pkg → package}/pkg_deb.rb +1 -0
- data/lib/devinstall/{pkg → package}/pkg_rpm.rb +0 -0
- data/lib/devinstall/provider.rb +13 -6
- data/lib/devinstall/provider/provider_local.rb +4 -0
- data/lib/devinstall/provider/provider_ssh.rb +4 -0
- data/lib/devinstall/settings.rb +11 -10
- data/lib/devinstall/version.rb +1 -1
- data/spec/assets/example_01.yml +1 -1
- data/spec/assets/example_02.yml +1 -1
- data/spec/spec_helper.rb +3 -0
- data/spec/support/01_settings_spec.rb +58 -56
- data/spec/support/02_pkg_spec.rb +7 -6
- data/spec/support/03_provider_spec.rb +1 -1
- metadata +20 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0fdc7da0cef9c25edf168422feb0365b5319077
|
4
|
+
data.tar.gz: 9058195208de13470e301f22899d17ef6d26b68e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07e5ce63ab6e5afca185b39b299d4969a9e0875647f59610050baf25b2adae6972c209007c59b1064a7375e1e46a4929192f38489017faec2b14362ebf55dc19
|
7
|
+
data.tar.gz: 8b3f945bdcd09c6b6b31c8a39d31ebaefa74c4d860eb8f93107722609ef4302e6dc5c64a6e45dea31b9f2274134f54316fe09313cdf4ba5072007dbdb242d36e
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,12 +1,24 @@
|
|
1
|
-
|
1
|
+
# Devinstall [![Gem Version][GV img]][Gem Version] [![Build status][Build img]][Build status] [![CodeClimate status][CodeClimate img]][CodeClimate status] [![Coverage Status][Coverage img]][Coverage Status]
|
2
2
|
|
3
3
|
[Gem Version]: https://rubygems.org/gems/devinstall
|
4
4
|
|
5
5
|
[GV img]: https://badge.fury.io/rb/devinstall.png
|
6
6
|
|
7
|
+
[Build status]: https://travis-ci.org/dragosboca/devinstall
|
8
|
+
|
9
|
+
[Build img]: https://travis-ci.org/dragosboca/devinstall.png
|
10
|
+
|
11
|
+
[CodeClimate Status]: https://codeclimate.com/github/dragosboca/devinstall
|
12
|
+
|
13
|
+
[CodeClimate img]: https://codeclimate.com/github/dragosboca/devinstall.png
|
14
|
+
|
15
|
+
[Coverage Status]: https://coveralls.io/r/dragosboca/devinstall?branch=master
|
16
|
+
|
17
|
+
[Coverage img]: https://coveralls.io/repos/dragosboca/devinstall/badge.png?branch=master
|
18
|
+
|
7
19
|
This is a poor man automatic package builder / installer / deployer.
|
8
20
|
|
9
|
-
The build
|
21
|
+
The build is done on a remote machine (in the future on several remote machines by package type)
|
10
22
|
via external tools rsync and ssh.
|
11
23
|
|
12
24
|
The packages are installed on the remote machines also via external rsync/scp and sshsudo
|
@@ -28,12 +40,12 @@ Or install it yourself as:
|
|
28
40
|
|
29
41
|
## Usage
|
30
42
|
|
31
|
-
When you install the gem, the installer
|
43
|
+
When you install the gem, the installer automatically install a program named pkg-tool.
|
32
44
|
All the actions can be done via this tool.
|
33
45
|
|
34
46
|
The general command line syntax is:
|
35
47
|
|
36
|
-
$ pkg_tool <action> [<package>] [--env
|
48
|
+
$ pkg_tool <action> [<package>] [--env=<environment>] [--type=<type>] [--config=<config_file>]
|
37
49
|
|
38
50
|
Where:
|
39
51
|
|
@@ -45,7 +57,7 @@ Builds the package on the `build/env/host` and copy the package file(s) back in
|
|
45
57
|
|
46
58
|
install
|
47
59
|
|
48
|
-
Build (using `build` command) and install the
|
60
|
+
Build (using `build` command) and install the built package on the `install/env/host`
|
49
61
|
|
50
62
|
tests
|
51
63
|
|
@@ -59,11 +71,14 @@ Build the package, run the tests and upload thr file to the repo
|
|
59
71
|
|
60
72
|
The command line switches are:
|
61
73
|
|
62
|
-
|
74
|
+
--config=<config_file>
|
75
|
+
the config file (defaults to ./devinstall.yml)
|
63
76
|
|
64
|
-
|
77
|
+
--env=<environment>
|
78
|
+
the environment for the install or upload action
|
65
79
|
|
66
|
-
|
80
|
+
--type=<type>
|
81
|
+
the package type (`deb`, `rpm`, `tar.gz`, `arc`....)
|
67
82
|
|
68
83
|
The switches override the defaults in the config file
|
69
84
|
|
@@ -83,14 +98,14 @@ This will build and upload package "devinstall" to repository for dev-rh environ
|
|
83
98
|
|
84
99
|
In order to set all the variables and to define commands to do when building or installing you need a configuration file.
|
85
100
|
|
86
|
-
The said config file have simple YAML structure and should define the
|
101
|
+
The said config file have simple YAML structure and should define the following parameters:
|
87
102
|
|
88
103
|
local:
|
89
104
|
folder:
|
90
105
|
temp:
|
91
106
|
|
92
107
|
The folder where the source/prepackaged files are on the local (developer) machine (`:folder`) and the
|
93
|
-
temporary folder where the generated packages will be
|
108
|
+
temporary folder where the generated packages will be downloaded
|
94
109
|
|
95
110
|
build:
|
96
111
|
folder:
|
@@ -103,26 +118,26 @@ temporary folder where the generated packages will be downloades
|
|
103
118
|
|
104
119
|
In order:
|
105
120
|
|
106
|
-
-
|
121
|
+
- The folder where the sources should be copied (might be ignored by some provider_plugins)
|
107
122
|
|
108
123
|
- The command used to build the package (like `make package` or `dpkg-buildpackage`)
|
109
124
|
|
110
125
|
- The provider for the build machine (like the `local` machine or another machine
|
111
126
|
accessible only by SSH - `ssh`
|
112
127
|
|
113
|
-
-
|
128
|
+
- The package type ( `deb`ian, `rpm`, ...)
|
114
129
|
|
115
|
-
-
|
130
|
+
- The architecture (might be ignored by some package_plugins)
|
116
131
|
|
117
|
-
-
|
132
|
+
- And the folder where the package builder will put the built packages
|
118
133
|
|
119
|
-
- env define an environment (
|
134
|
+
- `env` define an environment (like `prod` or `QA`) for which the package will be built / installed
|
120
135
|
|
121
136
|
Unlike the other parameters env is optional
|
122
137
|
|
123
|
-
install:
|
138
|
+
install: #<-- This is a section
|
124
139
|
folder:
|
125
|
-
command:
|
140
|
+
command: #<-- This is a parameter
|
126
141
|
provider:
|
127
142
|
type:
|
128
143
|
arch:
|
@@ -141,7 +156,7 @@ Unlike the other parameters env is optional
|
|
141
156
|
|
142
157
|
The parameters have the same meaning as for `build:`
|
143
158
|
`repos` reffers to the package repository
|
144
|
-
`tests` is optional (DON'T do this) and no tests will be
|
159
|
+
`tests` is optional (DON'T do this) and no tests will be performed if it's missing
|
145
160
|
|
146
161
|
defaults:
|
147
162
|
type:
|
@@ -152,9 +167,9 @@ The default `type` and `env` if you don't use command-line switches
|
|
152
167
|
|
153
168
|
The order in which the parameters will be searched is:
|
154
169
|
|
155
|
-
- local
|
170
|
+
- local:
|
156
171
|
|
157
|
-
|
172
|
+
Example:
|
158
173
|
|
159
174
|
packages:
|
160
175
|
<package_name>:
|
@@ -166,13 +181,13 @@ Like:
|
|
166
181
|
|
167
182
|
- or global:
|
168
183
|
|
169
|
-
Like
|
184
|
+
Like:
|
170
185
|
|
171
186
|
<section>:
|
172
187
|
<env>:
|
173
188
|
<parameter>: value
|
174
189
|
|
175
|
-
The parameters
|
190
|
+
The parameters specified per package have priority over the global ones
|
176
191
|
|
177
192
|
In any case `env` is optional
|
178
193
|
|
@@ -183,3 +198,7 @@ In any case `env` is optional
|
|
183
198
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
184
199
|
4. Push to the branch (`git push origin my-new-feature`)
|
185
200
|
5. Create new Pull Request
|
201
|
+
|
202
|
+
|
203
|
+
[](https://bitdeli.com/free "Bitdeli Badge")
|
204
|
+
|
data/Rakefile
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
|
4
|
+
task :default => :spec
|
5
|
+
|
4
6
|
desc 'Run all examples'
|
5
7
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
6
8
|
t.pattern = './spec/spec_helper.rb'
|
@@ -14,3 +16,4 @@ task :coverage do
|
|
14
16
|
SimpleCov.start 'gem'
|
15
17
|
Rake::Task[:spec].execute
|
16
18
|
end
|
19
|
+
|
data/devinstall.gemspec
CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency 'rspec'
|
24
24
|
spec.add_development_dependency 'simplecov'
|
25
25
|
spec.add_development_dependency 'simplecov-gem-adapter'
|
26
|
+
spec.add_development_dependency 'coveralls'
|
26
27
|
spec.add_dependency 'getopt'
|
27
28
|
spec.add_dependency 'commander'
|
28
29
|
end
|
data/lib/devinstall/package.rb
CHANGED
@@ -9,14 +9,12 @@ module Devinstall
|
|
9
9
|
class UndeffError < RuntimeError;
|
10
10
|
end
|
11
11
|
|
12
|
-
|
13
12
|
class Package
|
14
13
|
include Utils
|
15
14
|
|
16
|
-
#noinspection RubyResolve
|
17
15
|
def load_package_plugin(type)
|
18
|
-
require "devinstall/
|
19
|
-
self.singleton_class.send(:include, Kernel.const_get(
|
16
|
+
require "devinstall/package/pkg_#{type.to_s}"
|
17
|
+
self.singleton_class.send(:include, Kernel.const_get('Pkg').const_get("#{type.to_s.capitalize}"))
|
20
18
|
end
|
21
19
|
|
22
20
|
def initialize(pkg, type, env)
|
@@ -48,7 +46,7 @@ module Devinstall
|
|
48
46
|
end
|
49
47
|
rescue KeyNotDefinedError => e
|
50
48
|
puts e.message
|
51
|
-
raise "Error
|
49
|
+
raise "Error building #{pkg}"
|
52
50
|
end
|
53
51
|
|
54
52
|
def install(pkg=@package, type=@type, env=@env)
|
@@ -61,7 +59,7 @@ module Devinstall
|
|
61
59
|
end
|
62
60
|
rescue KeyNotDefinedError => e
|
63
61
|
puts e.message
|
64
|
-
raise "Error
|
62
|
+
raise "Error installing #{pkg}"
|
65
63
|
end
|
66
64
|
|
67
65
|
def run_tests(pkg=@package, type=@type, env=@env)
|
@@ -79,7 +77,7 @@ module Devinstall
|
|
79
77
|
tester.do_action
|
80
78
|
rescue KeyNotDefinedError => e
|
81
79
|
puts e.message
|
82
|
-
raise "Error
|
80
|
+
raise "Error testing #{pkg}"
|
83
81
|
end
|
84
82
|
|
85
83
|
end
|
File without changes
|
data/lib/devinstall/provider.rb
CHANGED
@@ -1,17 +1,23 @@
|
|
1
1
|
module Devinstall
|
2
2
|
class Provider
|
3
3
|
|
4
|
-
|
4
|
+
def load_provider_plugin(provider)
|
5
|
+
require "devinstall/provider/provider_#{provider}"
|
6
|
+
self.singleton_class.send(:include, Kernel.const_get('Provider').const_get("#{provider.capitalize}"))
|
7
|
+
provider_settings=Kernel.const_get('Provider').const_get("#{provider.capitalize}")::SETTINGS
|
8
|
+
end
|
9
|
+
|
5
10
|
def initialize(pkg, type, env, action=nil)
|
6
11
|
providers={build: :build, install: :install, upload: :repos, run_tests: :tests}
|
7
12
|
@pkg, @type, @env = (pkg.to_sym rescue pkg), (type.to_sym rescue type), (env.to_sym rescue env)
|
8
13
|
@action = action || providers[caller_locations(1, 1)[0].label.to_sym] # that's realy stupid!
|
9
|
-
provider = Settings.instance.send(action, :provider, pkg: pkg, type: type, env: env)
|
10
|
-
|
11
|
-
self.singleton_class.send(:include, Kernel.const_get('Provider').const_get("#{provider.capitalize}"))
|
12
|
-
provider_settings=Kernel.const_get('Provider').const_get("#{provider.capitalize}")::SETTINGS
|
14
|
+
provider = Settings.instance.send(action, :provider, pkg: @pkg, type: @type, env: @env)
|
15
|
+
provider_settings = load_provider_plugin(provider)
|
13
16
|
Settings.instance.register_provider(provider.to_sym, provider_settings)
|
14
|
-
|
17
|
+
provider_init
|
18
|
+
ObjectSpace.define_finalizer(self, Proc.new{
|
19
|
+
provider_final
|
20
|
+
Settings.instance.unregister_provider(provider)})
|
15
21
|
end
|
16
22
|
|
17
23
|
def copy_sources # that's upload sources
|
@@ -51,3 +57,4 @@ module Devinstall
|
|
51
57
|
|
52
58
|
end
|
53
59
|
end
|
60
|
+
|
data/lib/devinstall/settings.rb
CHANGED
@@ -53,16 +53,17 @@ module Devinstall
|
|
53
53
|
end ## Class Action
|
54
54
|
|
55
55
|
def load! (filename)
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
56
|
+
if FILES.include? filename
|
57
|
+
true
|
58
|
+
else
|
59
|
+
FILES << filename
|
60
|
+
data = YAML::load_file(filename).deep_symbolize
|
61
|
+
merger = proc do |_, v1, v2|
|
62
|
+
Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2
|
63
|
+
end
|
64
|
+
SETTINGS.merge! data, &merger
|
65
|
+
end if File.exist?(File.expand_path(filename))
|
66
|
+
FILES.include? filename
|
66
67
|
end
|
67
68
|
|
68
69
|
def method_missing (method, *args)
|
data/lib/devinstall/version.rb
CHANGED
data/spec/assets/example_01.yml
CHANGED
data/spec/assets/example_02.yml
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,61 +1,63 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
require 'devinstall'
|
3
|
-
|
3
|
+
require 'pp'
|
4
4
|
describe 'Settings' do
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
expect(@config
|
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
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
6
|
+
it 'should load an existig file' do
|
7
|
+
res=@config.load!('./spec/assets/example_02.yml')
|
8
|
+
expect(res).to be true
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should not load an unexisting file' do
|
12
|
+
res=@config.load!('doc/unexisting.yml')
|
13
|
+
expect(res).to be false
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should load at init' do
|
17
|
+
expect(@config).to be_an_instance_of(Devinstall::Settings)
|
18
|
+
[:defaults, :local, :build, :install, :tests, :repos].each do |p|
|
19
|
+
expect(@config.respond_to? p).to be true
|
20
|
+
end # all sections loaded!
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should have a method defaults' do
|
24
|
+
expect(@config.respond_to? :defaults).to be true
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'the method "defaults" should have only one argument' do
|
28
|
+
expect(@config.defaults(:type)).to eq 'deb'
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should instantiate a new "Action" when hashes are given' do
|
32
|
+
expect(@config.build(type: 'deb', env: 'dev', pkg: @package)).to be_an_instance_of(Devinstall::Settings::Action)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should instantiata a new "Action" when partial hashes are given' do
|
36
|
+
expect(@config.build(pkg: @package)).to be_an_instance_of(Devinstall::Settings::Action)
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should raise "UnknownKeys" errors for unknown keys' do
|
40
|
+
expect { @config.defaults :none }.to raise_error(Devinstall::UnknownKeyError)
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'should raise "KeyNotDefinedError" errors for undefined keys' do
|
44
|
+
expect { @config.tests(:provider, pkg: @package) }.to raise_error(Devinstall::KeyNotDefinedError)
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'should produce a value if all arguments are valid' do
|
48
|
+
expect(@config.build(:command, pkg: @package)).to eq('cd %f/%p && dpkg-buildpackage')
|
49
|
+
end
|
50
|
+
|
51
|
+
describe 'Action' do
|
52
|
+
it 'should have a [] method' do
|
53
|
+
rr=@config.build(pkg: @package, type: @type, env: @env)
|
54
|
+
expect(rr[:target]).to eq('rs')
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'should enumerate all defined values' do
|
58
|
+
ar=[]
|
59
|
+
@config.build(pkg: @package, type: @type, env: @env).each { |k, _| ar << k }
|
60
|
+
expect(ar.sort == [:folder, :command, :provider, :type, :arch, :target].sort).to be true
|
61
|
+
end
|
62
|
+
end
|
61
63
|
end
|
data/spec/support/02_pkg_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe 'Packages' do
|
|
8
8
|
|
9
9
|
it 'should include the correct file' do
|
10
10
|
pk=Devinstall::Package.new(@package, @type, @env)
|
11
|
-
expect(pk.singleton_class.include?(Pkg::Deb)).to
|
11
|
+
expect(pk.singleton_class.include?(Pkg::Deb)).to be true
|
12
12
|
end
|
13
13
|
|
14
14
|
describe 'pkg_deb' do
|
@@ -16,29 +16,30 @@ describe 'Packages' do
|
|
16
16
|
$dry=true
|
17
17
|
pk =Devinstall::Package.new(@package, @type, @env)
|
18
18
|
out = capture_output { pk.build(@package, @type, @env) }
|
19
|
-
expect(out).to match
|
19
|
+
expect(out).to match(/^Building/)
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'should pretend to upload a package' do
|
23
23
|
$dry=true
|
24
24
|
pk =Devinstall::Package.new(@package, @type, @env)
|
25
25
|
out = capture_output { pk.upload(@package, @type, @env) }
|
26
|
-
expect(out).to match
|
26
|
+
expect(out).to match(/^Upload/)
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'should pretend to test a package' do
|
30
30
|
$dry=true
|
31
31
|
pk =Devinstall::Package.new(@package, @type, @env)
|
32
32
|
out = capture_output { pk.run_tests(@package, @type, @env) }
|
33
|
-
expect(out).to match
|
33
|
+
expect(out).to match(/^Running/)
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'should pretend to install a package' do
|
37
37
|
$dry=true
|
38
38
|
pk =Devinstall::Package.new(@package, @type, @env)
|
39
39
|
out = capture_output { pk.install(@package, @type, @env) }
|
40
|
-
expect(out).to match
|
40
|
+
expect(out).to match(/^Installing/)
|
41
41
|
end
|
42
|
-
|
43
42
|
end
|
43
|
+
|
44
44
|
end
|
45
|
+
|
@@ -9,6 +9,6 @@ describe 'Provider' do
|
|
9
9
|
|
10
10
|
it 'should load the correct (Provider::Ssh) plugin' do
|
11
11
|
provider = Devinstall::Provider.new(@package, @type, @env, @action)
|
12
|
-
expect(provider.singleton_class.include? Provider::Ssh).to
|
12
|
+
expect(provider.singleton_class.include? Provider::Ssh).to be true
|
13
13
|
end
|
14
14
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devinstall
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dragos Boca
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: coveralls
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: getopt
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,6 +131,7 @@ extensions: []
|
|
117
131
|
extra_rdoc_files: []
|
118
132
|
files:
|
119
133
|
- .gitignore
|
134
|
+
- .travis.yml
|
120
135
|
- Gemfile
|
121
136
|
- LICENSE.txt
|
122
137
|
- README
|
@@ -129,8 +144,8 @@ files:
|
|
129
144
|
- lib/devinstall/cli.rb
|
130
145
|
- lib/devinstall/deep_symbolize.rb
|
131
146
|
- lib/devinstall/package.rb
|
132
|
-
- lib/devinstall/
|
133
|
-
- lib/devinstall/
|
147
|
+
- lib/devinstall/package/pkg_deb.rb
|
148
|
+
- lib/devinstall/package/pkg_rpm.rb
|
134
149
|
- lib/devinstall/provider.rb
|
135
150
|
- lib/devinstall/provider/provider_local.rb
|
136
151
|
- lib/devinstall/provider/provider_ssh.rb
|
@@ -164,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
179
|
version: '0'
|
165
180
|
requirements: []
|
166
181
|
rubyforge_project:
|
167
|
-
rubygems_version: 2.
|
182
|
+
rubygems_version: 2.2.2
|
168
183
|
signing_key:
|
169
184
|
specification_version: 4
|
170
185
|
summary: Copy the source files to a build host, build the packages and install builded
|