[pkg-go] ITP Gogs + Dependency Hell

Potter, Tim (HPE Linux Support) timothy.potter at hpe.com
Tue Oct 18 21:42:34 UTC 2016


On 15 Oct 2016, at 5:31 PM, Michael Lustfield <debian at lustfield.net> wrote:
> 
> Howdy!
> 
> I'll start off by introducing myself! I'm MTecknology! I'm hear
> because I had a goal, and I haven't lost sight of that, but I need
> some help getting there.
> 
> Gogs [1] is a tool that I personally use heavily. My entire
> infrastructure is deployed and configured by changes in git. Since
> gogs is one of the few tools I use that's not currently packaged in
> Debian, and because I want to be more involved in Debian, this seemed
> like a logical place to start. (I was wrong)

Great!  Welcome to the pkg-go team, such as it is.  (-:

> My first topic of interest should be simple. I feel like pkg-go is an
> interesting group and I'd like to contribute to it. I've played with
> golang packaging up until the point of pushing things to Debian
> servers. Based on my experience...
> 
> I'd like to take on contributing to pkg-go so that the build
> dependencies for gogs will exist in Debian. As part of a team, my
> interests would obviously be inclined to grow. The question here
> becomes, where can I find a list of expectations prior to joining this
> group and how would I do that?

I don't think there's an official list of expectations that you need to read through,
but if you're packaging an app like Gogs it would be great if you take the
time to monitor bugs and jump in to fix them when they apply to Gogs.

> The second, and directly related, topic of interest is gogs. I took
> over the abandoned ITP [2] thinking it seemed relatively simple and
> straight forward. I sure as crap jumped in way over my head, so now
> seems like a good time to learn how to swim. :P

Heh.  That's a pretty big dependency list, but if you're lucky it should be able
to be gone through fairly quickly using dh-make-golang.  I've found about 80%
of small Go libraries just work straight off with little extra effort, another 10%
require some reasonable effort, and the last 10% is usually a nightmare.  (-:

dh-make-golang is definitely your friend though.  There's an annotated example
of usage here:

https://people.debian.org/%7Estapelberg/2015/07/27/dh-make-golang.html

> While I was working through the dependency chain for gogs, I ran into
> quite the clusterfuck. I'd like to assume this is normal exactly
> nowhere. Please, don't tell me if I'm wrong. I've documented the
> "dependency hell" in the ITP [2].

That list does contain a lot of circular dependencies.  Is this something that
upstream is aware of and working on?  It's only a big problem in bootstrapping
the packages into a new archive (e.g first entry into unstable, moving to
backports) as it requires manual intervention.

There are a couple of these loops in Docker and some of the base tools in
Go.  Sometimes there's just nothing you can do about it.

> My first question on this topic becomes, is this even suitable for
> Debian? Based on that list of dependencies, is gogs something we want
> included? If so, I'd love to continue pursuing the endeavor, but I
> would absolutely love to stop now if that's not the case.

Sure - why not.  If it's a package that's useful and other people find it something
that solves a problem in their lives then there's no reason why it should not
be in Debian.   In general there doesn't appear to be any official bar for
deciding what goes in and what doesn't.  There are some basic rules though.
It must be distributable by Debian and satisfy the Debian Free Software
Guidelines.  Most sanely-licensed open source packages do this though.

> If it's decided that gogs should be included in Debian, and also
> decided that I get to help push out dependencies, then I could
> /really/ use a little bit of hand holding on the first couple. Some of
> the issues that popped up seem pretty challenging for a novice such as
> myself. Anyone willing? :)

I can help you out.  Grab me (tpot) on IRC on the #debian-golang channel and I
can go through some things with you.


Regards,

Tim.

> I have a few other questions, such as how cyclical and circular
> dependencies should be handled, but those seem like "not now"
> questions.
> 
> [1] https://gogs.io/
> [2] https://bugs.debian.org/792101
> --
> Michael Lustfield
> 
> _______________________________________________
> 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.alioth.debian.org/pipermail/pkg-go-maintainers/attachments/20161018/e1c41b40/attachment-0001.sig>


More information about the Pkg-go-maintainers mailing list