[pkg-go] Packaging Golang library: Circular dependencies

Jelmer Vernooij jelmer at debian.org
Mon Apr 21 17:17:39 UTC 2014


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

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/20140421/c123fc84/attachment.sig>


More information about the Pkg-go-maintainers mailing list