Testing of OSX packages of juju needed

Elliot Murphy elliot at canonical.com
Mon Dec 19 22:45:55 UTC 2011


Hi!

pip install https://launchpad.net/ubuntu/+archive/primary/+files/juju_0.5%2Bbzr398.orig.tar.gz
seemed to work ok for me on Lion.

I don't think it's a good idea to distribute all three of MacPorts,
HomeBrew, and easy_install packages. We should give people one way to
install Juju client tools on OS X. Since setuptools is not being
maintained, I think it's better to give instructions on using pip to
install the package rather than easy_install, and then MacPorts and
Homebrew is not needed at all. Homebrew policy discourages
distributing formulas that overlap with things distributed on PyPI.

However...I think it's not that simple in Juju's case. Why? Because
some of the Juju dependencies need a compiler, and Juju might have
more components that need compiling in the future, it could make sense
to consolidate around using Homebrew on OS X. Homebrew is much better
than MacPorts, and if XCode is absolutely required then sticking with
a Homebrew formula for OS X distribution makes sense because we know
folks already have XCode set up in order to get Homebrew working, and
there is a support community around Homebrew already. This could also
provide a smoother upgrade path if Juju were to later migrate to being
written in Go rather than Python.

Last year before the ensemble->juju rename I took a stab at writing a
Homebrew formula, so I have some comments on the code in the Homebrew
formula here: http://repo.chenetz.net/juju.rb

* I think it's a very bad idea to ever call sudo inside a homebrew formula
* As a developer who uses Homebrew on OS X and also has multiple
versions of Python installed, I've got mixed feelings about the
install process automatically trying to easy_install dependencies.
When one of those dependencies fails to install, it can be quite
frustrating and can give the impression that the Juju formula is
broken. This can be a matter of taste, I don't know what Homebrew
policy encourages here. For another approach, you can look at the
formula I did which declares the dependencies but does not
automatically install them.
https://github.com/statik/homebrew/commit/c11dad522c12a4a8471972351a0d723795788cf1
* I wonder whether pydot is really a required dependency? I thought it
was optional.
* The formula is identifying as version '0.5-398', but appears to be
pulling from bzr without a tag. This will almost certainly cause
problems for upgrades/consistency.
* the test case in the formula seems to be a useless no-op that won't
actually fail if Juju is non-functional due to a failed installation.
Better to delete it than provide a null test case.

I have no standing in the Juju project, so please do take this
drive-by review of the OS X work with a grain of salt :)
It's nice to see Michael's work on this, and will be nice to be able
to deploy services to Ubuntu cloud even from a Mac OS X terminal.

On Mon, Dec 19, 2011 at 4:09 PM, Jorge O. Castro <jorge at ubuntu.com> wrote:
> Hi everyone,
>
> Michael Chenetz has graciously offered to help with bringing juju to OSX.
>
> He has two options available right now, brew, and easy_install.
> Currently both of these solutions require XCode to be installed to
> work:
>
> https://juju.ubuntu.com/OSX
>
> He's tested it on three machines and it works, but I'd like to see
> some more people try it before I announce it to the larger world, so
> if you have OSX handy and want to give these a shot then please do and
> report how it works.
>
> If you're looking to help with getting this working on OSX please ping
> me or this list and we can coordinate efforts/work.
>
> --
> Jorge Castro
> Canonical Ltd.
> http://cloud.ubuntu.com
>
> --
> Juju mailing list
> Juju at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju



-- 
Elliot Murphy | https://launchpad.net/~statik/



More information about the Juju mailing list