Versioning issues with juju-core and goose
William Reade
william.reade at canonical.com
Fri Feb 15 07:50:41 UTC 2013
On Fri, 2013-02-15 at 14:07 +1300, Tim Penhey wrote:
> 1: What is our plan for handling dependencies between libraries [1]
> 2: Is there a flag for `go get` that tells it to resolve the underlying
> branch again?
> 2a: Can I specify that `go get` should resolve `lp:` branches properly?
> I'm guessing that it should/could use bzrlib to resolve the name for
> it, which would mean that if you had a lp login you'd get a faster download.
>
>
> Tim
>
> [1] Adding a version string to the pathname inside the import statements
> is crazy and we should consider something better.
>
I agree that the current situation is unworkable -- I suspect that, on
average, every one of us is building with subtly differing versions of
every external package we depend on. Even if that is not true, nobody
can prove it's not true, so any objection is likely to be academic.
I don't believe that any of us is building with a consistent set of
dependencies, or that any of us is capable of telling when we do. This
problem is *much* worse than just having a broken build every now and
then, because any minor bug fixes or behavioural tweaks in dependencies
may or may not be present in any given build; it's not reasonable to
pretend that this doesn't matter.
Without trashing src/ and go getting from scratch, every time -- which
is not ok, and *still* can't guarantee that dev A with juju-core rev
12345 is actually building the same thing as dev B with juju-core rev
12345 -- we seem to have no way out of this situation.
Can anyone offer any arguments against either of the following
statements:
1) Randomly inconsistent builds are unacceptable.
2) The go tools cannot guarantee consistent builds when external
packages are involved.
3) We need to either drop the go tools (for this purpose) or move all
our external dependencies into the project.
Of the options in (3), I favour the latter; disk space is comparatively
cheap, and the go tools are pretty nice when they're not screwing us as
described above.
Opinions?
Cheers
William
More information about the Juju-dev
mailing list