[Pythonmac-SIG] Re: [Pysqlite-users] Looking for somebody to package Mac binaries

Jack Jansen Jack.Jansen at cwi.nl
Tue Jul 6 23:19:17 CEST 2004


On 6 Jul 2004, at 18:36, Mario Ruggier wrote:

> Hi, I am on an OS X machine, and, should no-one else wish to do it, I 
> wouldn't mind to roll a new package every now and then with new stable 
> releases. I am not sure of what the gotchas for this might be... Could 
> anyone on the pythonmac-sig list point me to a good step-by-step 
> procedure and checklist for creating Mac packages?

Here is my procedure. Bob uses a different one for his PackMan 
database, but I prefer mine because it also makes source packages 
available, which I think is a good way to ease people into developing 
their own packages, and it simplifies maintenance when new versions 
become available. But it does require the package to be distutils-based 
(although there are ways to do non-distutils things too, see PIL for an 
example).

First, create an experimental PackMan database for yourself. The 
easiest is to copy my experimental database and clean it out (if it 
isn't empty already). Leave the include statement for the default 
database in, as this allows you to depend on packages in the default 
database (especially pseudo-packages for Python version, etc).
The database is a plist file. There's no documentation on the keys 
used, but if they're not self-explanatory check Lib/plat-mac/pimp.py 
for the details.

Now start with a source distribution for your package. Pick an entry 
from the default database that appears to be somewhat similar to what 
you're doing. Modify the name, version, description, install-check, 
download-url and dependency fields to suit your package. Comment out 
the MD5 checksum for now. Fiddle it until at least the download works 
(the tarfile will end up in /tmp). Compute the md5 sum for the tarfile 
(Tools/scripts/md5sum.py in a Python source distribution does this) and 
put it in the database. Fiddle the install command and install check 
until they work. Now your source package is finished.

Next create the binary installer. Go to the build directory for the 
package that was used for the previous install from source, again in 
/tmp. Run "python setup.py bdist-dumb" there, this creates a binary 
distribution tarfile (in the "dist" subdirectory). Compute the md5sum 
of this tarfile. Upload it to your webserver.\

Finally create the binary PackMan package. Start with the source 
package, change the URL, flavor and md5sum. Now you should be done. 
Advertise your new database, at the very least by letting me know so I 
can put it on the PackMan database page 
<http://www.python.org/packman>. If it turns out to be really popular 
let me know and I'll put it in the official database.

Finally finally let me know where I forgot essential information in 
this description:-)
--
Jack Jansen, <Jack.Jansen at cwi.nl>, http://www.cwi.nl/~jack
If I can't dance I don't want to be part of your revolution -- Emma 
Goldman



More information about the Pythonmac-SIG mailing list