Always chmod +x
binary
stanzas.
This commit is contained in:
parent
ef02414888
commit
88bc68f3b5
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user