[RFC] win32 installer for bzr 0.8+
Alexander Belchenko
bialix at ukr.net
Sat Mar 25 10:02:30 GMT 2006
As I see bzr 0.8 will be big beta release. There is some discussion on
the list about some windows specific things: like bzr executable and
paramiko. I think it's time to define some points about installer for
windows.
First, FYI, current situation is: installer for windows created with
python distutils and rely on existing python installed on user's
machine. Installer (and usual setup.py script from source distribution)
will copy bzr script to python\Scripts directory and make batch launcher
bzr.bat to invoke this script. This batch launcher is incompatible with
win98 because when I try out bzr on win98 machine in autumn 2005 it
fails on selftests of lock subsystem. So bzr launcher and installer
should be improved.
My opinion for new launcher and installer:
- make bzr.exe with py2exe that will have all needed library included
(cElementTree, paramiko, pyCrypto, others?) plus python24.dll and
corresponding stuff;
- make real windows installer with InnoSetup or similar tool that will
have native feel-n-look for windows users;
- during install we should add installed bzr to $PATH environment variable;
- and we need to provide some manual with bzr.exe. At least
tutorial.html and html with help to bzr commands (needs to extend
generate_docs.py utility to produce RSTX document similar to man page).
This needs for end-user. Developers should use bzr.dev branch or source
ditribution.
New launcher will have no current win98 limits. But compiled bzr.exe
will not pass all tests from selftest because some tests rely on
existance of python interpreter installed in system. But I'm sure that
this tests could be redesigned or we could create dummy stub instead of
real python.exe. So, selftest will work even in exe-compiled bzr. Minor
cons is all bzrlib will be compiled to pyc and zipped to library.zip
so bzr will not hackable. But for most end-user it is not problem.
New installer will be all-in-one included. Users needs only download and
install bzr without worrying about python, cElementTree and other
dependencies. For 80% of users it most appropriate variant. And we have
full control over deinstall, over set of used library etc. Minor cons is
size of installer: it will be about 2-3 MB (current simple installer
have size 0.5 MB).
Because I currently have at work some windows 2000/98 and linux machines
connected together I could to test bzr.exe, installer and (finally)
paramiko and sftp (only in connection windows 2000 - linux). Someone
will need to test it on windows xp.
That's my thoughts about this. I vote +1 on this scheme.
Any opinions? May be I miss something?
BTW, bzr 0.7 installer was downloaded from my site 209 times in february
and 205 times in march.
--
Alexander
More information about the bazaar
mailing list