[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