Skip to content
Snippets Groups Projects
Commit 88bc68f3 authored by Markus Reiter's avatar Markus Reiter
Browse files

Always `chmod +x` `binary` stanzas.

parent ef024148
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,11 @@ module Hbc
def install_phase
super if CLI.binaries?
end
def link(artifact_spec)
super(artifact_spec)
FileUtils.chmod "+x", source
end
end
end
end
......@@ -35,7 +35,7 @@ module Hbc
altnames = "(#{altnames})"
# Some packges are shipped as u=rx (e.g. Bitcoin Core)
@command.run!("/bin/chmod", args: ["--", "u=rwx", file.to_s, file.realpath.to_s])
@command.run!("/bin/chmod", args: ["--", "u+rw", file.to_s, file.realpath.to_s])
@command.run!("/usr/bin/xattr",
args: ["-w", ALT_NAME_ATTRIBUTE, altnames, file.to_s],
......
......@@ -9,9 +9,11 @@ describe Hbc::Artifact::Binary, :cask do
let(:expected_path) {
Hbc.binarydir.join("binary")
}
before(:each) do
Hbc.binarydir.mkpath
end
after(:each) do
FileUtils.rm expected_path if expected_path.exist?
end
......@@ -24,6 +26,17 @@ describe Hbc::Artifact::Binary, :cask do
expect(expected_path.readlink).to exist
end
it "makes the binary executable" do
expect(FileUtils).to receive(:chmod).with("+x", cask.staged_path.join("binary"))
shutup do
Hbc::Artifact::Binary.new(cask).install_phase
end
expect(expected_path).to be_a_symlink
expect(expected_path.readlink).to be_executable
end
it "avoids clobbering an existing binary by linking over it" do
FileUtils.touch expected_path
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment