pkgr 1.5.1 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +2 -2
- data/README.md +20 -9
- data/data/build_dependencies/debian.yml +12 -2
- data/data/buildpacks/amazon-2014 +2 -2
- data/data/buildpacks/amazon-2015 +2 -2
- data/data/buildpacks/centos-6 +2 -2
- data/data/buildpacks/centos-7 +2 -2
- data/data/buildpacks/debian-6 +1 -1
- data/data/buildpacks/debian-7 +2 -2
- data/data/buildpacks/debian-8 +2 -2
- data/data/buildpacks/debian-9 +4 -0
- data/data/buildpacks/fedora-20 +2 -2
- data/data/buildpacks/sles-11 +2 -2
- data/data/buildpacks/sles-12 +2 -2
- data/data/buildpacks/ubuntu-10.04 +1 -1
- data/data/buildpacks/ubuntu-12.04 +2 -2
- data/data/buildpacks/ubuntu-14.04 +2 -2
- data/data/buildpacks/ubuntu-16.04 +2 -2
- data/data/cli/cli.sh.erb +176 -57
- data/data/dependencies/debian.yml +15 -4
- data/data/dependencies/sles.yml +1 -1
- data/data/hooks/postinstall.sh +2 -1
- data/data/hooks/postuninstall.sh +1 -1
- data/data/hooks/preinstall.sh +1 -1
- data/data/hooks/preuninstall.sh +1 -1
- data/data/init/systemd/default/process.service.erb +1 -1
- data/data/init/sysv/lsb-3.1/process.erb +3 -4
- data/data/init/upstart/1.5/process.conf.erb +1 -1
- data/lib/pkgr/builder.rb +31 -22
- data/lib/pkgr/buildpack.rb +17 -5
- data/lib/pkgr/cli.rb +7 -3
- data/lib/pkgr/config.rb +10 -0
- data/lib/pkgr/distributions/amazon.rb +38 -1
- data/lib/pkgr/distributions/base.rb +9 -9
- data/lib/pkgr/distributions/debian.rb +1 -1
- data/lib/pkgr/distributions/redhat.rb +0 -2
- data/lib/pkgr/env.rb +10 -4
- data/lib/pkgr/env_value.rb +55 -0
- data/lib/pkgr/version.rb +1 -1
- metadata +10 -9
data/lib/pkgr/env.rb
CHANGED
@@ -1,13 +1,20 @@
|
|
1
|
+
require 'pkgr/env_value'
|
2
|
+
|
1
3
|
module Pkgr
|
2
4
|
class Env
|
3
5
|
attr_reader :variables
|
4
6
|
|
7
|
+
def self.from_export(file)
|
8
|
+
new(File.read(file).split("\n").map { |line| line.sub(/^export\s+/, "") })
|
9
|
+
end
|
10
|
+
|
5
11
|
def initialize(variables = nil)
|
6
12
|
@variables = variables || []
|
13
|
+
@variables.compact!
|
7
14
|
end
|
8
15
|
|
9
16
|
def to_s
|
10
|
-
to_hash.map
|
17
|
+
to_hash.map{|k, v| [k, v.quote].join("=")}.join(" ")
|
11
18
|
end
|
12
19
|
|
13
20
|
def present?
|
@@ -23,13 +30,12 @@ module Pkgr
|
|
23
30
|
end
|
24
31
|
|
25
32
|
private
|
26
|
-
|
27
33
|
def create_env_hash_from_string
|
28
34
|
return {} if variables == []
|
29
35
|
|
30
36
|
variables.inject({}) do |h, var|
|
31
|
-
name, value = var.split('=')
|
32
|
-
h[name.strip] = value.strip
|
37
|
+
name, value = var.split('=', 2)
|
38
|
+
h[name.strip] = EnvValue.new(value || "").strip.unquote
|
33
39
|
h
|
34
40
|
end
|
35
41
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
class EnvValue < String
|
2
|
+
def quote(type=:double, count=nil)
|
3
|
+
if Integer === type
|
4
|
+
tmp = count
|
5
|
+
count = type
|
6
|
+
type = tmp || :mixed
|
7
|
+
else
|
8
|
+
count ||= 1
|
9
|
+
end
|
10
|
+
|
11
|
+
type = type.to_s unless Integer===type
|
12
|
+
|
13
|
+
case type
|
14
|
+
when "'", 'single', 's', 1
|
15
|
+
f = "'" * count
|
16
|
+
b = f
|
17
|
+
when '"', 'double', 'd', 2
|
18
|
+
f = '"' * count
|
19
|
+
b = f
|
20
|
+
when '`', 'back', 'b', -1
|
21
|
+
f = '`' * count
|
22
|
+
b = f
|
23
|
+
when "`'", 'bracket', 'sb'
|
24
|
+
f = "`" * count
|
25
|
+
b = "'" * count
|
26
|
+
when "'\"", 'mixed', "m", Integer
|
27
|
+
c = (count.to_f / 2).to_i
|
28
|
+
f = '"' * c
|
29
|
+
b = f
|
30
|
+
if count % 2 != 0
|
31
|
+
f = "'" + f
|
32
|
+
b = b + "'"
|
33
|
+
end
|
34
|
+
else
|
35
|
+
raise ArgumentError, "unrecognized quote type -- #{type}"
|
36
|
+
end
|
37
|
+
"#{f}#{self}#{b}"
|
38
|
+
end
|
39
|
+
|
40
|
+
def unquote
|
41
|
+
s = self.dup
|
42
|
+
|
43
|
+
case self[0,1]
|
44
|
+
when "'", '"', '`'
|
45
|
+
s[0] = ''
|
46
|
+
end
|
47
|
+
|
48
|
+
case self[-1,1]
|
49
|
+
when "'", '"', '`'
|
50
|
+
s[-1] = ''
|
51
|
+
end
|
52
|
+
|
53
|
+
return s
|
54
|
+
end
|
55
|
+
end
|
data/lib/pkgr/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pkgr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cyril Rohr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 12.2.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 12.2.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: thor
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '3'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '3'
|
111
111
|
description: Simplify the deployment of your applications by automatically packaging
|
112
112
|
your application and its dependencies on multiple platforms.
|
113
113
|
email:
|
@@ -135,6 +135,7 @@ files:
|
|
135
135
|
- data/buildpacks/debian-6
|
136
136
|
- data/buildpacks/debian-7
|
137
137
|
- data/buildpacks/debian-8
|
138
|
+
- data/buildpacks/debian-9
|
138
139
|
- data/buildpacks/fedora-20
|
139
140
|
- data/buildpacks/sles-11
|
140
141
|
- data/buildpacks/sles-12
|
@@ -185,6 +186,7 @@ files:
|
|
185
186
|
- lib/pkgr/distributions/sles.rb
|
186
187
|
- lib/pkgr/distributions/ubuntu.rb
|
187
188
|
- lib/pkgr/env.rb
|
189
|
+
- lib/pkgr/env_value.rb
|
188
190
|
- lib/pkgr/fpm_command.rb
|
189
191
|
- lib/pkgr/git.rb
|
190
192
|
- lib/pkgr/installer.rb
|
@@ -205,7 +207,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
205
207
|
requirements:
|
206
208
|
- - ">="
|
207
209
|
- !ruby/object:Gem::Version
|
208
|
-
version: 1.
|
210
|
+
version: 1.9.3
|
209
211
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
210
212
|
requirements:
|
211
213
|
- - ">="
|
@@ -213,9 +215,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
213
215
|
version: '1.3'
|
214
216
|
requirements: []
|
215
217
|
rubyforge_project:
|
216
|
-
rubygems_version: 2.
|
218
|
+
rubygems_version: 2.6.11
|
217
219
|
signing_key:
|
218
220
|
specification_version: 4
|
219
221
|
summary: Package any Ruby, NodeJS or Go app as a deb or rpm package
|
220
222
|
test_files: []
|
221
|
-
has_rdoc:
|