On Wed, Apr 15, 2020 at 06:21:16PM +0800, Shengjing Zhu wrote: > On Wed, Apr 15, 2020 at 4:54 PM Michael Vogt <m...@ubuntu.com> wrote: > > > > Package: dh-golang > > Version: 1.48 > > > > It would be nice if dh-golang would support setting go buildtags. > > > > My use-case is a relatively large go application (snapd). It has a > > buildtag (nosecboot) to exclude parts that are only relevant for > > embedded systems. Right now I workaround this by removing files but > > that is a bit of a ugly workaround. > > I think you cat override dh_auto_* target, like: > > override_dh_auto_build: > dh_auto_build -- -tags nosecboot > > Real examples are: > https://salsa.debian.org/go-team/packages/runc/-/blob/master/debian/rules#L12
Thank you for your quick and reply and your suggestion! Yes, this works and it is what I was doing so far and it works in most cases. However it seems like it's not enough for some cases (like the latest changes in snapd). There are bits inside dh_golang that use "go list -f ..." without considering tags and AFAICT with no way to add awareness for build tags. So in my case go list will also include the files that have the "!secboot" tag which have extra go dependencies that are not available in debian. This then makes the build fail. Let me give an example, suppose we have foo.go: """ // +build !nosecboot package foo import "unavailable.pkg/in/debian" """" then "go list -f" will pickup the unavailalbe import (I hope this explanation makes sense, happy to expand or give more concrete examples). If there is a workaround for this, I would love to learn it :) Thanks, Michael