logo       
Bookmark and Share

Re: Optional BSD package is required for (useable) Python?: msg#00058

python.apple

Subject: Re: Optional BSD package is required for (useable) Python?


On May 11, 2004, at 6:25 PM, Bob Ippolito wrote:
On May 11, 2004, at 4:51 PM, Tom Pollard wrote:
There's a python startup script in the package created by bundle-builder that sets a couple of environment variables and invokes python to run the bundled script. It is solely in order to run this script that the BSD environment needs to be installed. It could easily be replaced with a /bin/sh script if it was considered important to support users who didn't have /usr/bin/python installed already. That's the only change that would be required.

No, /bin/sh doesn't provide the execve functionality required.

Yes, I've heard you mention this execve issue, but I still don't appreciate what the issue is. My introduction to bundle-builder was through the BitPim project <http://bitpim.sourceforge.net/>, which distributes a Mac executable built with bundle-builder. Replacing the python startup script with a /bin/sh script in the BitPim bundle seemed to work fine, that is, the app still starts up correctly when double-clicked in the Finder, and that's the only thing that needs to work in this case.

Perl might, though, but it's not worth doing when your application is going to fall over silently anyway if the BSD subsystem is not there.

My clear impression was that a standalone executable built by bundle-builder should no longer need anything from the BSD package, once started up. It's just to execute that first startup script that the BSD installation is required.

Also, the BSD 'subsystem' is there whether you install the BSD package, or not. Things like bash, awk, sed, perl, etc., are all part of the core BaseSystem package. The optional BSD package just installs additional components (like /usr/bin/python) that are useful for working from the Terminal.

So, why would you expect your app to fall over silently if the BSD package hadn't been installed?

The last time I brought this up, Bob Ippolito explained that this would make it impossible to use the bundled app as a "regular" app from both the Finder and the command line, but I never really appreciated that point. It sounded like bundle-builder2 would eliminate the problem in a more robust way, so it didn't seem worth pursuing. But, if I was going to ship an app based on the current bundle-builder, I would definitely hack it to use a shell startup script instead of the python script.

No, you should use the executable stub I developed instead. Even if you could find another suitable surrogate scripting language to do the dance, it would silently pass errors to the console, where my stub allows GUI reporting and customized error handling with a lot of nice features that you'd want when shipping a python-dependent application.

Ok, it sounds like, if I actually did have a python app to distribute, I'd be stupid not to take advantage of this, then.

Tom


_______________________________________________
Pythonmac-SIG maillist - Pythonmac-SIG@xxxxxxxxxx
http://mail.python.org/mailman/listinfo/pythonmac-sig



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | Mail Home | sitemap | FAQ | advertise