On 26 Jan, 2010, at 15:45, Kevin Walzer wrote: > On 1/25/10 1:52 PM, Christopher Barker wrote: >> Kevin Walzer wrote: >>> py2app may be more powerful than BundleBuilder, but it is also a >>> complex, fragile beast. It consists of several different packages, >>> requiring both a) a deep understanding of OS X mach-o internals and >>> how libraries/load paths/dyld bits are loaded;
The bit that requires mach-o understanding is part that copies C libraries into a standalone bundle and that's hardly the most important bit of py2app. It needs some more care to deal with 64-bit binaries (appearently), but for the most part just works. >> >> I'm a bit confused by this -- how does bundle builder to it in a way >> that doesn't require this knowledge? > > If I understand the code correctly, it uses modulefinder, which doesn't seem > to work as well as the modulegraph stuff that py2app uses. IIRC modulefinder isn't as good as modulegraph at calculating the depedency graph. Modulefinder definitely does nothing with depedencies of C code. > >> >> The fact that it has worked better for you doesn't necessarily mean that >> it is more robust or more maintainable (though having tried to dig into >> the Py2app code a couple times, I agree that it is a challenge!). > > It isn't more robust. I never claimed that. It may be more maintainable > simply because it's a smaller code base--at least, I can grok its internals a > bit better. And "works for me" is better than "doesn't work for me and I > don't know how to fix it." > >> >> But Ronald sees to think there are real advantages to py2app, and he >> would know. > > He mentioned that bundlebuilder requires you to specify every file that you > include. That's not entirely true, but modulefinder is less effective at > picking up dependencies than modulegraph, and you do have to do more trial > and error with your builds. I believe that was the main complaint in the past. > >> >> Are you offering to maintain BundleBuilder? I"ll take somthing actively >> maintained over something that isn't. > > It doesn't need an active maintainer for Python 2.x because it's in the > standard library, and shouldn't require any tweaking of build scripts that > make use of it unless you're trying to build a 64-bit version of your app. > (Argvemulator isn't supported in 64-bit because it's part of Carbon.) When I > move my code base to Python 3.x, which won't happen until all the libraries I > need are ported to work with 3.x, I will look at setting up a separate > bundlebuilder project somewhere. > >> >> Note that modulegraph is being used by bbfreeze as well, so it's not >> completely unmaintained. It isn't completely unmaintained without bbfreeze as well. I fix issues that I run into and hope to enhance it with egg support in the future. In fact, the usage of modulegraph by bbfreeze isn't "maintance" at all, they ship a modified copy of modulegraph. >> >> I still wish that the was more unification among all the executable >> builders, it does seem to be a waste of energy to have so much stuff >> repeated. > > bbfreeze and pyinstaller have no constituency on the Mac right now--their Mac > support is alpha-level at best. So I don't consider them to be part of the > mix. > > --Kevin > > -- > Kevin Walzer > Code by Kevin > http://www.codebykevin.com > _______________________________________________ > Pythonmac-SIG maillist - Pythonmac-SIG@python.org > http://mail.python.org/mailman/listinfo/pythonmac-sig
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig