This may stray slightly from the topic of discussion but directly relates to Juju and OS X.<div><br></div><div>I am currently working on a GUI for Juju (you can find it <a href="http://launchpad.net/juju-gui">here</a>) that will make it easy for users to start / stop services, add / remove units, etc. This GUI is written in Qt and therefore should theoretically compile on OS X unmodified. I am wondering if anyone would be interested in trying to get the application to compile on OS X, since I do not have access to an OS X machine (nor do I have any experience working with the platform).</div>
<div><br></div><div>Things get a little tricky since the application does have one other build dependency: yaml-cpp (for parsing the YAML configuration files Juju uses). This small library uses the CMake build system.</div>
<div><br></div><div>- Nathan<br><br><div class="gmail_quote">On Mon, Dec 19, 2011 at 2:45 PM, Elliot Murphy <span dir="ltr"><<a href="mailto:elliot@canonical.com">elliot@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi!<br>
<br>
pip install <a href="https://launchpad.net/ubuntu/+archive/primary/+files/juju_0.5%2Bbzr398.orig.tar.gz" target="_blank">https://launchpad.net/ubuntu/+archive/primary/+files/juju_0.5%2Bbzr398.orig.tar.gz</a><br>
seemed to work ok for me on Lion.<br>
<br>
I don't think it's a good idea to distribute all three of MacPorts,<br>
HomeBrew, and easy_install packages. We should give people one way to<br>
install Juju client tools on OS X. Since setuptools is not being<br>
maintained, I think it's better to give instructions on using pip to<br>
install the package rather than easy_install, and then MacPorts and<br>
Homebrew is not needed at all. Homebrew policy discourages<br>
distributing formulas that overlap with things distributed on PyPI.<br>
<br>
However...I think it's not that simple in Juju's case. Why? Because<br>
some of the Juju dependencies need a compiler, and Juju might have<br>
more components that need compiling in the future, it could make sense<br>
to consolidate around using Homebrew on OS X. Homebrew is much better<br>
than MacPorts, and if XCode is absolutely required then sticking with<br>
a Homebrew formula for OS X distribution makes sense because we know<br>
folks already have XCode set up in order to get Homebrew working, and<br>
there is a support community around Homebrew already. This could also<br>
provide a smoother upgrade path if Juju were to later migrate to being<br>
written in Go rather than Python.<br>
<br>
Last year before the ensemble->juju rename I took a stab at writing a<br>
Homebrew formula, so I have some comments on the code in the Homebrew<br>
formula here: <a href="http://repo.chenetz.net/juju.rb" target="_blank">http://repo.chenetz.net/juju.rb</a><br>
<br>
* I think it's a very bad idea to ever call sudo inside a homebrew formula<br>
* As a developer who uses Homebrew on OS X and also has multiple<br>
versions of Python installed, I've got mixed feelings about the<br>
install process automatically trying to easy_install dependencies.<br>
When one of those dependencies fails to install, it can be quite<br>
frustrating and can give the impression that the Juju formula is<br>
broken. This can be a matter of taste, I don't know what Homebrew<br>
policy encourages here. For another approach, you can look at the<br>
formula I did which declares the dependencies but does not<br>
automatically install them.<br>
<a href="https://github.com/statik/homebrew/commit/c11dad522c12a4a8471972351a0d723795788cf1" target="_blank">https://github.com/statik/homebrew/commit/c11dad522c12a4a8471972351a0d723795788cf1</a><br>
* I wonder whether pydot is really a required dependency? I thought it<br>
was optional.<br>
* The formula is identifying as version '0.5-398', but appears to be<br>
pulling from bzr without a tag. This will almost certainly cause<br>
problems for upgrades/consistency.<br>
* the test case in the formula seems to be a useless no-op that won't<br>
actually fail if Juju is non-functional due to a failed installation.<br>
Better to delete it than provide a null test case.<br>
<br>
I have no standing in the Juju project, so please do take this<br>
drive-by review of the OS X work with a grain of salt :)<br>
It's nice to see Michael's work on this, and will be nice to be able<br>
to deploy services to Ubuntu cloud even from a Mac OS X terminal.<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Dec 19, 2011 at 4:09 PM, Jorge O. Castro <<a href="mailto:jorge@ubuntu.com">jorge@ubuntu.com</a>> wrote:<br>
> Hi everyone,<br>
><br>
> Michael Chenetz has graciously offered to help with bringing juju to OSX.<br>
><br>
> He has two options available right now, brew, and easy_install.<br>
> Currently both of these solutions require XCode to be installed to<br>
> work:<br>
><br>
> <a href="https://juju.ubuntu.com/OSX" target="_blank">https://juju.ubuntu.com/OSX</a><br>
><br>
> He's tested it on three machines and it works, but I'd like to see<br>
> some more people try it before I announce it to the larger world, so<br>
> if you have OSX handy and want to give these a shot then please do and<br>
> report how it works.<br>
><br>
> If you're looking to help with getting this working on OSX please ping<br>
> me or this list and we can coordinate efforts/work.<br>
><br>
> --<br>
> Jorge Castro<br>
> Canonical Ltd.<br>
> <a href="http://cloud.ubuntu.com" target="_blank">http://cloud.ubuntu.com</a><br>
><br>
> --<br>
> Juju mailing list<br>
> <a href="mailto:Juju@lists.ubuntu.com">Juju@lists.ubuntu.com</a><br>
> Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/juju" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju</a><br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Elliot Murphy | <a href="https://launchpad.net/~statik/" target="_blank">https://launchpad.net/~statik/</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
--<br>
Juju mailing list<br>
<a href="mailto:Juju@lists.ubuntu.com">Juju@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/juju" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju</a><br>
</div></div></blockquote></div><br></div>