[pkg-go] Packaging Golang library: Circular dependencies

Michael Stapelberg stapelberg at debian.org
Sat Apr 26 17:20:57 UTC 2014


Hi Jelmer,

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.

-- 
Best regards,
Michael



More information about the Pkg-go-maintainers mailing list