[pkg-go] Packaging Golang library: Circular dependencies

Jelmer Vernooij jelmer at debian.org
Mon May 5 21:28:00 UTC 2014


On Sat, Apr 26, 2014 at 07:20:57PM +0200, Michael Stapelberg wrote:
> Jelmer Vernooij <jelmer at debian.org> writes:
> 
> > I'm in the process of creating a golang-testify package, for
> > github.com/stretchr/testify. All of this is part of a larger effort to
> > package etcd (which depends on testify).
> >
> > testify itself is simple enough, but it has a dependency on the objx
> > package from the same author. It seems to do this just for a generic
> > Map type.  objx in turn uses testify for its testsuite.
> >
> > Circular dependencies are a pain and I'm still fairly new to go packaging
> > so I would appreciate any advice as that what the best approach here is.
> >
> > I'm considering:
> >
> >  * patching testify to copy in the Map type from objx. Means we'll
> >    have another type in the API that is not provided by upstream.
> >    objx seems like another misc set of utility types/functions; I'm not
> >    convinced it would be a win to have it in the archive, other than
> >    for testify.
> >  * packaging objx but not running its test suite, avoiding the
> >    dependency on testify.
> >  * uploading objx with the dependency on testify patched out, then
> >    uploading testify, then reuploading objx with testify dependency
> Sorry for replying late.
> 
> The relevant wiki page seems to be
> https://wiki.debian.org/DebianBootstrap — maybe you want to sync up with
> wookey and see how this can best be solved.
> 
> With my Go hat on I’d say not running the testsuite is okay, if the
> DebianBootstrap solution is not ready to use as-is.

Thanks, Michael. The upcoming features for dpkg to handle
bootstrapping better look interesting, but nothing in the archive
currently uses them.

For the moment, I've opted to patch objx to avoid any use of testify.
That was fairly easy, although it will be painful if upstream
is going to be changing frequently.

Cheers,

Jelmer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-go-maintainers/attachments/20140505/b25d60eb/attachment.sig>


More information about the Pkg-go-maintainers mailing list