Comment 9 for bug 388790

Revision history for this message
Alexander Belchenko (bialix) wrote : Re: [Bug 388790] Re: would be better to have just one Windows installer

Martin Pool пишет:
> 2009/7/1 Alexander Belchenko <email address hidden>:
>> Martin, why is there separate packages for each Linux distro? Why is
>> there separate packages for each Ubuntu version?
>>
>> Because they're different?
>>
>> That's why there is different installers for different python versions @
>> win32, because there is compiled C/Pyrex extensions, and these
>> extensions are built against specific python version. You can't
>> workaround this fact.
>
> Perhaps the bug title is unclear. Yes, of course it makes sense that
> there are different builds for different python versions. The problem
> as I see it is the distinction between the python-based installers and
> bzr.exe. Is that really needed?
>
> On Ubuntu, there is just one bzr package, which (in Jaunty, as of
> 1.16+4485+116) includes extensions built against python2.5 and 2.6,
> and it can be imported as a library by plugins. It would be nice if
> we could get closer to that on Windows.

It depends.

Linux/Unix have more or less typical layout of libs and binary files.
Many Linux distros have package managers.

Windows has none of the above. So you can't go closer to Linux there.
You have to choose different way.

If you want to have simple install for python-based bzr version then it
makes sense to look at setuptools and easy_install (though me does not
like it very much). Then user only need to install Python and maybe
setuptools and then `easy_install bzr` will do the magic.

Standalone bzr.exe is standalone program. You can put every plugin
inside it and then all required dependencies will be bundled as well. As
result you'll have ~30-60MB installer that should work for everyone.
(AFAIK TortoiseHg distribution with GTK libs inside is about 30MB).

The only one problem today is all installed plugins are enabled
implicitly. In hg user have to enable plugins manually. So hg developers
can ship standalone hg.exe with all official plugins inside.

Bazaar can ship all plugins as well, but it will require some changes to
installer to allow the user to select which plugins to install. Not the
worst way IMO.

Is bzr.exe really needed? Some facts:

1) today nobody provides windows installer for bzr-svn plugin separately
of official bzr.exe build. And building bzr-svn on Windows is hard hard
work. Do you want to drop this beautiful plugin @ windows?

2) the same applied to TortoiseBzr which should be compiled today.

3) In my observation standalone bzr.exe works a bit faster on Windows;
mostly because all pure python modules packaged into one big
library.zip, so Windows need to read only one file from disk instead of
zillion files (including py/pyc/pyo difference). This is very important
to get better performance: less files to read means faster windows
application.

4) You're starting this discussion again and again, but if you look at
download numbers (they are available now on LP) you'll see what users
prefer. Of course one can say this is because it's default installer.
Yes, of course. But I think it suits needs most of users. All other who
need something non-default have to deal with python-based version.

Of course things will be much simpler if there will be enough windows
maintainers who will provide installers for all popular plugins. But
there is not, and therefore you have what you have.