[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