1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
  
     | 
    
      Metadata-Version: 2.1
Name: macholib
Version: 1.11
Summary: Mach-O header analysis and editing
Home-page: http://bitbucket.org/ronaldoussoren/macholib
Author: Ronald Oussoren
Author-email: ronaldoussoren@mac.com
Maintainer: Ronald Oussoren
Maintainer-email: ronaldoussoren@mac.com
License: MIT
Download-URL: http://pypi.python.org/pypi/macholib
Description: macholib can be used to analyze and edit Mach-O headers, the executable
        format used by Mac OS X.
        
        It's typically used as a dependency analysis tool, and also to rewrite dylib
        references in Mach-O headers to be @executable_path relative.
        
        Though this tool targets a platform specific file format, it is pure python
        code that is platform and endian independent.
        
        Project links
        -------------
        
        * `Documentation <https://macholib.readthedocs.io/en/latest/>`_
        
        * `Issue Tracker <https://bitbucket.org/ronaldoussoren/macholib/issues?status=new&status=open>`_
        
        * `Repository <https://bitbucket.org/ronaldoussoren/macholib/>`_
        
        
        Release history
        ===============
        
        macholib 1.11
        -------------
        
        * Add very hacky limited support for @loader_path. This is just
          enough to deal with extensions and dylibs found in Python
          binary wheels.
        
        macholib 1.10
        -------------
        
        * #25: Add support for LC_NOTE and LC_BUILD_VERSION
        
        macholib 1.9
        ------------
        
        Features:
        
        * Add definition for ``macholib.mach_o.reloc_type_generic``, which
          was used in code but never defined.
        
        * #22: Add LICENSE file
        
        * #23: Added "--help" option for "python -m macholib"
        
        * Added function ``macholib.MachO.lc_str_value`` which should
          help in decoding value of ``macholib.mach_o.lc_str``. Those
          values are offsets in the data of a load command, the function
          will return the actually value as a byte string.
        
          See also issue #21.
        
        Bug fixes:
        
        * Pull request #15: Fix typo in thread_command class
        
          Patch by user "phdphuc" on bitbucket.
        
        macholib 1.8
        ------------
        
        * Use the same dependency walk logic as otool
        
          Patch by Taras Tsugrii <ttsugrii@fb.com>
        
        * Added support for new load commands
        
          Patch by David Dorsey <trogdorsey@gmail.com>,
          with enhancements by Ronald Oussoren.
        
        * Fix procesing DSYM file from XCODE 6.x
        
          Patch by HolmsBlazhey <andrey.blazhey@gmail.com>
        
        * MachOGraph.locate(): When calling dyld_find(), use kwarg 'loader_path', not 'loader'.
        
          Patch by Stuart Berg <bergs@janelia.hhmi.org>
        
        * Add fields to thread_command
        
          Patch by Asger Hautop Drewsen <asgerdrewsen@gmail.com>
        
        * Add missing ARM_V7S subtype.
        
          Patch by "NN"
        
        * Fix for SymbolTable
        
          Patch by Christian Klein <chris@5711.org>
        
        * Use first Mach-O header as the default header
        
          Patch by Christian Klein <chris@5711.org>
        
        * Issue #17: add LC_LOAD_UPWARD_DYLIB to _RELOCATABLE set
        
        * Issue #16: macholib "hangs" on invalid input
        
          Due to the use of the range function on untrusted input
          the python process could hang when reading invalid input, due
          to trying to construct an enormous list.
        
        * Issue #18: Bad version parsing in macho_version_helper
        
          The order of subfields in ``mach_version_helper`` was reversed from
          reality.
        
        * Issue #19: Fix aligment issue that prevented code signing
        
          Patch by Brendan Simon
        
        * Fix issue #14: Can't pass endian argument to p_uint64.from_str
        
        
        macholib 1.7
        ------------
        
        * Added support for ARM64, LC_ENCRYPTION_INFO_64 and LC_LINKER_OPTION
        
          Patch by Matthias Ringwald.
        
        * Load commands now have a "describe" method that returns more information
          about the command.
        
          Patch by David Dorsey.
        
        * The MAGIC value in the header was always represented in the native
          byte order, instead of as the value read from the binary.
        
          Patch by David Dorsey.
        
        * Added various new constants to "macholib.mach_o".
        
          Patch by David Dorsey.
        
        macholib 1.6.1
        --------------
        
        * ?
        
        macholib 1.6
        ------------
        
        * Add support for '@loader_path' link command in
          macholib.dyld:
        
          - Added function ``macholib.dyld.dyld_loader_search``
        
          - This function is used by ``macholib.dyld.dyld_find``,
            and that function now has an new (optional) argument
            with the path to the loader.
        
        * Also add support for '@loader_path' to macholib.MachoGraph,
          using the newly added '@loader_path' support in the
          dyld module.
        
          Due to this suppport the *macho_standalone* tool can
          now rewrite binaries that contain an '@loader_path' load
          command.
        
        
        macholib 1.5.2
        --------------
        
        * Issue #93: Show the name of the affected file in the exception message
          for Mach-O headers that are too large to relocate.
        
        
        macholib 1.5.1
        --------------
        
        * There were no 'classifiers' in the package metadata due to
          a bug in setup.py.
        
        macholib 1.5
        --------------
        
        macholib 1.5 is a minor feature release
        
        * No longer use 2to3 to provide Python 3 support
        
          As a side-effect of this macholib no longer supports
          Python 2.5 and earlier.
        
        * Adds suppport for some new macho load commands
        
        * Fix for py3k problem in macho_standalone.py
        
          Patch by Guanqun Lu.
        
        * Fix for some issues in macho_dump.py
        
          Patch by Nam Nguyen
        
        * Issue #10: Fix for LC_DATA_IN_CODE linker commands, without
          this fix py2app cannot build application bundles when
          the source binaries have been compiled with Xcode 4.5.
        
        * Issue #6: Fix for LC_ENCRYPTION_INFO linker commands
        
        * Use the mach header information to print the cpu type of a
          binary, instead of trying to deduce that from pointer width
          and endianness.
        
          Changed the code because of issue #6, in which a user tries to
          dump a iOS binary which results in bogus output in the previous
          releases.
        
        * The mapping ``macholib.macho_dump.ARCH_MAP`` is undocumented
          and no longer used by macholib itself. It will be removed
          in the next release.
        
        
        * The command-line tools ``macho_find``, ``macho_dump`` and
          ``macho_standalone`` are deprecated. Use "python -mmacholib"
          instead. That is::
        
           $ python -mmacholib dump /usr/bin/grep
        
           $ python -mmacholib find ~
        
           $ python -mmacholib standalone myapp.app
        
          This makes it clearer which version of the tools are used.
        
        macholib 1.4.3
        --------------
        
        macholib 1.4.3 is a minor feature release
        
        * Added strings for 'x86_64' and 'ppc64' to
          macholib.mach_o.CPU_TYPE_NAMES.
        
        * macho_find and macho_dump were broken in the 1.4.2 release
        
        * added 'macholib.util.NOT_SYSTEM_FILES', a list of
          files that aren't system path's even though they are
          located in system locations.
        
          Needed to work around a bug in PySide (see issue #32 in the
          py2app tracker)
        
        
        
        macholib 1.4.2
        --------------
        
        macholib 1.4.2 is a minor bugfix release
        
        * The support for new load commands that was added in 1.4.1
          contained a typo that caused problems on OSX 10.7 (Lion).
        
        macholib 1.4.1
        --------------
        
        macholib 1.4.1 is a minor feature release
        
        Features:
        
        - Add support for a number of new MachO load commands that were added
          during the lifetime of OSX 10.6: ``LC_LOAD_UPWARD_DYLIB``,
          ``LC_VERSION_MIN_MACOSX``, ``LC_VERSION_MIN_IPHONEOS`` and
          ``LC_FUNCTION_STARTS``.
        
        macholib 1.4
        -------------
        
        macholib 1.4 is a feature release
        
        Features:
        
        - Documentation is now generated using `sphinx <http://pypi.python.org/pypi/sphinx>`_
          and can be viewed at <http://packages.python.org/macholib>.
        
        - The repository has moved to bitbucket
        
        - There now is a testsuite
        
        - Private functionality inside modules was renamed to
          a name starting with an underscore.
        
          .. note:: if this change affects your code you are relying on undefined
             implementation features, please stop using private functions.
        
        - The basic packable types in ``macholib.ptypes`` were renamed to better
          represent the corresponding C type. The table below lists the old
          an new names (the old names are still available, but are deprecated and
          will be removed in a future release).
        
          +--------------+--------------+
          | **Old name** | **New name** |
          +==============+==============+
          | p_byte       | p_int8       |
          +--------------+--------------+
          | p_ubyte      | p_uint8      |
          +--------------+--------------+
          | p_short      | p_int16      |
          +--------------+--------------+
          | p_ushort     | p_uint16     |
          +--------------+--------------+
          | p_int        | p_int32      |
          +--------------+--------------+
          | p_uint       | p_uint32     |
          +--------------+--------------+
          | p_long       | p_int32      |
          +--------------+--------------+
          | p_ulong      | p_uint32     |
          +--------------+--------------+
          | p_longlong   | p_int64      |
          +--------------+--------------+
          | p_ulonglong  | p_uint64     |
          +--------------+--------------+
        
          ``Macholib.ptypes.p_ptr`` is no longer present as it had an unclear
          definition and isn't actually used in the codebase.
        
        
        Bug fixes:
        
        - The semantics of ``dyld.dyld_default_search`` were changed a bit,
          it now first searches the framework path (if appropriate) and then
          the linker path, irrespective of the value of the ``DYLD_FALLBACK*``
          environment variables.
        
          Previous versions would change the search order when those variables
          was set, which is odd and doesn't correspond with the documented
          behaviour of the system dyld.
        
        - It is once again possible to install using python2.5
        
        - The source distribution includes all files, this was broken
          due to the switch to mercurial (which confused setuptools)
        
        macholib 1.3
        ------------
        
        macholib 1.3 is a feature release.
        
        Features:
        
        - Experimental Python 3.x support
        
          This version contains lightly tested support for Python 3.
        
        macholib 1.2.2
        --------------
        
        macholib 1.2.2 is a bugfix release.
        
        Bug fixes:
        
        - Macholib should work better with 64-bit code
          (patch by Marc-Antoine Parent)
        
Keywords: Mach-O,,dyld
Platform: any
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Build Tools
Description-Content-Type: text/x-rst; charset=UTF-8
 
     |