bricky 0.0.21 → 0.0.22

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OTUwZjhlYzE5Yzc2OGM5N2JhOGNmOThlZWFiYzVkOTVhNGZkNjc3NA==
4
+ MzkxMWM0NDVkZDUzNjU4ZWU2NjRlNWJhYTg1OTA1MzdjMzliMjUzNw==
5
5
  data.tar.gz: !binary |-
6
- ZDk2ZGYyOTNiNzU3ZjQwZTZkMjE0YWE3N2QzM2FmNzk1N2EyYzgxNw==
6
+ OWEzMzRkMjc3MTFjZDI5ZDQxMjJhYzI5MmUxMjdlNjNkMzFmODU0YQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWI0MTE3MzA0YWUxMTMwZmU1OGIzNDI1ZmJjYThiM2U0NGZmNzQ2YWQ3ZjA4
10
- NWY4ZTY5ODI5OTZiYzE5MGFiNmVlY2RiNWQzN2QxMjgyMGRjZGI3ODNkM2Fm
11
- MTFmMzExNWIwZjhiMDRiN2I4NjUwMWYyYThhNDk4MjMzZjJjZmY=
9
+ ZTc1Y2Q3ODc2MDZmYTI0MzY2MTI0YzkzZmU4NzE1YjBkNjZiMTA4N2ZkNDUw
10
+ MjI1NmY0OTJiZTkwMjNlYzJlYmJkMDkxNGIzNTY5YjIzOGQ5NDM2NWNiMzdk
11
+ MDZlMTg2MWVjZmY5ODFiYWNlNTVjMDY5ZTYzOTgwZGI2Y2NkMWI=
12
12
  data.tar.gz: !binary |-
13
- MGM2NWQ2YTA3NDZjNGY1NGJlNmU4ZTMyOWQ2NGU2NDMwZDM2MmVhMWZlNzJh
14
- YmZlN2I4YzQ4YzZlNzc1NGFjMTY3ZDdiYTFkNjIwNTFjMzVkYjEwYWNiNDAy
15
- M2FjYTg4MmMzMTBmZWU3Y2RmN2I3MDZlMDExOTkxNmUzYTgyOGE=
13
+ ZjljMDBkZjIzNjhhOWJjNDY0YjM0YTNkOGJmOWFjNGZiYzhlMTc1NDNkMGRh
14
+ YzcxNzRlZWNmNjExZjYyM2M2YmRjZDEzMGFiMzdmOWUxZjRiMGY0OTZjZTli
15
+ ZTRhOTZkMmZkMjY1MTYxOTdmZGVkMTU5Mjg4N2U2MjY2M2IxNTA=
@@ -16,6 +16,9 @@ module Bricky
16
16
  def environments
17
17
  end
18
18
 
19
+ def bootstrap(bootstrap_path)
20
+ end
21
+
19
22
  private
20
23
  def bricks_path
21
24
  Bricky.config.shim_path
@@ -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', File.expand_path(config["build"]))
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
- hack_path = FileUtils::mkdir_p("#{Bricky.config.tmp_path}/patch/").first
39
- File.open("#{hack_path}/Dockerfile", "w") { |file| file.write(parse_hack_template(image)) }
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
@@ -1,3 +1,3 @@
1
1
  module Bricky
2
- VERSION = "0.0.21"
2
+ VERSION = "0.0.22"
3
3
  end
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.21
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-25 00:00:00.000000000 Z
11
+ date: 2015-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler