os/mac/ruby_keg: improve error reporting
A failure to change a dylib ID or install name would previously cause a rather cryptic error message, that didn't include the name of the file that caused the failure, unless `--debug` was specified. Make sure to output this information in all cases before re-raising the exception.
This commit is contained in:
parent
0c6e307eef
commit
06fe347de9
@ -5,12 +5,26 @@ module RubyKeg
|
|||||||
@require_install_name_tool = true
|
@require_install_name_tool = true
|
||||||
puts "Changing dylib ID of #{file}\n from #{file.dylib_id}\n to #{id}" if ARGV.debug?
|
puts "Changing dylib ID of #{file}\n from #{file.dylib_id}\n to #{id}" if ARGV.debug?
|
||||||
MachO::Tools.change_dylib_id(file, id)
|
MachO::Tools.change_dylib_id(file, id)
|
||||||
|
rescue MachO::MachOError
|
||||||
|
onoe <<-EOS.undent
|
||||||
|
Failed changing dylib ID of #{file}
|
||||||
|
from #{file.dylib_id}
|
||||||
|
to #{id}
|
||||||
|
EOS
|
||||||
|
raise
|
||||||
end
|
end
|
||||||
|
|
||||||
def change_install_name(old, new, file)
|
def change_install_name(old, new, file)
|
||||||
@require_install_name_tool = true
|
@require_install_name_tool = true
|
||||||
puts "Changing install name in #{file}\n from #{old}\n to #{new}" if ARGV.debug?
|
puts "Changing install name in #{file}\n from #{old}\n to #{new}" if ARGV.debug?
|
||||||
MachO::Tools.change_install_name(file, old, new)
|
MachO::Tools.change_install_name(file, old, new)
|
||||||
|
rescue MachO::MachOError
|
||||||
|
onoe <<-EOS.undent
|
||||||
|
Failed changing install name in #{file}
|
||||||
|
from #{old}
|
||||||
|
to #{new}
|
||||||
|
EOS
|
||||||
|
raise
|
||||||
end
|
end
|
||||||
|
|
||||||
def require_install_name_tool?
|
def require_install_name_tool?
|
||||||
|
Loading…
x
Reference in New Issue
Block a user