Open dominikschulz opened 1 year ago
IIRC a proper Debian package in the archive requires all dependencies to be packaged as their own proper packages.
Looking at our go.mod and packages.debian.org this is the list of missing packages. Most are packaged already, but a few remain. Either we get rid of these dependencies or get them packaged as well.
I've reached out a few days ago but no response so far.
Maybe we can at least send some PRs to get the existing repo on Salsa up to date. Then there are maybe four libraries missing.
Adding the missing libraries might be fairly easy, but I don't know how to collaborate on Salsa. Opening Pull Requests doesn't seem to be possible for outside contributors.
Aren't Go binaries circumventing this since we're building a static binary except for our dependencies on git, gpg, vim
?
For all other distros: Yes.
But Debian is special. Don't ask me to explain why. I did not make an attempt to understand the "why", yet.
Are both multierr packages below required? github.com/hashicorp/go-multierror - golang-github-hashicorp-go-multierror-dev go.uber.org/multierr - golang-go.uber.org-multierr-dev
The uber version requires go 1.19 but on the debian derivative PoPOS, go is 1.18.1.
I just wasted so much time not realizing the gopass i was using was not your gopass.
@rjt Sorry to hear that, I'd love to improve the situation for Debian users.
In the long run I don't think we'll need any third party multierror package since Go got native error wrapping support. But these are still likely used by some of our dependencies. If this will help the Debian packaging I will try to hunt down these and try to get rid of one (or maybe both).
github.com/hashicorp/go-multierror
seems to be only used in internal/store/root/fsck.go
. I'm sure we can replace that with errors.Join
.
The go.uber.org/multierr
package is used by github.com/twpayne/go-pinentry/
. This might require some investigation if it can be removed, but we can try.
We should try to get gopass into the official Debian repos. Unfortunately
gopass
is already taken (ref), but maybe a package name ofgopasspw
would work.Any help here is appreciated since I'm not very keen Debian policies and proceses myself.
We should:
If any changes to
gopass
are necessary to ease that work I will look into it.