[Python-modules-commits] [python-macholib] 01/03: Imported Upstream version 1.7~dfsg

IOhannes m zmölnig umlaeute at moszumanska.debian.org
Thu Jul 2 20:30:46 UTC 2015


This is an automated email from the git hooks/post-receive script.

umlaeute pushed a commit to branch master
in repository python-macholib.

commit e523d84f6a5f1a3950bd5e442ba13875a6e76c20
Author: IOhannes m zmölnig <zmoelnig at umlautQ.umlaeute.mur.at>
Date:   Thu Jul 2 22:23:15 2015 +0200

    Imported Upstream version 1.7~dfsg
---
 MANIFEST.in                            |    8 +
 PKG-INFO                               |  275 +++++++
 README.txt                             |    8 +
 doc/MachO.rst                          |   19 +
 doc/MachoOGraph.rst                    |   14 +
 doc/MachoOStandalone.rst               |   13 +
 doc/Makefile                           |  130 ++++
 doc/SymbolTable.rst                    |   24 +
 doc/changelog.rst                      |  242 ++++++
 doc/conf.py                            |  275 +++++++
 doc/dyld.rst                           |  159 ++++
 doc/dylib.rst                          |   33 +
 doc/framework.rst                      |   34 +
 doc/index.rst                          |   59 ++
 doc/license.rst                        |   23 +
 doc/macho_o.rst                        |   13 +
 doc/ptypes.rst                         |  157 ++++
 doc/scripts.rst                        |   35 +
 macholib/MachO.py                      |  398 ++++++++++
 macholib/MachOGraph.py                 |  131 ++++
 macholib/MachOStandalone.py            |  147 ++++
 macholib/SymbolTable.py                |   95 +++
 macholib/__init__.py                   |   10 +
 macholib/__main__.py                   |   73 ++
 macholib/_cmdline.py                   |   44 ++
 macholib/dyld.py                       |  176 +++++
 macholib/dylib.py                      |   42 +
 macholib/framework.py                  |   42 +
 macholib/itergraphreport.py            |   73 ++
 macholib/mach_o.py                     | 1311 ++++++++++++++++++++++++++++++++
 macholib/macho_dump.py                 |   48 ++
 macholib/macho_find.py                 |   17 +
 macholib/macho_standalone.py           |   26 +
 macholib/ptypes.py                     |  290 +++++++
 macholib/util.py                       |  245 ++++++
 macholib_tests/__init__.py             |    1 +
 macholib_tests/binaries/src/build.py   |   22 +
 macholib_tests/test_MachO.py           |   15 +
 macholib_tests/test_MachOGraph.py      |   15 +
 macholib_tests/test_MachOStandalone.py |   15 +
 macholib_tests/test_SymbolTable.py     |   15 +
 macholib_tests/test_command_line.py    |  147 ++++
 macholib_tests/test_dyld.py            |  450 +++++++++++
 macholib_tests/test_dylib.py           |   38 +
 macholib_tests/test_framework.py       |   88 +++
 macholib_tests/test_itergraphreport.py |   15 +
 macholib_tests/test_mach_o.py          |   21 +
 macholib_tests/test_ptypes.py          |  191 +++++
 setup.cfg                              |   42 +
 setup.py                               |  867 +++++++++++++++++++++
 50 files changed, 6631 insertions(+)

diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..f398321
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,8 @@
+include *.txt MANIFEST.in *.py
+graft doc
+graft doc/_static
+graft doc/_templates
+graft macholib_tests
+global-exclude .DS_Store
+global-exclude *.pyc
+global-exclude *.so
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..33408d2
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,275 @@
+Metadata-Version: 1.1
+Name: macholib
+Version: 1.7
+Summary: Mach-O header analysis and editing
+Home-page: http://bitbucket.org/ronaldoussoren/macholib
+Author: Ronald Oussoren
+Author-email: ronaldoussoren at 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.
+        
+        
+        Release history
+        ===============
+        
+        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.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Operating System :: MacOS :: MacOS X
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Topic :: Software Development :: Build Tools
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..62dbdb7
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,8 @@
+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.
diff --git a/doc/MachO.rst b/doc/MachO.rst
new file mode 100644
index 0000000..204e040
--- /dev/null
+++ b/doc/MachO.rst
@@ -0,0 +1,19 @@
+:mod:`macholib.MachO` --- Utilities for reading and writing Mach-O headers
+==========================================================================
+
+.. module:: macholib.MachO
+   :synopsis: Utilities for reading and writing Mach-O headers
+
+This module defines a class :class:`Macho`, which enables reading
+and writing the Mach-O header of an executable file or dynamic
+library on MacOS X.
+
+.. class:: MachO(filename)
+
+   Creates a MachO object by reading the Mach-O headers from
+   *filename*.
+
+   The *filename* should refer to an existing file in Mach-O
+   format, and can refer to fat (universal) binaries.
+
+.. note:: more information will be added later
diff --git a/doc/MachoOGraph.rst b/doc/MachoOGraph.rst
new file mode 100644
index 0000000..256a413
--- /dev/null
+++ b/doc/MachoOGraph.rst
@@ -0,0 +1,14 @@
+:mod:`macholib.MachoGraph` --- Graph data structure of Mach-O dependencies
+===============================================================================
+
+.. module:: macholib.MachOGraph
+   :synopsis: Graph data structure of Mach-O dependencies
+
+This module defines the class :class:`MachOGraph` which represents the
+direct and indirect dependencies of one or more  Mach-O files on 
+other (library) files.
+
+.. class:: MachOGraph(...)
+
+   To be discussed.
+
diff --git a/doc/MachoOStandalone.rst b/doc/MachoOStandalone.rst
new file mode 100644
index 0000000..d1a8052
--- /dev/null
+++ b/doc/MachoOStandalone.rst
@@ -0,0 +1,13 @@
+:mod:`macholib.MachOStandalone` --- Create standalone application bundles
+==========================================================================
+
+.. module:: macholib.MachOStandalone
+   :synopsis: Create standalone application bundles
+
+This module defines class :class:`MachOStandalone` which locates
+all Mach-O files in a directory (assumed to be the root of an
+application or plugin bundle) and then copies all non-system 
+dependencies for the located files into the bundle.
+
+.. class:: MachOStandalone(base[, dest[, graph[, env[, executable_path]]]])
+
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..cca6913
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,130 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+BUILDDIR      = _build
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
+
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html       to make standalone HTML files"
+	@echo "  dirhtml    to make HTML files named index.html in directories"
+	@echo "  singlehtml to make a single large HTML file"
+	@echo "  pickle     to make pickle files"
+	@echo "  json       to make JSON files"
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
+	@echo "  qthelp     to make HTML files and a qthelp project"
+	@echo "  devhelp    to make HTML files and a Devhelp project"
+	@echo "  epub       to make an epub"
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  text       to make text files"
+	@echo "  man        to make manual pages"
+	@echo "  changes    to make an overview of all changed/added/deprecated items"
+	@echo "  linkcheck  to check all external links for integrity"
+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+	-rm -rf $(BUILDDIR)/*
+
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+	@echo
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/macholib.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/macholib.qhc"
+
+devhelp:
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+	@echo
+	@echo "Build finished."
+	@echo "To view the help file:"
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/macholib"
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/macholib"
+	@echo "# devhelp"
+
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+	@echo
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
+	      "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through pdflatex..."
+	make -C $(BUILDDIR)/latex all-pdf
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+	@echo
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+	@echo
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/doctest/output.txt."
diff --git a/doc/SymbolTable.rst b/doc/SymbolTable.rst
new file mode 100644
index 0000000..5417e31
--- /dev/null
+++ b/doc/SymbolTable.rst
@@ -0,0 +1,24 @@
+:mod:`macholib.SymbolTable` --- Class to read the symbol table from a Mach-O header
+===================================================================================
+
+.. module:: macholib.SymbolTable
+   :synopsis: Class to read the symbol table from a Mach-O header
+
+This module is deprecated because it is not by the author
+and likely contains bugs. It also does not work for 64-bit binaries.
+
+.. class:: SymbolTable(macho[, openfile])
+
+   Reads the SymbolTable for the given Mach-O object.
+
+   The option argument *openfile* specifies the 
+   function to use to open the file, defaulting to
+   the builtin :func:`open` function.
+
+   .. warning:: As far as we know this class is not used
+      by any user of the modulegraph package, and the code
+      has not been updated after the initial implementation.
+
+      The end result of this is that the code does not
+      support 64-bit code at all and likely doesn't work
+      properly for 32-bit code as well.
diff --git a/doc/changelog.rst b/doc/changelog.rst
new file mode 100644
index 0000000..d73299f
--- /dev/null
+++ b/doc/changelog.rst
@@ -0,0 +1,242 @@
+Release history
+===============
+
+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)
diff --git a/doc/conf.py b/doc/conf.py
new file mode 100644
index 0000000..08a48f3
--- /dev/null
+++ b/doc/conf.py
@@ -0,0 +1,275 @@
+# -*- coding: utf-8 -*-
+#
+# macholib documentation build configuration file, created by
+# sphinx-quickstart on Tue Sep 28 22:23:35 2010.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+def get_version():
+    fn = os.path.join(
+        os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
+            'setup.cfg')
+    for ln in open(fn):
+        if ln.startswith('version'):
+            version = ln.split('=')[-1].strip()
+            return version
+
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+sys.path.insert(0,
+    os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
+
+# -- General configuration -----------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx']
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'macholib'
+copyright = u'2010-2011, Ronald Oussoren'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = get_version()
+# The full version, including alpha/beta/rc tags.
+release = version
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = ['_build']
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+html_theme = 'nature'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
... 5989 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-macholib.git



More information about the Python-modules-commits mailing list