[pkg-go] Help with dh-golang

Michael Stapelberg stapelberg at debian.org
Thu May 21 07:10:10 UTC 2015

On Thu, May 21, 2015 at 8:51 AM, André Colomb <debian at andre.colomb.de>

> Hi list,
> I'm just doing my first steps with Go and Debian packaging, so please
> bear with me in case of dumb questions ;-)
> On 2015-05-19 11:12, Michael Stapelberg wrote:>     > The problem you’re
> seeing is that you didn’t declare dependencies
> >     > on the library packages that syncthing is trying to use. In
> >     > Debian, we never use bundled/vendored dependencies. Some of the
> >     > dependencies are already packaged in Debian, e.g.
> >     > golang-goleveldb-dev, but it looks like most aren’t (yet).
> >
> >     The upstream repository includes a whole bunch of dependencies
> >     verbatim (not e.g. as git subprojects).  So if I understand
> correctly,
> >     all of these should be packaged as separate golang-*-dev libraries?
> >
> > That’s correct.
> >
> >     The sources are under Godeps/_workspace/src/ in the repository.  Some
> >     are so trivial that I doubt they would make useful library packages.
> >     Is there a way to just treat them as part of the Syncthing software
> >     itself?  Can I influence the GOPATH dh-golang sets to include the
> >     Godeps/_workspace/ path?
> >
> > No, and that’s intentional.
> So I got to know what Godep is [1], but I'm not quite sure it's a good
> idea.  It advises people to _copy_ Go package dependencies to their own
> project repository and track them there.  That seems to avoid Dependency
> Hell, but sounds like the opposite of dependency management to me.
> Isn't that what git subprojects are for, if all depended-on source code
> must be available in one giant build setup?

Dependency management in Go is a heated discussion and an often brought up
topic on golang-nuts, so I recommend you search that mailing list if you’re
interested in the topic and what Go upstream has to say about it :).

> Anyway, I just wondered whether you pkg-go maintainers already have a
> master plan regarding dependencies (and their manifold, separate needed
> versions in different dependent packages) within Debian Go packages?

I thought this was already clarified earlier, but let me state it again:
every Go package needs to have a corresponding Debian package, and we
ignore everything upstream includes in the Godep/ directory (or any
directories with a similar purpose). If that doesn’t answer the question,
please ask more specific questions.

> If so, would someone mind to elaborate on the Big Picture?  The
> documentation on the Alioth pages [2] would be a nice discoverable place
> and is already quite good, so thank you by the way!

Once it’s clear to you (feel free to ask more questions), can you please
send a patch against  http://anonscm.debian.org/cgit/pkg-go/website.git/?
That’s where the documentation you referred to lives, and I think you’re
the best person to update it, because you know what was unclear to you and
what bit of information made it clear :).

> Regards
> André
> [1]: https://github.com/tools/godep
> [2]: http://pkg-go.alioth.debian.org/packaging.html
> _______________________________________________
> Pkg-go-maintainers mailing list
> Pkg-go-maintainers at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-go-maintainers

Best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-go-maintainers/attachments/20150521/cc3263e5/attachment.html>

More information about the Pkg-go-maintainers mailing list