← Back to team overview

bzr-windows team mailing list archive

Re: [RFI] Windows packaging/installers

 

2009/8/6 Ian Clatworthy <ian.clatworthy@xxxxxxxxxxxxx>:
> Hi and welcome to the Bazaar Windows mailing list!
>
> To get the ball rolling, I'd like to hear everyone's thoughts on how
> Bazaar ought to be packaged on Windows. I think we should start by
> thinking about an ideal outcome. We can worry about reality - installer
> size, toolset + compilers, time remaining until 2.0 ships - after we
> have some agreement about what we're aiming for.
>
> Here are some "degrees of freedom" to consider:
>
> * OS version: XP vs Vista vs 7 vs 2003, etc.
> * 32 vs 64 bit

and there's also the case of 32-bit python on x64 windows

> * multiple languages
> * different audiences: gui vs command line as preferred interface
> * bundled documentation format: Windows Help vs HTML vs PDF
> * admin rights: some users will have them and others may not
> * bundled python vs not
> * cygwin vs standard shell
  .. vs eggs

python2.4 vs 2.5 vs 2.6 ...
msi vs something else?

There are some bugs by guilhemb discussing this.

https://bugs.edge.launchpad.net/bzr/+bug/388790
https://bugs.edge.launchpad.net/bzr/+bug/331342
https://bugs.edge.launchpad.net/bzr/+bug/388790

Arguably the cygwin version should be installed by cygwin.

> Also, what do we bundle vs install separately:
>
> * plugins?
> * GUI apps: TortoiseBzr, Explorer or both?
> * 3rd-party tools? (e.g. for ssh, 3-way GUI merging, etc.)

loggerhead <https://bugs.edge.launchpad.net/bzr/+bug/390542>

eclipse integration

> Here's *my* initial brain dump. Firstly, some design principles ...
>
> (a) When it comes to installers, "1" is the divine number. Thou may
> count to "2" but numbers larger than that are sinful. Yes, some
> adventurous folk may require "3" or more but it is best to promote "1",
> acknowledge the existence of "2" and tell those looking for "3" to chat
> to us behind closed doors.

I completely agree - I think there is a bug asking for it.

> (b) When 2 installers are offered, the second one should offer a
> superset of the first, not require one installer be run, then another,
> then another, etc.
>
> Secondly, some suggested bundling ...
>
> (c) The recommended installer ought to have everything necessary for a
> great experience included. This bundle might be called something like
> "Bazaar Desktop x.y" and might contain ...
>
>  * Bazaar Explorer
>  * TortoiseBzr
>  * QBzr
>  * Qt and PyQt
>  * Documentation in Windows Help format. The docs ought to cover the
>   core bzr tool + some docs on the GUI tools
>  * popular plugins (e.g. bzr-svn)
>  * libraries/binaries supporting those plugins
>  * core bzr
>  * Python
>  * any required 3rd-party tools for networking via ssh
>
> This installer needs to be available in many languages. If documentation
> has been localised for a given language, we bundle that instead of the
> English docs.

I was thinking this morning, and it's just a blue-sky idea, but
possibly we should stop installing Tortoise by default because it's
relatively risky because of tight integration, hard to build, and has
less momentum than Explorer & qbzr.  That might give us something that
can be built by free-use compilers which would be nice.

> (d) For hard-code command line folk and server-only usage, a "core"
> installer is offered. This bundle might be called something like "Bazaar
> Core x.y" or "Bazaar CLI x.y" and might contain ...
>
>  * core bzr
>  * Python
>  * any required 3rd-party tools for networking via ssh
>
> It's fair to assume that the people choosing this installer are system
> administrators or hackers who know what they're doing. The build-in help
> system ought to be sufficient for them. If not, they can always download
> the documentation in their preferred format from
> http://doc.bazaar-vcs.org/en/. This installer might be available in
> multiple languages one day but it's not a requirement.

Possibly this case should be handled by just letting them install
python then easy_install bzr?

>
> Thirdly, some thoughts on construction of the above installers ...
>
> (e) The "core/cli" installer ought to be managed as part of the bzr core
> project. It should be easy to automatically build and only require
> freely available tools to make.
>
> (f) The "desktop" installer could be managed as part of the bzr core but
> is arguably better handled as a separate project. It's quite feasible
> that we'll ship a "Bazaar Desktop 2.n Release 2" 2-3 months into the 6
> month development cycle for Bazaar 2.n+1 because we may want to offer:
>
> * the latest stable core
> * upgraded and/or more plugins
> * a new version of TortoiseBzr say
> * better and/or more localised documentation.
>
> It therefore makes sense IMO to make that installer a separate project
> with its own small code base, bugs, translations, etc.
>
> And finally ...
>
> (g) Everything is up for debate. (a)-(f) are just an *example* of the
> sort of input I'm hoping others will provide. While I've spent most of
> the last 15 years shipping products where Windows was the primary
> audience, I use Ubuntu almost exclusively these days. That doesn't
> prevent me from having an opinion on Windows-related stuff: it just
> isn't necessarily an educated one. ;-)



-- 
Martin <http://launchpad.net/~mbp/>



Follow ups

References