vanagon 0.11.2 → 0.11.3
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '08bdc336ed173230734222c33f733c6c6e0998e9'
|
|
4
|
+
data.tar.gz: 425755b48dc1ef81986dc1ed65ab12f1884aff55
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 02b3231742bd7937b2f790de2600e9f52f6244b4c6d03f3f3d63f5ff0021b8e0ee09d9d7a27c32cb2842077a8fe65dbc80b1c87745782d13a9cc2deb0d30322d
|
|
7
|
+
data.tar.gz: 9a268a0b5cfe23da58d0f47d9f4325efc9ed57c3c51130c12895a260cc15636aba58cdea6031fc43652282a3369e9f66e2cefb8302c75a55ead8fdc666f9badb
|
|
@@ -45,7 +45,7 @@ class Vanagon
|
|
|
45
45
|
# Ensure that #url returns a URI object
|
|
46
46
|
@url = URI.parse(url.to_s)
|
|
47
47
|
@ref = opts[:ref]
|
|
48
|
-
@workdir = workdir
|
|
48
|
+
@workdir = File.realpath(workdir)
|
|
49
49
|
|
|
50
50
|
# We can test for Repo existence without cloning
|
|
51
51
|
raise Vanagon::InvalidRepo, "#{url} not a valid Git repo" unless valid_remote?
|
data/lib/vanagon/patch.rb
CHANGED
|
@@ -32,7 +32,7 @@ class Vanagon
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def cmd(platform)
|
|
35
|
-
"#{platform.patch} --strip=#{@strip} --fuzz=#{@fuzz} --ignore-whitespace < $(workdir)/patches/#{File.basename(@path)}"
|
|
35
|
+
"#{platform.patch} --strip=#{@strip} --fuzz=#{@fuzz} --ignore-whitespace --no-backup-if-mismatch < $(workdir)/patches/#{File.basename(@path)}"
|
|
36
36
|
end
|
|
37
37
|
end
|
|
38
38
|
end
|
|
@@ -58,10 +58,7 @@ Requires: <%= requires %>
|
|
|
58
58
|
# did not specify a dependency on these.
|
|
59
59
|
# In the future, we will supress pre/post scripts completely if there's nothing
|
|
60
60
|
# specified by the project or the components.
|
|
61
|
-
<%-
|
|
62
|
-
Requires: /bin/mkdir
|
|
63
|
-
Requires: /bin/touch
|
|
64
|
-
<%- else -%>
|
|
61
|
+
<%- unless @platform.is_aix? -%>
|
|
65
62
|
Requires(pre): /bin/mkdir
|
|
66
63
|
Requires(pre): /bin/touch
|
|
67
64
|
Requires(post): /bin/mkdir
|
|
@@ -75,8 +75,8 @@ describe Vanagon::Component::Rules do
|
|
|
75
75
|
expect(rule.recipe.first).to eq(
|
|
76
76
|
[
|
|
77
77
|
"cd /foo/bar",
|
|
78
|
-
"/usr/bin/patch --strip=1 --fuzz=0 --ignore-whitespace < $(workdir)/patches/patch0",
|
|
79
|
-
"/usr/bin/patch --strip=2 --fuzz=1 --ignore-whitespace < $(workdir)/patches/patch1"
|
|
78
|
+
"/usr/bin/patch --strip=1 --fuzz=0 --ignore-whitespace --no-backup-if-mismatch < $(workdir)/patches/patch0",
|
|
79
|
+
"/usr/bin/patch --strip=2 --fuzz=1 --ignore-whitespace --no-backup-if-mismatch < $(workdir)/patches/patch1"
|
|
80
80
|
].join(" && \\\n")
|
|
81
81
|
)
|
|
82
82
|
end
|
|
@@ -246,8 +246,8 @@ describe Vanagon::Component::Rules do
|
|
|
246
246
|
Vanagon::Patch.new('/foo/postinstall/patch1', 4, 10, 'install', '/foo/quux'),
|
|
247
247
|
]
|
|
248
248
|
|
|
249
|
-
expect(rule.recipe[1]).to eq("cd /foo/baz && /usr/bin/patch --strip=3 --fuzz=9 --ignore-whitespace < $(workdir)/patches/patch0")
|
|
250
|
-
expect(rule.recipe[2]).to eq("cd /foo/quux && /usr/bin/patch --strip=4 --fuzz=10 --ignore-whitespace < $(workdir)/patches/patch1")
|
|
249
|
+
expect(rule.recipe[1]).to eq("cd /foo/baz && /usr/bin/patch --strip=3 --fuzz=9 --ignore-whitespace --no-backup-if-mismatch < $(workdir)/patches/patch0")
|
|
250
|
+
expect(rule.recipe[2]).to eq("cd /foo/quux && /usr/bin/patch --strip=4 --fuzz=10 --ignore-whitespace --no-backup-if-mismatch < $(workdir)/patches/patch1")
|
|
251
251
|
end
|
|
252
252
|
|
|
253
253
|
it_behaves_like "a rule that touches the target file"
|
|
@@ -17,6 +17,8 @@ describe "Vanagon::Component::Source::Git" do
|
|
|
17
17
|
allow(Git)
|
|
18
18
|
.to receive(:ls_remote)
|
|
19
19
|
.and_return(true)
|
|
20
|
+
|
|
21
|
+
allow(File).to receive(:realpath).and_return(@workdir)
|
|
20
22
|
end
|
|
21
23
|
|
|
22
24
|
describe "#initialize" do
|
|
@@ -29,6 +31,13 @@ describe "Vanagon::Component::Source::Git" do
|
|
|
29
31
|
expect { @klass.new(@url, ref: @ref_tag, workdir: @workdir) }
|
|
30
32
|
.to raise_error(Vanagon::InvalidRepo)
|
|
31
33
|
end
|
|
34
|
+
|
|
35
|
+
it "uses the realpath of the workdir if we're in a symlinked dir" do
|
|
36
|
+
expect(File).to receive(:realpath).and_return("/tmp/bar")
|
|
37
|
+
git_source = @klass.new(@local_url, ref: @ref_tag, workdir: "/tmp/foo")
|
|
38
|
+
expect(git_source.workdir)
|
|
39
|
+
.to eq('/tmp/bar')
|
|
40
|
+
end
|
|
32
41
|
end
|
|
33
42
|
|
|
34
43
|
describe "#dirname" do
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vanagon
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.11.
|
|
4
|
+
version: 0.11.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Puppet Labs
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-04-
|
|
11
|
+
date: 2017-04-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: git
|
|
@@ -237,7 +237,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
237
237
|
version: '0'
|
|
238
238
|
requirements: []
|
|
239
239
|
rubyforge_project:
|
|
240
|
-
rubygems_version: 2.2
|
|
240
|
+
rubygems_version: 2.5.2
|
|
241
241
|
signing_key:
|
|
242
242
|
specification_version: 3
|
|
243
243
|
summary: All of your packages will fit into this van with this one simple trick.
|