[Pythonmac-SIG] PackMan - in defence of Python code in the database

Bob Ippolito bob at redivi.com
Fri Oct 10 12:29:06 EDT 2003


On Friday, Oct 10, 2003, at 05:22 America/New_York, Jack Jansen wrote:

> I started working on a PackMan database for Panther yesterday, and I
> ran into two cases that I think I couldn't have solved without the 
> ability
> to run Python code from the database:
>
> 1. binary distributions are specific to the install location of Python,
>    they're basically tar files. So, a binary distribution for 
> Apple-MacPython
>    is different from a binary distribution for JackJansen-MacPython.
>    We work around this for per-user installs, but at a cost (such as C 
> header
>    files not being installed). So, I needed a new test to see where 
> sys.prefix
>    was pointing.
> 2. In Apple-installed Python sys.prefix/include/python2.3 is 
> root-owned and
>    readonly. This makes installers like Numeric fail (which want to 
> write there).
>    So I needed a new test for this (with the description being an 
> explanation
>    of the unix commands to run to fix this).
>
> All of these could have been handled in pimp itself, of course, but 
> pimp
> is already out there, as distributed by Apple...

1.  This is because we're using bdist_dumb, which is just as smart as 
it sounds.  We'll inevitably be using something else in the future 
that's a lot smarter.

2.   We shouldn't really be putting things in /System, ever.  Anything 
that does system-wide installation should use the authorization API in 
order to acquire root access, even if the user has admin gid.

3.  It's not hard to put a revised pimp inside a revised PackageManager 
app bundle, or just rename pimp as the consensus seems to be (although, 
I kinda like it).

-bob




More information about the Pythonmac-SIG mailing list