From c7ffe46b2d7798c23a454c37301b2946fe8dba60 Mon Sep 17 00:00:00 2001 From: Jonathan Chang Date: Sun, 15 Nov 2020 00:39:57 +1100 Subject: [PATCH] brew vendor-gems: commit updates. --- .../Homebrew/vendor/bundle/bundler/setup.rb | 8 +- .../lib/macho.rb | 25 +++++- .../lib/macho/exceptions.rb | 25 +++--- .../lib/macho/fat_file.rb | 18 ++-- .../lib/macho/headers.rb | 15 ++-- .../lib/macho/load_commands.rb | 88 ++++++++++--------- .../lib/macho/macho_file.rb | 6 +- .../lib/macho/sections.rb | 7 +- .../lib/macho/structure.rb | 4 +- .../lib/macho/tools.rb | 2 + .../lib/macho/utils.rb | 6 +- .../lib/macho/view.rb | 2 + 12 files changed, 128 insertions(+), 78 deletions(-) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.5.0}/lib/macho.rb (56%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.5.0}/lib/macho/exceptions.rb (90%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.5.0}/lib/macho/fat_file.rb (97%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.5.0}/lib/macho/headers.rb (99%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.5.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.5.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.5.0}/lib/macho/sections.rb (98%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.5.0}/lib/macho/structure.rb (95%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.5.0}/lib/macho/tools.rb (99%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.5.0}/lib/macho/utils.rb (98%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{ruby-macho-2.2.0 => ruby-macho-2.5.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 5dfd238b38..d6c83a98a2 100644 --- a/Library/Homebrew/vendor/bundle/bundler/setup.rb +++ b/Library/Homebrew/vendor/bundle/bundler/setup.rb @@ -51,7 +51,7 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel-1.20.0/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.6036/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-runtime-0.5.6040/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-1.2.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-performance-1.8.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-rspec-2.0.0/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.6036-universal-darwin-19/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-0.5.6036/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-macho-2.5.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-static-0.5.6042-universal-darwin-19/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-0.5.6042/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.5.0/lib/macho.rb similarity index 56% 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.5.0/lib/macho.rb index bb0336a499..bc6773a92f 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.5.0/lib/macho.rb @@ -1,3 +1,7 @@ +# frozen_string_literal: true + +require "open3" + require_relative "macho/structure" require_relative "macho/view" require_relative "macho/headers" @@ -12,7 +16,7 @@ require_relative "macho/tools" # The primary namespace for ruby-macho. module MachO # release version - VERSION = "2.2.0".freeze + VERSION = "2.5.0" # Opens the given filename as a MachOFile or FatFile, depending on its magic. # @param filename [String] the file being opened @@ -25,7 +29,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 +41,21 @@ 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) + raise ArgumentError, "codesign binary is not available on Linux" if RUBY_PLATFORM !~ /darwin/ + raise ArgumentError, "#{filename}: no such file" unless File.file?(filename) + + _, _, status = Open3.capture3("codesign", "--sign", "-", "--force", + "--preserve-metadata=entitlements,requirements,flags,runtime", + filename) + + raise CodeSigningError, "#{filename}: signing failed!" unless 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.5.0/lib/macho/exceptions.rb similarity index 90% 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.5.0/lib/macho/exceptions.rb index a07781cbbf..b3b53e340c 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.5.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 @@ -7,6 +9,11 @@ module MachO class ModificationError < MachOError end + # Raised when codesigning fails. Certain environments + # may want to rescue this to treat it as non-fatal. + class CodeSigningError < MachOError + end + # Raised when a Mach-O file modification fails but can be recovered when # operating on multiple Mach-O slices of a fat binary in non-strict mode. class RecoverableModificationError < ModificationError @@ -25,10 +32,6 @@ module MachO # Raised when a file is not a Mach-O. class NotAMachOError < MachOError - # @param error [String] the error in question - def initialize(error) - super error - end end # Raised when a file is too short to be a valid Mach-O file. @@ -41,8 +44,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%02x" % { :magic => magic } end end @@ -71,7 +74,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%08x" % { :cputype => cputype } end end @@ -80,8 +83,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%08x" \ + " (for CPU type: 0x%08x" % { :cputype => cputype, :cpusubtype => cpusubtype } end end @@ -89,7 +92,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%02x" % { :num => num } end end @@ -97,7 +100,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%02x" % { :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.5.0/lib/macho/fat_file.rb similarity index 97% 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.5.0/lib/macho/fat_file.rb index 809f647ca1..0eecdcf326 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.5.0/lib/macho/fat_file.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require "forwardable" module MachO @@ -64,7 +66,7 @@ module MachO offset += (macho.serialize.bytesize + macho_pads[macho]) end - machos.each do |macho| + machos.each do |macho| # rubocop:disable Style/CombinableLoops bin << Utils.nullpad(macho_pads[macho]) bin << macho.serialize end @@ -396,16 +398,14 @@ module MachO errors = [] machos.each_with_index do |macho, index| - begin - yield macho - rescue RecoverableModificationError => error - error.macho_slice = index + yield macho + rescue RecoverableModificationError => e + e.macho_slice = index - # Strict mode: Immediately re-raise. Otherwise: Retain, check later. - raise error if strict + # Strict mode: Immediately re-raise. Otherwise: Retain, check later. + raise e if strict - errors << error - end + errors << e end # Non-strict mode: Raise first error if *all* Mach-O slices failed. 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.5.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.5.0/lib/macho/headers.rb index 0a940e405c..a7ed2cacf3 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.5.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 @@ -498,6 +500,7 @@ module MachO # @api private def initialize(magic, nfat_arch) + super() @magic = magic @nfat_arch = nfat_arch end @@ -541,7 +544,7 @@ module MachO # @note Always big endian. # @see MachOStructure::FORMAT # @api private - FORMAT = "L>5".freeze + FORMAT = "L>5" # @see MachOStructure::SIZEOF # @api private @@ -549,6 +552,7 @@ module MachO # @api private def initialize(cputype, cpusubtype, offset, size, align) + super() @cputype = cputype @cpusubtype = cpusubtype & ~CPU_SUBTYPE_MASK @offset = offset @@ -587,7 +591,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 +641,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=7".freeze + FORMAT = "L=7" # @see MachOStructure::SIZEOF # @api private @@ -646,6 +650,7 @@ module MachO # @api private def initialize(magic, cputype, cpusubtype, filetype, ncmds, sizeofcmds, flags) + super() @magic = magic @cputype = cputype # For now we're not interested in additional capability bits also to be @@ -760,7 +765,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.5.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.5.0/lib/macho/load_commands.rb index 394a0c6717..aa90c0b7cf 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.5.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 @@ -225,6 +231,7 @@ module MachO # @param cmdsize [Integer] the size of the load command in bytes # @api private def initialize(view, cmd, cmdsize) + super() @view = view @cmd = cmd @cmdsize = cmdsize @@ -365,7 +372,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2a16".freeze + FORMAT = "L=2a16" # @see MachOStructure::SIZEOF # @api private @@ -379,7 +386,7 @@ module MachO # @return [String] a string representation of the UUID def uuid_string - hexes = uuid.map { |e| "%02x" % e } + hexes = uuid.map { |elem| "%02x" % { :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 +436,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 +531,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 +557,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=6".freeze + FORMAT = "L=6" # @see MachOStructure::SIZEOF # @api private @@ -601,7 +608,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -649,7 +656,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=5".freeze + FORMAT = "L=5" # @see MachOStructure::SIZEOF # @api private @@ -679,7 +686,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 +724,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=10".freeze + FORMAT = "L=10" # @see MachOStructure::SIZEOF # @api private @@ -758,7 +765,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 +780,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -801,7 +808,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -829,7 +836,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -857,7 +864,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -894,7 +901,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=6".freeze + FORMAT = "L=6" # @see MachOStructure::SIZEOF # @api private @@ -979,7 +986,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=20".freeze + FORMAT = "L=20" # @see MachOStructure::SIZEOF # @api private @@ -1052,7 +1059,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1127,7 +1134,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -1156,7 +1163,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -1191,7 +1198,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 +1209,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1237,7 +1245,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=5".freeze + FORMAT = "L=5" # @see MachOStructure::SIZEOF # @api private @@ -1269,7 +1277,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=6".freeze + FORMAT = "L=6" # @see MachOStructure::SIZEOF # @api private @@ -1301,7 +1309,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1317,7 +1325,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 = "%032b" % { :version => version } segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } @@ -1328,7 +1336,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 = "%032b" % { :sdk => sdk } segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } @@ -1365,7 +1373,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=6".freeze + FORMAT = "L=6" # @see MachOStructure::SIZEOF # @api private @@ -1383,7 +1391,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 = "%032b" % { :minos => minos } segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } @@ -1394,7 +1402,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 = "%032b" % { :sdk => sdk } segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } @@ -1494,7 +1502,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=12".freeze + FORMAT = "L=12" # @see MachOStructure::SIZEOF # @api private @@ -1542,7 +1550,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=3".freeze + FORMAT = "L=3" # @see MachOStructure::SIZEOF # @api private @@ -1572,7 +1580,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2Q=2".freeze + FORMAT = "L=2Q=2" # @see MachOStructure::SIZEOF # @api private @@ -1602,7 +1610,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=2Q=1".freeze + FORMAT = "L=2Q=1" # @see MachOStructure::SIZEOF # @api private @@ -1617,7 +1625,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 = "%064b" % { :version => version } segs = [ binary[0..23], binary[24..33], binary[34..43], binary[44..53], binary[54..63] @@ -1646,7 +1654,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1674,7 +1682,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 +1700,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=4".freeze + FORMAT = "L=4" # @see MachOStructure::SIZEOF # @api private @@ -1727,7 +1735,7 @@ module MachO # @see MachOStructure::FORMAT # @api private - FORMAT = "L=5".freeze + FORMAT = "L=5" # @see MachOStructure::SIZEOF # @api private @@ -1764,7 +1772,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.5.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.5.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.5.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.5.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.5.0/lib/macho/sections.rb index 093fbb2f88..d53811a25a 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.5.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 @@ -116,6 +118,7 @@ module MachO # @api private def initialize(sectname, segname, addr, size, offset, align, reloff, nreloc, flags, reserved1, reserved2) + super() @sectname = sectname @segname = segname @addr = addr @@ -180,7 +183,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.5.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.5.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.5.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.5.0/lib/macho/tools.rb similarity index 99% 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.5.0/lib/macho/tools.rb index c9bcbd7407..2bb05fdd6d 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.5.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. 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.5.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.5.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.5.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.5.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.5.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.5.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