Re: [Pyobjc-dev] buildapplication strawman
Brought to you by:
ronaldoussoren
From: Just v. R. <ju...@le...> - 2002-11-17 23:47:19
|
Jack Jansen wrote: > Mac/script/buildappbundle.py Ok, I've had a closer look at it: great! Mind if I take a hack at it? I would like to move it to Mac/Lib/ though. It it used much? Would people likely get upset if I change the (function) interface? A few comments. - I would not let people specify a nib by path, but by name, defaulting to "MainMenu". The .lproj or individual nibs should then be listed as a resource. - I don't care much for the command line interface: I think people should just write a setup.py-like script. I wouldn't rip main() out, but I wouldn't want to spend much time on it. - I think it's good if it (by default) would build the app in a build/ subdir, like distutils and PB. Further things I'd like to do: - Change it to use the os.execve() trick. - I would like to add a debug or "developer" option: instead of copying the files/folders it would put symlinks inside the bundle. That way it's easy to keep on hacking on any file without having to rebuild the app all the time. - Add modulefinder support, like we discussed by telepathy... The full version would also copy the Python executable to Contents/Resources/. Not sure what to do about a Framework python, though. Not sure I even care about that anymore: it only seems to make thing harder here. What do you think? - A strip binaries option. Hm, evil? Could save a huge amount of disk space, though. Question: is it possible to completely override sys.path for a statically built Unix Python? $PYTHONPATH merely prepends sys.path. Would be nice to completely control it for a standalone app bundle. Speaking of sys.path: why does the objc module muck with it? Can't we solve this some other way? I really dislike imports with such side effects. (It has already confused me to no end: modules that I knew were in the current directory couldn't be found after "import objc"...) An option would be for the os.execve() wrapper to add Contents/Resources/ to the path through $PYTHONPATH. Just |