bricky 0.0.21 → 0.0.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/bricky/bricks/base.rb +3 -0
- data/lib/bricky/bricks/debian.rb +24 -3
- data/lib/bricky/commands/bootstrap.rb +16 -3
- data/lib/bricky/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MzkxMWM0NDVkZDUzNjU4ZWU2NjRlNWJhYTg1OTA1MzdjMzliMjUzNw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OWEzMzRkMjc3MTFjZDI5ZDQxMjJhYzI5MmUxMjdlNjNkMzFmODU0YQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZTc1Y2Q3ODc2MDZmYTI0MzY2MTI0YzkzZmU4NzE1YjBkNjZiMTA4N2ZkNDUw
|
10
|
+
MjI1NmY0OTJiZTkwMjNlYzJlYmJkMDkxNGIzNTY5YjIzOGQ5NDM2NWNiMzdk
|
11
|
+
MDZlMTg2MWVjZmY5ODFiYWNlNTVjMDY5ZTYzOTgwZGI2Y2NkMWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZjljMDBkZjIzNjhhOWJjNDY0YjM0YTNkOGJmOWFjNGZiYzhlMTc1NDNkMGRh
|
14
|
+
YzcxNzRlZWNmNjExZjYyM2M2YmRjZDEzMGFiMzdmOWUxZjRiMGY0OTZjZTli
|
15
|
+
ZTRhOTZkMmZkMjY1MTYxOTdmZGVkMTU5Mjg4N2U2MjY2M2IxNTA=
|
data/lib/bricky/bricks/base.rb
CHANGED
data/lib/bricky/bricks/debian.rb
CHANGED
@@ -1,16 +1,37 @@
|
|
1
|
+
require 'digest'
|
2
|
+
|
1
3
|
module Bricky
|
2
4
|
module Bricks
|
3
5
|
class Debian < Base
|
4
6
|
def arguments
|
5
|
-
builded_path = ENV.fetch('PACKAGE_OUTPUT_PATH',
|
7
|
+
builded_path = File.expand_path(ENV.fetch('PACKAGE_OUTPUT_PATH', config['build']))
|
6
8
|
scripts_path = "#{bricks_path}/debian"
|
7
9
|
|
8
10
|
%W(-v #{builded_path}:/builded
|
9
11
|
-v #{scripts_path}:/bricks/debian)
|
10
12
|
end
|
11
|
-
|
13
|
+
|
12
14
|
def entrypoint
|
13
|
-
"/bricks/debian/builder"
|
15
|
+
"/bricks/debian/builder"
|
16
|
+
end
|
17
|
+
|
18
|
+
def bootstrap(bootstrap_path)
|
19
|
+
if config.fetch('dependencies', false)
|
20
|
+
src = File.expand_path('debian/control')
|
21
|
+
dest = "#{bootstrap_path}/control"
|
22
|
+
|
23
|
+
FileUtils.cp(src, dest) unless skip_cached_file(src, dest)
|
24
|
+
["COPY control /tmp/control", "RUN yes | mk-build-deps --install /tmp/control"]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
def skip_cached_file(src, dest)
|
30
|
+
return false if not File.exists?(dest)
|
31
|
+
|
32
|
+
src_digest = Digest::SHA256.file(src).hexdigest
|
33
|
+
dest_digest = Digest::SHA256.file(dest).hexdigest
|
34
|
+
not src_digest.eql?(dest_digest) ? false : true
|
14
35
|
end
|
15
36
|
end
|
16
37
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require "etc"
|
2
2
|
require "fileutils"
|
3
|
+
require "bricky/bricks"
|
3
4
|
|
4
5
|
module Bricky
|
5
6
|
module Commands
|
@@ -16,7 +17,7 @@ module Bricky
|
|
16
17
|
|
17
18
|
[base, hack].each do |code|
|
18
19
|
logger.message "Processing '#{image.name}' image: ", code
|
19
|
-
|
20
|
+
|
20
21
|
unless Bricky::Executor.popen("builder", code)
|
21
22
|
logger.failure "~~~~~~~~~~~ Problems building image ~~~~~~~~~~~"
|
22
23
|
return false
|
@@ -35,8 +36,8 @@ module Bricky
|
|
35
36
|
end
|
36
37
|
|
37
38
|
def create_hack_image(image)
|
38
|
-
|
39
|
-
File.open("#{hack_path}/Dockerfile", "w") { |file| file.write(
|
39
|
+
hacked_docker_image = parse_hack_template(image) + append_to_template
|
40
|
+
File.open("#{hack_path}/Dockerfile", "w") { |file| file.write(hacked_docker_image) }
|
40
41
|
hack_path
|
41
42
|
end
|
42
43
|
|
@@ -56,6 +57,18 @@ module Bricky
|
|
56
57
|
def cache_file
|
57
58
|
"#{Bricky.config.cache_path}/builder"
|
58
59
|
end
|
60
|
+
|
61
|
+
def append_to_template
|
62
|
+
bricks.collect { |brick| brick.bootstrap(hack_path) }.flatten.join("\n")
|
63
|
+
end
|
64
|
+
|
65
|
+
def hack_path
|
66
|
+
FileUtils::mkdir_p("#{Bricky.config.tmp_path}/patch/").first
|
67
|
+
end
|
68
|
+
|
69
|
+
def bricks
|
70
|
+
@bricks ||= Bricky::Bricks.resolve
|
71
|
+
end
|
59
72
|
end
|
60
73
|
end
|
61
74
|
end
|
data/lib/bricky/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bricky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- andrerocker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|