Thanks for packaging golang-github-biogo-hts-dev - help for other biology related go package needed

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Thanks for packaging golang-github-biogo-hts-dev - help for other biology related go package needed

Andreas Tille-5
Hi Shengjing,

by chance I realised that you have packaged biogo[1].  This is quite
interesting for the Debian Med team and we have added the package to the
"Biology development" task of our team[2] (since I now realised that the
package exists in Debian).

The goal of the Debian Med team is to provide simple and straightforward
access to the package pool of Debian for users in life sciences and to
advertise on a single entry point - the tasks pages and the according
metapackage (in this case med-bio-dev) - all relevant packages.  Despite
I'm observing the package pool quite closely this package escaped my
attention until I now had a need for it and was explicitly seeking for
it.

In case there are more packages packaged by the golang team that would
fit into any science (there are more Blends[3] than Debian Med and I'd
volunteer to maintain the tasks files for other sciences) please let me
know.

The actual problem I had was the packaging of vcfanno.  You can find
my really poor attempt in Salsa[4].  I had never before touched a
package written in go and I'd be happy to get some helping hand how
to fix:


...
   debian/rules override_dh_auto_build
make[1]: Entering directory '/build/vcfanno-0.3.1'
cp -a *.go obj-x86_64-linux-gnu
dh_auto_build
go: warning: "/..." matched no packages
        cd obj-x86_64-linux-gnu && go install -gcflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -asmflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -v -p 4
vcfanno.go:17:2: cannot find package "github.com/BurntSushi/toml" in any of:
        /usr/lib/go-1.11/src/github.com/BurntSushi/toml (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/BurntSushi/toml (from $GOPATH)
vcfanno.go:19:2: cannot find package "github.com/brentp/irelate" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/irelate (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/irelate (from $GOPATH)
vcfanno.go:20:2: cannot find package "github.com/brentp/irelate/interfaces" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/irelate/interfaces (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/irelate/interfaces (from $GOPATH)
vcfanno.go:21:2: cannot find package "github.com/brentp/irelate/parsers" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/irelate/parsers (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/irelate/parsers (from $GOPATH)
vcfanno.go:22:2: cannot find package "github.com/brentp/vcfanno/api" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/vcfanno/api (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/vcfanno/api (from $GOPATH)
vcfanno.go:23:2: cannot find package "github.com/brentp/vcfanno/shared" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/vcfanno/shared (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/vcfanno/shared (from $GOPATH)
vcfanno.go:24:2: cannot find package "github.com/brentp/vcfgo" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/vcfgo (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/vcfgo (from $GOPATH)
vcfanno.go:25:2: cannot find package "github.com/brentp/xopen" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/xopen (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/xopen (from $GOPATH)
dh_auto_build: cd obj-x86_64-linux-gnu && go install -gcflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -asmflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -v -p 4 returned exit code 1
...

which I get when trying to build in a pbuilder chroot.

Kind regards

       Andreas.

PS: I'm not subscribed to debian-go list - please CC me.


[1] https://salsa.debian.org/go-team/packages/golang-github-biogo-hts
[2] https://blends.debian.org/med/tasks/bio-dev#golang-github-biogo-hts-dev
[3] https://www.debian.org/blends/
[4] https://salsa.debian.org/med-team/vcfanno

--
http://fam-tille.de

Reply | Threaded
Open this post in threaded view
|

Re: Thanks for packaging golang-github-biogo-hts-dev - help for other biology related go package needed

Olivier Sallou

On 4/17/19 1:28 PM, Andreas Tille wrote:

> Hi Shengjing,
>
> by chance I realised that you have packaged biogo[1].  This is quite
> interesting for the Debian Med team and we have added the package to the
> "Biology development" task of our team[2] (since I now realised that the
> package exists in Debian).
>
> The goal of the Debian Med team is to provide simple and straightforward
> access to the package pool of Debian for users in life sciences and to
> advertise on a single entry point - the tasks pages and the according
> metapackage (in this case med-bio-dev) - all relevant packages.  Despite
> I'm observing the package pool quite closely this package escaped my
> attention until I now had a need for it and was explicitly seeking for
> it.
>
> In case there are more packages packaged by the golang team that would
> fit into any science (there are more Blends[3] than Debian Med and I'd
> volunteer to maintain the tasks files for other sciences) please let me
> know.
>
> The actual problem I had was the packaging of vcfanno.  You can find
> my really poor attempt in Salsa[4].  I had never before touched a
> package written in go and I'd be happy to get some helping hand how
> to fix:
>
>
> ...
>    debian/rules override_dh_auto_build
> make[1]: Entering directory '/build/vcfanno-0.3.1'
> cp -a *.go obj-x86_64-linux-gnu
> dh_auto_build
> go: warning: "/..." matched no packages
>         cd obj-x86_64-linux-gnu && go install -gcflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -asmflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -v -p 4
> vcfanno.go:17:2: cannot find package "github.com/BurntSushi/toml" in any of:
>         /usr/lib/go-1.11/src/github.com/BurntSushi/toml (from $GOROOT)

though I never packaged for Go in Debian, I did some Go in dev.

Your dependencies are not found by compiler, it seems to look for them
in /usr/lib/go-1.11/src

In Debian package, I see that file are installed under
/usr/share/gocode/src/


did you install/require the -dev packages? such as
https://packages.debian.org/fr/sid/golang-github-burntsushi-toml-dev for
the first import error.

else may be a go packaging issue to specify to Go where to look at for
sources....

Olivier


>         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/BurntSushi/toml (from $GOPATH)
> vcfanno.go:19:2: cannot find package "github.com/brentp/irelate" in any of:
>         /usr/lib/go-1.11/src/github.com/brentp/irelate (from $GOROOT)
>         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/irelate (from $GOPATH)
> vcfanno.go:20:2: cannot find package "github.com/brentp/irelate/interfaces" in any of:
>         /usr/lib/go-1.11/src/github.com/brentp/irelate/interfaces (from $GOROOT)
>         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/irelate/interfaces (from $GOPATH)
> vcfanno.go:21:2: cannot find package "github.com/brentp/irelate/parsers" in any of:
>         /usr/lib/go-1.11/src/github.com/brentp/irelate/parsers (from $GOROOT)
>         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/irelate/parsers (from $GOPATH)
> vcfanno.go:22:2: cannot find package "github.com/brentp/vcfanno/api" in any of:
>         /usr/lib/go-1.11/src/github.com/brentp/vcfanno/api (from $GOROOT)
>         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/vcfanno/api (from $GOPATH)
> vcfanno.go:23:2: cannot find package "github.com/brentp/vcfanno/shared" in any of:
>         /usr/lib/go-1.11/src/github.com/brentp/vcfanno/shared (from $GOROOT)
>         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/vcfanno/shared (from $GOPATH)
> vcfanno.go:24:2: cannot find package "github.com/brentp/vcfgo" in any of:
>         /usr/lib/go-1.11/src/github.com/brentp/vcfgo (from $GOROOT)
>         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/vcfgo (from $GOPATH)
> vcfanno.go:25:2: cannot find package "github.com/brentp/xopen" in any of:
>         /usr/lib/go-1.11/src/github.com/brentp/xopen (from $GOROOT)
>         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/xopen (from $GOPATH)
> dh_auto_build: cd obj-x86_64-linux-gnu && go install -gcflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -asmflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -v -p 4 returned exit code 1
> ...
>
> which I get when trying to build in a pbuilder chroot.
>
> Kind regards
>
>        Andreas.
>
> PS: I'm not subscribed to debian-go list - please CC me.
>
>
> [1] https://salsa.debian.org/go-team/packages/golang-github-biogo-hts
> [2] https://blends.debian.org/med/tasks/bio-dev#golang-github-biogo-hts-dev
> [3] https://www.debian.org/blends/
> [4] https://salsa.debian.org/med-team/vcfanno
>
--
Olivier Sallou
Univ Rennes, Inria, CNRS, IRISA
Irisa, Campus de Beaulieu
F-35042 RENNES - FRANCE
Tel: 02.99.84.71.95

gpg key id: 4096R/326D8438  (keyring.debian.org)
Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438

Reply | Threaded
Open this post in threaded view
|

Re: Thanks for packaging golang-github-biogo-hts-dev - help for other biology related go package needed

Andrius Merkys
Hi,

On 2019-04-17 16:58, Olivier Sallou wrote:
> did you install/require the -dev packages? such as
> https://packages.debian.org/fr/sid/golang-github-burntsushi-toml-dev for
> the first import error.

all the "cannot find package" errors seem to nag about missing
build-depends.

I am pretty new to Go, but seen this message a lot already :)

Hope this helps,
Andrius

Reply | Threaded
Open this post in threaded view
|

Re: Thanks for packaging golang-github-biogo-hts-dev - help for other biology related go package needed

Shengjing Zhu-3
In reply to this post by Andreas Tille-5
(dropping pkg-go-maintainers@, since it's a legacy list which is
suppressed by debian-go@)


On Wed, Apr 17, 2019 at 7:28 PM Andreas Tille <[hidden email]> wrote:

>
> Hi Shengjing,
>
> by chance I realised that you have packaged biogo[1].  This is quite
> interesting for the Debian Med team and we have added the package to the
> "Biology development" task of our team[2] (since I now realised that the
> package exists in Debian).
>
> The goal of the Debian Med team is to provide simple and straightforward
> access to the package pool of Debian for users in life sciences and to
> advertise on a single entry point - the tasks pages and the according
> metapackage (in this case med-bio-dev) - all relevant packages.  Despite
> I'm observing the package pool quite closely this package escaped my
> attention until I now had a need for it and was explicitly seeking for
> it.
>
> In case there are more packages packaged by the golang team that would
> fit into any science (there are more Blends[3] than Debian Med and I'd
> volunteer to maintain the tasks files for other sciences) please let me
> know.
>

I don't think you should recommend user any golang-*-dev package.

Libraries written in Go are packaged for Debian with the only purpose
of building other Go programs for Debian. They are specifically not
available for users in their regular development workflow. For that,
users should use go get. [1]

> The actual problem I had was the packaging of vcfanno.  You can find
> my really poor attempt in Salsa[4].  I had never before touched a
> package written in go and I'd be happy to get some helping hand how
> to fix:
>
>
> ...
>    debian/rules override_dh_auto_build
> make[1]: Entering directory '/build/vcfanno-0.3.1'
> cp -a *.go obj-x86_64-linux-gnu
> dh_auto_build
> go: warning: "/..." matched no packages
>         cd obj-x86_64-linux-gnu && go install -gcflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -asmflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -v -p 4
> vcfanno.go:17:2: cannot find package "github.com/BurntSushi/toml" in any of:
>         /usr/lib/go-1.11/src/github.com/BurntSushi/toml (from $GOROOT)
>         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/BurntSushi/toml (from $GOPATH)

You could try the dh-make-golang[2], which could create debian package
for Go program.

For the vcfanno case, run
dh-make-golang make -type program -git_revision=v0.3.1 github.com/brentp/vcfanno

Then you could find some useful tips, like what build dependencies are
not packaged, and a near completed debian/ directory.

[1] https://go-team.pages.debian.net/packaging.html#_library_or_binary_library_packages
[2] https://packages.debian.org/sid/dh-make-golang

--
Shengjing Zhu

Reply | Threaded
Open this post in threaded view
|

Re: Thanks for packaging golang-github-biogo-hts-dev - help for other biology related go package needed

Andreas Tille-2
Hi,

On Wed, Apr 17, 2019 at 10:58:34PM +0800, Shengjing Zhu wrote:

> > In case there are more packages packaged by the golang team that would
> > fit into any science (there are more Blends[3] than Debian Med and I'd
> > volunteer to maintain the tasks files for other sciences) please let me
> > know.
> >
>
> I don't think you should recommend user any golang-*-dev package.
>
> Libraries written in Go are packaged for Debian with the only purpose
> of building other Go programs for Debian.

The task med-bio-dev is for developers of biological applications (not
for users).  It recommends bioperl, biopython, biojava and bioruby.  I
think it is perfectly in line to recommend golang-*-dev packages that
are dealing with biological problems.  Please give me some actual
reasons why this should not make sense.

> They are specifically not
> available for users in their regular development workflow. For that,
> users should use go get. [1]
>
> > The actual problem I had was the packaging of vcfanno.  You can find
> > my really poor attempt in Salsa[4].  I had never before touched a
> > package written in go and I'd be happy to get some helping hand how
> > to fix:
> >
> >
> > ...
> >    debian/rules override_dh_auto_build
> > make[1]: Entering directory '/build/vcfanno-0.3.1'
> > cp -a *.go obj-x86_64-linux-gnu
> > dh_auto_build
> > go: warning: "/..." matched no packages
> >         cd obj-x86_64-linux-gnu && go install -gcflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -asmflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -v -p 4
> > vcfanno.go:17:2: cannot find package "github.com/BurntSushi/toml" in any of:
> >         /usr/lib/go-1.11/src/github.com/BurntSushi/toml (from $GOROOT)
> >         /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/BurntSushi/toml (from $GOPATH)
>
> You could try the dh-make-golang[2], which could create debian package
> for Go program.
>
> For the vcfanno case, run
> dh-make-golang make -type program -git_revision=v0.3.1 github.com/brentp/vcfanno

Thanks for this helpful hint.  It enhanced the packaging but there are
remaining errors which to me look like missing Build-Depends which are
not packaged yet:

        cd obj-x86_64-linux-gnu && go install -gcflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -asmflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -v -p 4 github.com/brentp/vcfanno github.com/brentp/vcfanno/api github.com/brentp/vcfanno/shared
src/github.com/brentp/vcfanno/api/api.go:15:2: cannot find package "github.com/brentp/bix" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/bix (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/bix (from $GOPATH)
src/github.com/brentp/vcfanno/api/api.go:16:2: cannot find package "github.com/brentp/goluaez" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/goluaez (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/goluaez (from $GOPATH)
src/github.com/brentp/vcfanno/vcfanno.go:19:2: cannot find package "github.com/brentp/irelate" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/irelate (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/irelate (from $GOPATH)
src/github.com/brentp/vcfanno/vcfanno.go:20:2: cannot find package "github.com/brentp/irelate/interfaces" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/irelate/interfaces (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/irelate/interfaces (from $GOPATH)
src/github.com/brentp/vcfanno/vcfanno.go:21:2: cannot find package "github.com/brentp/irelate/parsers" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/irelate/parsers (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/irelate/parsers (from $GOPATH)
src/github.com/brentp/vcfanno/api/api.go:19:2: cannot find package "github.com/brentp/vcfgo" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/vcfgo (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/vcfgo (from $GOPATH)
src/github.com/brentp/vcfanno/shared/shared.go:10:2: cannot find package "github.com/brentp/xopen" in any of:
        /usr/lib/go-1.11/src/github.com/brentp/xopen (from $GOROOT)
        /build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src/github.com/brentp/xopen (from $GOPATH)
dh_auto_build: cd obj-x86_64-linux-gnu && go install -gcflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -asmflags=all=\"-trimpath=/build/vcfanno-0.3.1/obj-x86_64-linux-gnu/src\" -v -p 4 github.com/brentp/vcfanno github.com/brentp/vcfanno/api github.com/brentp/vcfanno/shared returned exit code 1
make: *** [debian/rules:5: build] Error 1


> Then you could find some useful tips, like what build dependencies are
> not packaged

Is there any chance that dh-make-golang failed to detect those missing
Build-Depends?  Will I need to

   dh-make-golang make -type library -git_revision=v0.3.1 github.com/brentp/bix

etc to get these packaged?  I think for the final target the user
application vcfanno the Debian Med team is OK to maintain that
package but for about five golang libraries it might sensible to
put these into debian-go team space on alioth, right?

Kind regards and thanks a lot for your helpful hints

      Andreas.

> [1] https://go-team.pages.debian.net/packaging.html#_library_or_binary_library_packages
> [2] https://packages.debian.org/sid/dh-make-golang

--
http://fam-tille.de

Reply | Threaded
Open this post in threaded view
|

Re: Thanks for packaging golang-github-biogo-hts-dev - help for other biology related go package needed

Shengjing Zhu-3
On Thu, Apr 18, 2019 at 2:36 AM Andreas Tille <[hidden email]> wrote:
> > Libraries written in Go are packaged for Debian with the only purpose
> > of building other Go programs for Debian.
>
> The task med-bio-dev is for developers of biological applications (not
> for users).  It recommends bioperl, biopython, biojava and bioruby.  I
> think it is perfectly in line to recommend golang-*-dev packages that
> are dealing with biological problems.  Please give me some actual
> reasons why this should not make sense.
>

Forget to copy another section on
https://go-team.pages.debian.net/packaging.html

 The rationale behind this decision is:

 By using go get you are forced to set up the environment variable
$GOPATH which you need for other go commands (e.g. go build, go test,
etc.).

 Debian packages install files to system locations, which users cannot
modify. That means that users would not be able to upgrade packages
with the canonical go get -u <package>. Even worse, when using sudo to
forcibly modify the system files, it still would not work since no VCS
information is contained in the Debian packages.


[...]

> Is there any chance that dh-make-golang failed to detect those missing
> Build-Depends?  Will I need to

In most cases, dh-make-golang can detect Go Build-Depends, and report
if they haven't packaged. You will see warning like:

Build-Dependency "github.com/brentp/bix" is not yet available in Debian


> etc to get these packaged?  I think for the final target the user
> application vcfanno the Debian Med team is OK to maintain that
> package but for about five golang libraries it might sensible to
> put these into debian-go team space on alioth, right?
>

s/alioth/salsa/

It's always welcome to join pkg-go team and put packages under the
team umbrella.

You can start here https://go-team.pages.debian.net/

--
Shengjing Zhu

Reply | Threaded
Open this post in threaded view
|

Re: Thanks for packaging golang-github-biogo-hts-dev - help for other biology related go package needed

Andreas Tille-2
Hi,

On Thu, Apr 18, 2019 at 01:20:30PM +0800, Shengjing Zhu wrote:

>
> Forget to copy another section on
> https://go-team.pages.debian.net/packaging.html
>
>  The rationale behind this decision is:
>
>  By using go get you are forced to set up the environment variable
> $GOPATH which you need for other go commands (e.g. go build, go test,
> etc.).
>
>  Debian packages install files to system locations, which users cannot
> modify. That means that users would not be able to upgrade packages
> with the canonical go get -u <package>. Even worse, when using sudo to
> forcibly modify the system files, it still would not work since no VCS
> information is contained in the Debian packages.

Thanks for the extra information.  I reverted the recommendation in the
bio-dev task.
 
> > Is there any chance that dh-make-golang failed to detect those missing
> > Build-Depends?  Will I need to
>
> In most cases, dh-make-golang can detect Go Build-Depends, and report
> if they haven't packaged. You will see warning like:
>
> Build-Dependency "github.com/brentp/bix" is not yet available in Debian

I need to find some time to dive into this.
 
> It's always welcome to join pkg-go team and put packages under the
> team umbrella.
>
> You can start here https://go-team.pages.debian.net/

Thank you for the kind invitation

     Andreas.

--
http://fam-tille.de