[Distutils] ANN: py2app / bdist_mpkg 0.1.5 preview

Bob Ippolito bob at redivi.com
Thu Oct 21 06:35:17 CEST 2004


I've put together a little preview of py2app 0.1.5, which has MAJOR 
feature enhancements over 0.1.4.
	http://undefined.org/python/py2app-0.1.5.mpkg.zip (installer for Mac 
OS X 10.3)

	http://svn.red-bean.com/bob/py2app/trunk (source repository)
	http://svn.red-bean.com/pyobjc/branches/py2app-branch/ (PyObjC 
repository refactored to use py2app and bdist_mpkg)

py2app:
	non-ascii application names works now (e.g. Jäger)
	support for non-framework builds of Python (e.g. darwinports)
	slightly more documentation (INSTALLING.txt, README.txt)
	PyPI information
	enhanced setup.py that can use bdist_mpkg
	builds and installs the py2applet tool as part of its bdist_mpkg 
script (to /Developer/Applications/Python Tools/py2app/)
	installs the examples to /Developer/Python/py2app/Examples

bdist_mpkg:
	It's new!  bdist_mpkg is a distutils command that builds a metapackage 
for Installer.app (or /usr/sbin/installer).  It's part of the py2app 
suite.
	It should work with ANY distutils-using Python module or application 
that uses distutils and doesn't really screw up their "install" command
	When using bdist_mpkg with a framework Python, it will default the 
scripts installation dir to /usr/local/bin instead of the middle of 
nowhere inside the Python framework
	It installs a script, /usr/local/bin/bdist_mpkg, which you can use to 
build metapackages from any setup.py.  When the metapackage is built, 
it will even open Installer for you (unless you pass it any --options, 
or just --).  This is a great alternative to using python setup.py 
install.  You can just customize and uncheck scripts, headers, etc. if 
you don't want to install them.
	You can subclass bdist_mpkg and make it do crazy things, like install 
documentation, code examples, or applications.  See py2app's 
setup-lib/py2app_mpkg.py or PyObjC's setup-lib/pyobjc_mpkg.py (on the 
py2app-branch)
	bdist_mpkg should become the "guts" of the next generation 
PackageManager instead of bdist_dumb tarballs.
	will automatically determine if root permissions are required to 
install the package (make sure you haven't mucked with your permissions 
your build machine if you plan on distributing the metapackages)


After the dust settles a bit, probably this weekend, I'll do a more 
official release... but I would like to get some feedback in the 
meantime.

-bob



More information about the Distutils-SIG mailing list