pkgr 1.7.0 → 1.7.1

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5bc2c3b54c7392441fcb7245dd55d92f50c079d7
4
- data.tar.gz: 651f0aace529cd1fb2b4094cee35664544febb82
3
+ metadata.gz: 4295eff26d27f2e59538234d2dd56bbd3cd1f414
4
+ data.tar.gz: 4cbbec7b378bc664c72f8cf7ab2d146e9311607e
5
5
  SHA512:
6
- metadata.gz: f3056964307ef13fb6d2180451bde13ef3dbdcb1b8e7aaf78aad32de65d075eff37237bcc78559ed20b3ac0626f4840a525f7fa59c828de0c1fadf6ca88fa929
7
- data.tar.gz: adfc0cc6caa99afa30339503b98a65f8efa5fc9665d2aa67939f209a5f46f538df8e0ce2cc07a95bfdb4b34de53454b0661537dff4de178c1315df650546d38e
6
+ metadata.gz: 482bb1d56b8d58727326f8e39dfa31b44a6702b04d3d74e871d47b644ed3615233304881b31c8b9fbdfb0dc2f152f689e2ad4129c55c51f386e2ac5b7d431df1
7
+ data.tar.gz: ba7d6a6bc42b625d0912edcae450f76717820c8ca80bafff7a3a17af3b536eb794c491256fc78bad55f1ab31dfbb0ffd7efd556ebdd9e7a49eb62d5501a81b3c
@@ -7,8 +7,14 @@ module Pkgr
7
7
  attr_writer :buildpacks_cache_dir
8
8
 
9
9
  def buildpacks_cache_dir
10
- @buildpacks_cache_dir ||= File.expand_path("~/.pkgr/buildpacks").tap do |dir|
11
- FileUtils.mkdir_p(dir)
10
+ default_buildpacks_cache_dir = File.expand_path("~/.pkgr/buildpacks")
11
+ @buildpacks_cache_dir ||= begin
12
+ default_buildpacks_cache_dir.tap do |dir|
13
+ FileUtils.mkdir_p(dir)
14
+ end
15
+ rescue
16
+ Pkgr.warn "Unable to create directory at #{default_buildpacks_cache_dir.inspect}. Using temporary directory."
17
+ Dir.mktmpdir
12
18
  end
13
19
  end
14
20
  end
@@ -36,7 +42,10 @@ module Pkgr
36
42
  end
37
43
 
38
44
  def compile(path, compile_cache_dir, compile_env_dir)
39
- cmd = %{env -i #{compound_environment(path)} #{dir}/bin/compile "#{path}" "#{compile_cache_dir}" "#{compile_env_dir}" }
45
+ compile_home_dir = Dir.mktmpdir
46
+ # Required to work around bundler forcing a writable home dir
47
+ local_env = Env.new(["HOME=#{compile_home_dir}"])
48
+ cmd = %{env -i #{compound_environment(path, local_env)} #{dir}/bin/compile "#{path}" "#{compile_cache_dir}" "#{compile_env_dir}" }
40
49
  Pkgr.debug "Running #{cmd.inspect}"
41
50
 
42
51
  Dir.chdir(path) do
@@ -48,7 +57,8 @@ module Pkgr
48
57
  end
49
58
  raise "compile failed" unless $?.exitstatus.zero?
50
59
  end
51
-
60
+ ensure
61
+ FileUtils.remove_entry_secure compile_home_dir
52
62
  true
53
63
  end
54
64
 
@@ -107,8 +117,8 @@ module Pkgr
107
117
 
108
118
  private
109
119
 
110
- def compound_environment(path)
111
- Env.new(['PATH=$PATH']).merge(env).merge(exported_environment(File.join(path, "export")))
120
+ def compound_environment(path, local_env = Env.new)
121
+ Env.new(['PATH=$PATH']).merge(local_env).merge(env).merge(exported_environment(File.join(path, "export")))
112
122
  end
113
123
 
114
124
  def exported_environment(path)
@@ -42,7 +42,7 @@ module Pkgr
42
42
  v = (Git.new(path).latest_tag || "").gsub(/^[^\d]+(\d.*)/, '\1')
43
43
  # If it's not a Git archive, try to figure out svn revision number
44
44
  begin
45
- v = `cd #{path.to_s}&&svn info|grep Revision`.to_s.gsub!(/\D/, "") if (v !~ /^\d/)
45
+ v = `cd #{path.to_s} && svn info 2>/dev/null | grep Revision`.to_s.gsub!(/\D/, "") if (v !~ /^\d/)
46
46
  rescue
47
47
  end
48
48
  v = "0.0.0" if v !~ /^\d/
@@ -1,3 +1,3 @@
1
1
  module Pkgr
2
- VERSION = "1.7.0"
2
+ VERSION = "1.7.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pkgr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyril Rohr