← Back to team overview

bzr-mac team mailing list archive

[RFI] OS X packaging/installers

 

Hi and welcome to the Bazaar Mac OS X mailing list!

To get the ball rolling, I'd like to hear everyone's thoughts on how
Bazaar 2.0 ought to be packaged on OS X. 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: Panther vs Tiger vs Leopard vs SnowLeopard?
* 32 vs 64 bit
* multiple languages
* different audiences: gui vs command line as preferred interface
* bundled documentation format: HTML vs PDF vs Help Viewer
* bundled python vs not? If not, assume which platform version?

Also, what do we bundle vs install separately:

* GUI apps: QBzr, bzr-gtk, Explorer?
* other popular plugins?

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.

(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
 * QBzr
 * Qt and PyQt
 * Documentation in Help Viewer 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

This installer needs to be available in many languages. If documentation
has been localised for a given language, we bundle that instead of or in
addition to the English docs.

(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 ...

 * popular plugins?
 * core bzr

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. In fact, an
installer might be overkill and easy-install might be fine for these users.

Thirdly, some thoughts on construction of the above installers ...

(e) The "core/cli" installer (or easy-install support) 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
* new version of QBzr and Explorer 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 used a MacBook
Pro laptop for most of the last 3 years, I use Ubuntu on a desktop right
now and under Parallels on OS X whenever I can. So I'm arguably Mac
savvy but a long way from hard core. If you live and breath OS X, your
opinion is 10X more important than mine. :-)

Ian C.



Follow ups