patchbomb + py2exe broken on python 2.5

Steve Borho steve at borho.org
Thu Aug 30 19:00:59 CDT 2007


On Thu, 2007-08-30 at 15:48 -0700, Brad Schick wrote:
> Steve Borho wrote:
> > In python 2.5, the email module was refactored to use the PEP 8
> > module naming scheme.  There's fixup code in email/__init__.py so the
> > old naming scheme still works correctly on most systems.  But this is
> > too much for py2exe to figure out and it was unable to pull the correct
> > email modules into library.zip, thus breaking patchbomb.
> >
> >   
> Have you considered making a win32 install that doesn't use py2exe? It
> would be nice to have an installer that downloaded and installed python
> only when needed, and then use the standard python distutils to install
> mercurial. This would have a few advantages:
> 
> 1. Avoid the inevitable bugs resulting from py2exe
> 2. Allow end users to install additional mercurial extensions. With the
> py2exe approach, I haven't found an easy way to load anything outside
> the resulting exe.
> 
> I have an open source nsis [1] installer that can detect, download, and
> install python on demand. The primarily effort would be to package
> mercurial for win32 with python's distutils and then have the installer
> launch that after python is installed (or found to be installed already).

Indeed that would be a nice way to distribute mercurial, but
unfortunately we need a lot more than just python to get the remaining
pieces running.  Hgk needs tcltk, qct needs qt4, pyqt4, and sip.
Mercurial itself benefits from having the win32 extensions installed.
And that doesn't even include kdiff3 or plink.

It's theoretically possible to make an installer that pulls all this
together on demand (and maybe that's a good end-state goal).  But for
now it's much easier to bundle it all together.  Especially while I'm
still working the kinks out of the whole mish-mash.

It definitely would be nice to get rid of the py2exe kludge at some
point.

-- 
Steve Borho <steve at borho.org>



More information about the Mercurial-devel mailing list