[Pythonmac-SIG] bundlebuilder2 preview

Bob Ippolito bob at redivi.com
Mon Feb 9 01:18:29 EST 2004


I've put together a preview release of my bundlebuilder revisions and 
macholib:
	http://undefined.org/python/macholib-v2.0a0.tgz

Changes:
	Finds dyld/frameworks that extensions use and automatically includes 
them for --(semi-)standalone (i.e. Tcl/Tk).  Will include anything that 
doesn't live in /System
	Rewrites Mach-O load commands (for dylds, frameworks, and the python 
binary) when using --(semi-)standalone
	Validates keyword arguments for "buildapp.py" purposes
	Changed command line parser to use optparse instead of getopt (I think 
I want to refactor this some more though).  In doing so, I changed the 
--file syntax to take two arguments instead of a colon delimited 
argument.
	Doesn't care what the Python framework is called (i.e., tested against 
a Python framework called Stackless.framework)
	Depends on macholib

TODO:
	analyze packages to see if they have necessary data files (that have 
to be included whole, or at least not zipimport)
	zipimport toggle
	warn user and fallback to --semi-standalone when trying to 
--standalone a /System python
	GUI

TODO (but YAGNI for me, so don't hold your breath):
	give it toggles to ignore certain kinds of files when making the 
bundle (think .cvsignore)
	non-framework python not tested/supported
	/usr/bin/strip functionality untested, may be broken
	toggle to turn mach-o header walking off
	allow user to exclude libs/frameworks
	make it easy/possible to strip headers/resources for automatically 
included frameworks
	documentation (but it exposes the same API and CLI args with few 
exceptions..)

Note that a lot of (but not all of) this crazy header rewriting would 
be avoided if http://python.org/sf/887242 was adopted.. because most 
extensions currently link against Python.framework directly and need to 
be rewritten for --standalone.  Also note that it's possible (but not 
demonstrated) to use macholib to migrate a python extension from one 
Python to another, but probably not possible to convert an existing 
bundle to an "-undefined dynamic_lookup" bundle (I have yet to examine 
an extension linked like this).

-bob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2357 bytes
Desc: not available
Url : http://mail.python.org/pipermail/pythonmac-sig/attachments/20040209/afa2d606/smime.bin


More information about the Pythonmac-SIG mailing list