docker_core 0.0.10 → 0.0.14
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/lib/docker_core.rb +36 -18
- metadata +15 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c701083c9a545230b1e4fac7502e31c418627da7dd0b0b90bd19bc14a9aec98
|
4
|
+
data.tar.gz: f3b7b98b2a654d247b21b4015f3388a2b6578708803ad0a88bc92020588ae565
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa4c150462533849c1760cfdbb27a780165ee079d652224e83ad84d4a9de081b0eedc148ea9c9799cfa224a4c3d99323ea15fa362b59405794427f41784e55da
|
7
|
+
data.tar.gz: 77f9c1ce5f6b1b6b803c6097ee50c866c400beffee23c472f9c3a01fa60f4449eb4388703b5a9c2d5a468744e2e911cac5dcc94822a3555f86300568302aa620
|
data/lib/docker_core.rb
CHANGED
@@ -34,36 +34,37 @@ module DockerCore
|
|
34
34
|
end
|
35
35
|
|
36
36
|
# @param [String] command
|
37
|
-
# @param [Boolean]
|
38
|
-
|
39
|
-
def self.run(command, verbose: true, throw: true)
|
40
|
-
if verbose
|
41
|
-
self.echo("+ #{command}")
|
42
|
-
end
|
43
|
-
|
37
|
+
# @param [Boolean] force
|
38
|
+
def self.run(command, force: false)
|
44
39
|
begin
|
40
|
+
self.echo("+ #{command}")
|
45
41
|
print(`#{command}`)
|
46
42
|
rescue
|
47
|
-
|
48
|
-
raise $!
|
49
|
-
end
|
43
|
+
raise unless force
|
50
44
|
end
|
51
45
|
end
|
52
46
|
|
47
|
+
# @param [String] command
|
48
|
+
# @param [Boolean] force
|
49
|
+
def self.suexec(command, force: false)
|
50
|
+
command = "su-exec core #{command}"
|
51
|
+
self.run(command, force: force)
|
52
|
+
end
|
53
|
+
|
53
54
|
# @param [Integer] uid
|
54
55
|
# @param [Integer] gid
|
55
56
|
def self.update_user(uid: 500, gid: 500)
|
56
57
|
uid = ENV.fetch('DOCKER_CORE_UID', uid)
|
57
58
|
gid = ENV.fetch('DOCKER_CORE_GID', gid)
|
58
|
-
self.run('deluser core',
|
59
|
-
self.run('delgroup core',
|
59
|
+
self.run('deluser core', force: true)
|
60
|
+
self.run('delgroup core', force: true)
|
60
61
|
self.run("addgroup --system --gid=#{gid} core")
|
61
62
|
self.run("adduser --system --disabled-password --no-create-home --ingroup=core --gecos=core --shell=/bin/bash --uid=#{uid} core")
|
62
63
|
end
|
63
64
|
|
64
65
|
# @param [Array<String>] arguments
|
65
66
|
def self.path(*arguments)
|
66
|
-
return Dir
|
67
|
+
return Dir.glob(arguments.flatten, File::FNM_DOTMATCH).map { |item| File.path(item) }.uniq
|
67
68
|
end
|
68
69
|
|
69
70
|
# @param [Array<String>] arguments
|
@@ -74,14 +75,31 @@ module DockerCore
|
|
74
75
|
end
|
75
76
|
|
76
77
|
# @param [Array<String>] arguments
|
77
|
-
def self.
|
78
|
+
def self.chmod(mode, *arguments)
|
78
79
|
self.path(*arguments).each do |path|
|
80
|
+
FileUtils.chmod_R(mode, path, force: true)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# @param [Array<String>] arguments
|
85
|
+
def self.mkdir(*arguments, mode: nil)
|
86
|
+
stack = []
|
87
|
+
paths = arguments.map { |path| File.path(path) }.uniq
|
88
|
+
|
89
|
+
paths.each do |path|
|
90
|
+
until path == stack.last
|
91
|
+
stack << path
|
92
|
+
path = File.dirname(path)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
stack.uniq.each do |path|
|
79
97
|
if File.exist?(path) && false == File.directory?(path)
|
80
98
|
File.delete(path)
|
81
99
|
end
|
82
|
-
|
83
|
-
FileUtils.mkdir_p(path, mode: mode)
|
84
100
|
end
|
101
|
+
|
102
|
+
FileUtils.mkdir_p(paths, mode: mode)
|
85
103
|
end
|
86
104
|
|
87
105
|
# @param [Array<String>] arguments
|
@@ -175,7 +193,7 @@ module DockerCore
|
|
175
193
|
if entry.file?
|
176
194
|
self.mkdir(File.dirname(file))
|
177
195
|
File.binwrite(file, entry.read)
|
178
|
-
|
196
|
+
self.chmod(mode, file)
|
179
197
|
next
|
180
198
|
end
|
181
199
|
end
|
@@ -201,7 +219,7 @@ module DockerCore
|
|
201
219
|
# @type [Gem::Package::TarWriter] writer
|
202
220
|
Gem::Package::TarWriter.new(io) do |writer|
|
203
221
|
# @type [String] file
|
204
|
-
|
222
|
+
self.path(File.join(path, '**/*')).each do |name|
|
205
223
|
mode = File.stat(name).mode
|
206
224
|
file = name.slice(offset ..)
|
207
225
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docker_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- agrozyme
|
@@ -14,44 +14,44 @@ dependencies:
|
|
14
14
|
name: fileutils
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '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: '1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: zlib
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '1'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '1'
|
55
55
|
description:
|
56
56
|
email:
|
57
57
|
executables: []
|
@@ -60,7 +60,8 @@ extra_rdoc_files: []
|
|
60
60
|
files:
|
61
61
|
- lib/docker_core.rb
|
62
62
|
homepage: https://gitlab.com/agrozyme-package/ruby/docker_core
|
63
|
-
licenses:
|
63
|
+
licenses:
|
64
|
+
- Ruby
|
64
65
|
metadata: {}
|
65
66
|
post_install_message:
|
66
67
|
rdoc_options: []
|