[Distutils] bdist_nsis, bdist_deb, bdist_msi, bdist_inno, bdist_pkgtool, bdist_sdux, bdist_mpkg, etc.

M.-A. Lemburg mal at egenix.com
Tue Dec 20 15:40:51 CET 2005

Ronald Oussoren wrote:
> On 13-dec-2005, at 22:42, M.-A. Lemburg wrote:
>> Bob Ippolito wrote:
>>> On Dec 13, 2005, at 11:13 AM, M.-A. Lemburg wrote:
>>>>>>> I'd like to focus attention on these distribution formats
>>>>>>> that distutils is missing:
>>>>>> I'd like to another important candidate to the list:
>>>>>> bdist_mpkg:
>>>>>>    Mac OS X installer format
>>>>>>    Part of py2app by Bob Ippolito
>>>>>>    http://undefined.org/python/py2app.html#bdist-mpkg-documentation
>>>>> bdist_mpkg is actually available on its own now, but I'm not sure
>>>>> adding
>>>>> it to distutils is a great idea.  The current version is already moved
>>>>> over to setuptools, and I'm pretty close to adding egg support to
>>>>> it.  I
>>>>> may even require that the Python bits of the installation package are
>>>>> eggs, as that would allow me to remove a bunch of code.  Eggs mostly
>>>>> obsolete what bdist_mpkg is for, but it's also used to install things
>>>>> like documentation and example code, so I'm not going to drop it
>>>>> altogether.
>>>> Looks like now is a good time to add it to distutils then :-)
>>> No.  Definitely not.
>>> ...
>>> In other words, I don't consent to adding bdist_mpkg to Python until it
>>> supports eggs.
>> Ok, then I'll remove the above candidate from the list.
>> Anyone else interested in writing a bdist_mpkg command
>> that doesn't require setuptools ?
>> Given the good documentation for the format, this shouldn't
>> be hard:
>> http://s.sudre.free.fr/Stuff/PackageMaker_Howto.html
> Should the volunteer also write the package management tools? One reason
> why
> I'm interested in setuptools is that OSX's 'Installer.app' is just that,
> a tool
> to install .pkg/.mpkg archives. You cannot uninstall packages and
> upgradeing
> seems to leave files around unless you manually remove them in a
> pre/post script.
> OSX is great, but its installer application sucks.
> Setuptools/easy_install solves
> several problems for me:
> 1) uninstall
> 2) dependency management
> 3) automaticly downloading required software

I'm sure Apple will add support for uninstall soon. Even if not,
we can easily add an uninstall script to the created package which
then removes all traces of the installed package - much like
bdist_wininst does in order to support uninstall of the Windows

Dependency management is a nice to have feature, but I
wouldn't consider it essential.

Automatic downloads are nice to have as well, but sys admins
rarely trust tools that automatically download and install
software, unless they have complete control of where things
are downloaded, when and whether there's proper authenticity
control built into the tool.

AFAIK, easy_install doesn't
provide any kind of authenticity control - probably due to
the fact that PyPI doesn't have this feature. At least the
MD5 sum should be checked, but for this, the PyPI registry
would have to provide this information in some way.

> And BTW the most common way to install software on OSX is by dragging an
> application
> icon from a CD or disk image to the folder containing applications ;-) ;-)

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Dec 20 2005)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::

More information about the Distutils-SIG mailing list