From 73a5572a081e22161714bd4bbec9adc62aeed2da Mon Sep 17 00:00:00 2001 From: Mike McQuaid <mike@mikemcquaid.com> Date: Tue, 13 Oct 2020 11:37:47 +0100 Subject: [PATCH] brew vendor-gems: commit updates. --- .../Homebrew/vendor/bundle/bundler/setup.rb | 10 +-- .../lib/macho.rb | 25 +++++- .../lib/macho/exceptions.rb | 16 ++-- .../lib/macho/fat_file.rb | 10 ++- .../lib/macho/headers.rb | 12 +-- .../lib/macho/load_commands.rb | 87 ++++++++++--------- .../lib/macho/macho_file.rb | 6 +- .../lib/macho/sections.rb | 6 +- .../lib/macho/structure.rb | 4 +- .../lib/macho/tools.rb | 14 +++ .../lib/macho/utils.rb | 6 +- .../lib/macho/view.rb | 2 + 12 files changed, 128 insertions(+), 70 deletions(-) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho.rb (58%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/exceptions.rb (92%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/fat_file.rb (98%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/headers.rb (99%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/load_commands.rb (97%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/macho_file.rb (99%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/sections.rb (98%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/structure.rb (95%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/tools.rb (94%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/utils.rb (98%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.3.0}/lib/macho/view.rb (96%) diff --git a/Library/Homebrew/vendor/bundle/bundler/setup.rb b/Library/Homebrew/vendor/bundle/bundler/setup.rb index 89d30e2fef..e22d19b124 100644 --- a/Library/Homebrew/vendor/bundle/bundler/setup.rb +++ b/Library/Homebrew/vendor/bundle/bundler/setup.rb @@ -20,7 +20,7 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/json-2.3.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/docile-1.3.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/simplecov-html-0.12.3/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/simplecov-0.19.0/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/codecov-0.2.11/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/codecov-0.2.12/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/coderay-1.1.3/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/colorize-0.8.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/highline-2.0.3/lib" @@ -51,7 +51,7 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel-1.19.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel_tests-3.3.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parser-2.7.2.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rainbow-3.0.0/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-runtime-0.5.5942/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-runtime-0.5.5943/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parlour-4.0.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/patchelf-1.3.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/plist-3.5.0/lib" @@ -76,9 +76,9 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-0.92.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-performance-1.8.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-rspec-1.43.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-sorbet-0.5.1/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-macho-2.2.0/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-static-0.5.5942-universal-darwin-19/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-0.5.5942/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-macho-2.3.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-static-0.5.5943-universal-darwin-19/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-0.5.5943/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-runtime-stub-0.2.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/thor-1.0.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/spoom-1.0.4/lib" diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho.rb similarity index 58% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho.rb index bb0336a499..506b6f263d 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho.rb @@ -1,3 +1,6 @@ +# frozen_string_literal: true + +require "English" require_relative "macho/structure" require_relative "macho/view" require_relative "macho/headers" @@ -12,7 +15,7 @@ require_relative "macho/tools" # The primary namespace for ruby-macho. module MachO # release version - VERSION = "2.2.0".freeze + VERSION = "2.3.0" # Opens the given filename as a MachOFile or FatFile, depending on its magic. # @param filename [String] the file being opened @@ -25,7 +28,7 @@ module MachO raise ArgumentError, "#{filename}: no such file" unless File.file?(filename) raise TruncatedFileError unless File.stat(filename).size >= 4 - magic = File.open(filename, "rb") { |f| f.read(4) }.unpack("N").first + magic = File.open(filename, "rb") { |f| f.read(4) }.unpack1("N") if Utils.fat_magic?(magic) file = FatFile.new(filename) @@ -37,4 +40,22 @@ module MachO file end + + # Signs the dylib using an ad-hoc identity. + # Necessary after making any changes to a dylib, since otherwise + # changing a signed file invalidates its signature. + # @param filename [String] the file being opened + # @return [void] + # @raise [ModificationError] if the operation fails + def self.codesign!(filename) + # codesign binary is not available on Linux + return if RUBY_PLATFORM !~ /darwin/ + raise ArgumentError, "#{filename}: no such file" unless File.file?(filename) + + system("codesign", "--sign", "-", "--force", + "--preserve-metadata=entitlements,requirements,flags,runtime", + filename) + + raise ModificationError, "#{filename}: signing failed!" unless $CHILD_STATUS.success? + end end diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/exceptions.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/exceptions.rb similarity index 92% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/exceptions.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/exceptions.rb index a07781cbbf..4587c3086e 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/exceptions.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/exceptions.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module MachO # A generic Mach-O error in execution. class MachOError < RuntimeError @@ -41,8 +43,8 @@ module MachO # Raised when a file's magic bytes are not valid Mach-O magic. class MagicError < NotAMachOError # @param num [Integer] the unknown number - def initialize(num) - super "Unrecognized Mach-O magic: 0x#{"%02x" % num}" + def initialize(magic) + super "Unrecognized Mach-O magic: 0x%02<magic>x" % { :magic => magic } end end @@ -71,7 +73,7 @@ module MachO class CPUTypeError < MachOError # @param cputype [Integer] the unknown CPU type def initialize(cputype) - super "Unrecognized CPU type: 0x#{"%08x" % cputype}" + super "Unrecognized CPU type: 0x%08<cputype>x" % { :cputype => cputype } end end @@ -80,8 +82,8 @@ module MachO # @param cputype [Integer] the CPU type of the unknown pair # @param cpusubtype [Integer] the CPU sub-type of the unknown pair def initialize(cputype, cpusubtype) - super "Unrecognized CPU sub-type: 0x#{"%08x" % cpusubtype}" \ - " (for CPU type: 0x#{"%08x" % cputype})" + super "Unrecognized CPU sub-type: 0x%08<cpusubtype>x" \ + " (for CPU type: 0x%08<cputype>x" % { :cputype => cputype, :cpusubtype => cpusubtype } end end @@ -89,7 +91,7 @@ module MachO class FiletypeError < MachOError # @param num [Integer] the unknown number def initialize(num) - super "Unrecognized Mach-O filetype code: 0x#{"%02x" % num}" + super "Unrecognized Mach-O filetype code: 0x%02<num>x" % { :num => num } end end @@ -97,7 +99,7 @@ module MachO class LoadCommandError < MachOError # @param num [Integer] the unknown number def initialize(num) - super "Unrecognized Mach-O load command: 0x#{"%02x" % num}" + super "Unrecognized Mach-O load command: 0x%02<num>x" % { :num => num } end end diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/fat_file.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/fat_file.rb similarity index 98% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/fat_file.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/fat_file.rb index 809f647ca1..93ac2a000c 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/fat_file.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/fat_file.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require "forwardable" module MachO @@ -398,13 +400,13 @@ module MachO machos.each_with_index do |macho, index| begin yield macho - rescue RecoverableModificationError => error - error.macho_slice = index + rescue RecoverableModificationError => e + e.macho_slice = index # Strict mode: Immediately re-raise. Otherwise: Retain, check later. - raise error if strict + raise e if strict - errors << error + errors << e end end diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/headers.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/headers.rb similarity index 99% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/headers.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/headers.rb index 0a940e405c..525809e6bb 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/headers.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/headers.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module MachO # Classes and constants for parsing the headers of Mach-O binaries. module Headers @@ -490,7 +492,7 @@ module MachO # always big-endian # @see MachOStructure::FORMAT # @api private - FORMAT = "N2".freeze + FORMAT = "N2" # @see MachOStructure::SIZEOF # @api private @@ -541,7 +543,7 @@ module MachO # @note Always big endian. # @see MachOStructure::FORMAT # @api private - FORMAT = "L>5".freeze + FORMAT = "L>5" # @see MachOStructure::SIZEOF # @api private @@ -587,7 +589,7 @@ module MachO # @note Always big endian. # @see MachOStructure::FORMAT # @api private - FORMAT = "L>2Q>2L>2".freeze + FORMAT = "L>2Q>2L>2" # @see MachOStructure::SIZEOF # @api private @@ -637,7 +639,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=7".freeze + FORMAT = "L=7" # @see MachOStructure::SIZEOF # @api private @@ -760,7 +762,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=8".freeze + FORMAT = "L=8" # @see MachOStructure::SIZEOF # @api private diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/load_commands.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/load_commands.rb similarity index 97% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/load_commands.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/load_commands.rb index 394a0c6717..0220743cfc 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/load_commands.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/load_commands.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module MachO # Classes and constants for parsing load commands in Mach-O binaries. module LoadCommands @@ -60,6 +62,8 @@ module MachO 0x30 => :LC_VERSION_MIN_WATCHOS, 0x31 => :LC_NOTE, 0x32 => :LC_BUILD_VERSION, + (0x33 | LC_REQ_DYLD) => :LC_DYLD_EXPORTS_TRIE, + (0x34 | LC_REQ_DYLD) => :LD_DYLD_CHAINED_FIXUPS, }.freeze # association of symbol representations to load command constants @@ -145,6 +149,8 @@ module MachO :LC_VERSION_MIN_WATCHOS => "VersionMinCommand", :LC_NOTE => "NoteCommand", :LC_BUILD_VERSION => "BuildVersionCommand", + :LC_DYLD_EXPORTS_TRIE => "LinkeditDataCommand", + :LD_DYLD_CHAINED_FIXUPS => "LinkeditDataCommand", }.freeze # association of segment name symbols to names @@ -186,7 +192,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2".freeze + FORMAT = "L=2" # @see MachOStructure::SIZEOF # @api private @@ -365,7 +371,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2a16".freeze + FORMAT = "L=2a16" # @see MachOStructure::SIZEOF # @api private @@ -379,7 +385,7 @@ module MachO # @return [String] a string representation of the UUID def uuid_string - hexes = uuid.map { |e| "%02x" % e } + hexes = uuid.map { |elem| "%02<elem>x" % { :elem => elem } } segs = [ hexes[0..3].join, hexes[4..5].join, hexes[6..7].join, hexes[8..9].join, hexes[10..15].join @@ -429,7 +435,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2Z16L=4l=2L=2".freeze + FORMAT = "L=2Z16L=4l=2L=2" # @see MachOStructure::SIZEOF # @api private @@ -524,7 +530,7 @@ module MachO class SegmentCommand64 < SegmentCommand # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2Z16Q=4l=2L=2".freeze + FORMAT = "L=2Z16Q=4l=2L=2" # @see MachOStructure::SIZEOF # @api private @@ -550,7 +556,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=6".freeze + FORMAT = "L=6" # @see MachOStructure::SIZEOF # @api private @@ -601,7 +607,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -649,7 +655,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=5".freeze + FORMAT = "L=5" # @see MachOStructure::SIZEOF # @api private @@ -679,7 +685,7 @@ module MachO class ThreadCommand < LoadCommand # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2".freeze + FORMAT = "L=2" # @see MachOStructure::SIZEOF # @api private @@ -717,7 +723,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=10".freeze + FORMAT = "L=10" # @see MachOStructure::SIZEOF # @api private @@ -758,7 +764,7 @@ module MachO class RoutinesCommand64 < RoutinesCommand # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2Q=8".freeze + FORMAT = "L=2Q=8" # @see MachOStructure::SIZEOF # @api private @@ -773,7 +779,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -801,7 +807,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -829,7 +835,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -857,7 +863,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -894,7 +900,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=6".freeze + FORMAT = "L=6" # @see MachOStructure::SIZEOF # @api private @@ -979,7 +985,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=20".freeze + FORMAT = "L=20" # @see MachOStructure::SIZEOF # @api private @@ -1052,7 +1058,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1127,7 +1133,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -1156,7 +1162,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -1191,7 +1197,8 @@ module MachO # A load command representing the offsets and sizes of a blob of data in # the __LINKEDIT segment. Corresponds to LC_CODE_SIGNATURE, # LC_SEGMENT_SPLIT_INFO, LC_FUNCTION_STARTS, LC_DATA_IN_CODE, - # LC_DYLIB_CODE_SIGN_DRS, and LC_LINKER_OPTIMIZATION_HINT. + # LC_DYLIB_CODE_SIGN_DRS, LC_LINKER_OPTIMIZATION_HINT, LC_DYLD_EXPORTS_TRIE, + # or LC_DYLD_CHAINED_FIXUPS. class LinkeditDataCommand < LoadCommand # @return [Integer] offset to the data in the __LINKEDIT segment attr_reader :dataoff @@ -1201,7 +1208,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1237,7 +1244,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=5".freeze + FORMAT = "L=5" # @see MachOStructure::SIZEOF # @api private @@ -1269,7 +1276,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=6".freeze + FORMAT = "L=6" # @see MachOStructure::SIZEOF # @api private @@ -1301,7 +1308,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1317,7 +1324,7 @@ module MachO # A string representation of the binary's minimum OS version. # @return [String] a string representing the minimum OS version. def version_string - binary = "%032b" % version + binary = "%032<version>b" % { :version => version } segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } @@ -1328,7 +1335,7 @@ module MachO # A string representation of the binary's SDK version. # @return [String] a string representing the SDK version. def sdk_string - binary = "%032b" % sdk + binary = "%032<sdk>b" % { :sdk => sdk } segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } @@ -1365,7 +1372,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=6".freeze + FORMAT = "L=6" # @see MachOStructure::SIZEOF # @api private @@ -1383,7 +1390,7 @@ module MachO # A string representation of the binary's minimum OS version. # @return [String] a string representing the minimum OS version. def minos_string - binary = "%032b" % minos + binary = "%032<minos>b" % { :minos => minos } segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } @@ -1394,7 +1401,7 @@ module MachO # A string representation of the binary's SDK version. # @return [String] a string representing the SDK version. def sdk_string - binary = "%032b" % sdk + binary = "%032<sdk>b" % { :sdk => sdk } segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } @@ -1494,7 +1501,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=12".freeze + FORMAT = "L=12" # @see MachOStructure::SIZEOF # @api private @@ -1542,7 +1549,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -1572,7 +1579,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2Q=2".freeze + FORMAT = "L=2Q=2" # @see MachOStructure::SIZEOF # @api private @@ -1602,7 +1609,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2Q=1".freeze + FORMAT = "L=2Q=1" # @see MachOStructure::SIZEOF # @api private @@ -1617,7 +1624,7 @@ module MachO # A string representation of the sources used to build the binary. # @return [String] a string representation of the version def version_string - binary = "%064b" % version + binary = "%064<version>b" % { :version => version } segs = [ binary[0..23], binary[24..33], binary[34..43], binary[44..53], binary[54..63] @@ -1646,7 +1653,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1674,7 +1681,7 @@ module MachO class IdentCommand < LoadCommand # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2".freeze + FORMAT = "L=2" # @see MachOStructure::SIZEOF # @api private @@ -1692,7 +1699,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1727,7 +1734,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=5".freeze + FORMAT = "L=5" # @see MachOStructure::SIZEOF # @api private @@ -1764,7 +1771,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2Z16Q=2".freeze + FORMAT = "L=2Z16Q=2" # @see MachOStructure::SIZEOF # @api private diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/macho_file.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/macho_file.rb similarity index 99% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/macho_file.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/macho_file.rb index dc5bb3b914..041111ad3b 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/macho_file.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/macho_file.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require "forwardable" module MachO @@ -476,7 +478,7 @@ module MachO # @raise [FatBinaryError] if the magic is for a Fat file # @api private def populate_and_check_magic - magic = @raw_data[0..3].unpack("N").first + magic = @raw_data[0..3].unpack1("N") raise MagicError, magic unless Utils.magic?(magic) raise FatBinaryError if Utils.fat_magic?(magic) @@ -522,7 +524,7 @@ module MachO header.ncmds.times do fmt = Utils.specialize_format("L=", endianness) - cmd = @raw_data.slice(offset, 4).unpack(fmt).first + cmd = @raw_data.slice(offset, 4).unpack1(fmt) cmd_sym = LoadCommands::LOAD_COMMANDS[cmd] raise LoadCommandError, cmd unless cmd_sym || permissive diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/sections.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/sections.rb similarity index 98% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/sections.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/sections.rb index 093fbb2f88..f2d0b3db95 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/sections.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/sections.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module MachO # Classes and constants for parsing sections in Mach-O binaries. module Sections @@ -108,7 +110,7 @@ module MachO attr_reader :reserved2 # @see MachOStructure::FORMAT - FORMAT = "Z16Z16L=9".freeze + FORMAT = "Z16Z16L=9" # @see MachOStructure::SIZEOF SIZEOF = 68 @@ -180,7 +182,7 @@ module MachO attr_reader :reserved3 # @see MachOStructure::FORMAT - FORMAT = "Z16Z16Q=2L=8".freeze + FORMAT = "Z16Z16Q=2L=8" # @see MachOStructure::SIZEOF SIZEOF = 80 diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/structure.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/structure.rb similarity index 95% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/structure.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/structure.rb index 7bece4d704..0356d605af 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/structure.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/structure.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module MachO # A general purpose pseudo-structure. # @abstract @@ -5,7 +7,7 @@ module MachO # The String#unpack format of the data structure. # @return [String] the unpacking format # @api private - FORMAT = "".freeze + FORMAT = "" # The size of the data structure, in bytes. # @return [Integer] the size, in bytes diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/tools.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/tools.rb similarity index 94% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/tools.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/tools.rb index c9bcbd7407..00c80ef1ca 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/tools.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/tools.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module MachO # A collection of convenient methods for common operations on Mach-O and Fat # binaries. @@ -23,6 +25,8 @@ module MachO file.change_dylib_id(new_id, options) file.write! + + MachO.codesign!(filename) end # Changes a shared library install name in a Mach-O or Fat binary, @@ -39,6 +43,8 @@ module MachO file.change_install_name(old_name, new_name, options) file.write! + + MachO.codesign!(filename) end # Changes a runtime path in a Mach-O or Fat binary, overwriting the source @@ -55,6 +61,8 @@ module MachO file.change_rpath(old_path, new_path, options) file.write! + + MachO.codesign!(filename) end # Add a runtime path to a Mach-O or Fat binary, overwriting the source file. @@ -69,6 +77,8 @@ module MachO file.add_rpath(new_path, options) file.write! + + MachO.codesign!(filename) end # Delete a runtime path from a Mach-O or Fat binary, overwriting the source @@ -84,6 +94,8 @@ module MachO file.delete_rpath(old_path, options) file.write! + + MachO.codesign!(filename) end # Merge multiple Mach-Os into one universal (Fat) binary. @@ -104,6 +116,8 @@ module MachO fat_macho = MachO::FatFile.new_from_machos(*machos, :fat64 => fat64) fat_macho.write(filename) + + MachO.codesign!(filename) end end end diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/utils.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/utils.rb similarity index 98% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/utils.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/utils.rb index fb41806041..362e4dbf03 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/utils.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/utils.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module MachO # A collection of utility functions used throughout ruby-macho. module Utils @@ -51,7 +53,7 @@ module MachO def self.pack_strings(fixed_offset, alignment, strings = {}) offsets = {} next_offset = fixed_offset - payload = "" + payload = +"" strings.each do |key, string| offsets[key] = next_offset @@ -61,7 +63,7 @@ module MachO end payload << Utils.nullpad(padding_for(fixed_offset + payload.bytesize, alignment)) - [payload, offsets] + [payload.freeze, offsets] end # Compares the given number to valid Mach-O magic numbers. diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/view.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/view.rb similarity index 96% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/view.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/view.rb index 5bd40e7f0e..ad68ee30ed 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.2.0/lib/macho/view.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-2.3.0/lib/macho/view.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module MachO # A representation of some unspecified Mach-O data. class MachOView -- GitLab