Packaging of proton-bridge
Hello,
I intend to package proton-bridge
(https://github.com/ProtonMail/proton-bridge) for Debian. For this, I
was told by a fellow Mobian developer that I will need to find a
sponsor in order to get the packages in the repos, and that I should
contact this team.
I have attempted to package and build proton-bridge, and all of its
needed deps that aren't in the Debian repos yet, using dh-make-golang,
git-buildpackage, and pbuilder. I have managed to build 21 packages out
of the 27 total, and I have compiled the list of packages that need
packaging into this list:
- github.com/ProtonMail/proton-bridge LOCAL DEPS
- github.com/ProtonMail/go-proton-api BUILD FAILS
- github.com/emersion/go-vcard BUILDS
- github.com/ProtonMail/go-srp PATCHED - BUILDS
- github.com/ProtonMail/bcrypt BUILDS
- github.com/cronokirby/saferith BUILDS
- github.com/abiosoft/ishell BUILDS
- github.com/flynn-archive/go-shlex BUILDS
- github.com/abiosoft/readline TESTS OVERRIDDEN - BUILDS
- github.com/chzyer/test TESTS OVERRIDDEN - BUILDS
- github.com/chzyer/logex TESTS OVERRIDDEN - BUILDS
- github.com/keybase/go-keychain TESTS OVERRIDDEN - BUILDS
- github.com/keybase/dbus TESTS OVERRIDDEN - BUILDS
- github.com/allan-simon/go-singleinstance BUILDS
- github.com/bradenaw/juniper BUILDS
- github.com/cucumber/messages-go BUILDS
- github.com/intercloud/gobinsec LOCAL DEPS
- github.com/memcachier/gomemcache BUILD FAILS
- github.com/elastic/go-sysinfo TESTS OVERRIDDEN - BUILDS
- github.com/joeshaw/multierror BUILDS
- github.com/cucumber/godog LOCAL DEPS
- github.com/cucumber/messages BUILDS
- github.com/cucumber/gherkin BUILD FAILS
- github.com/ProtonMail/gluon PATCHED AND TESTS OVERRIDDEN - BUILDS
- github.com/emersion/go-imap-uidplus BUILDS
- github.com/ProtonMail/go-mbox BUILDS
- github.com/emersion/go-imap-id BUILDS
The packages marked BUILDS are those that I have been able to build.
TESTS OVERRIDDEN means I had to override tests to build them, PATCHED
means I had to patch something to build them, and BUILD FAILS is well,
self-explanatory. LOCAL DEPS means that I cannot try building the
package yet, as I first have to successfully build a dep or two.
The sources for all of these packages can be found on my Salsa account,
at https://salsa.debian.org/users/julianfairfax/projects (although it's
worth noting that meta-phosh is not one of them).
I attempted to file ITPs for each package, using the dh-make-golang
provided example. However, after sending each one manually as a
plain-text message from Geary, I still don't seem any of them on
https://bugs.debian.org/cgi-bin/pkgreport.cgi?submitter=juliannfairfax%40protonmail.com.
There is however an open ITP for proton-bridge itself, at
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959145.
As for the packages that are currently failing to build (go-proton-api,
gomemcache, and gherkin), I have taken note of the errors they're
reporting, but I am not myself able to fix them. Here they are:
go-proton-api:
dh binary --builddirectory=_build --buildsystem=golang --with=golang
dh_update_autotools_config -O--builddirectory=_build
-O--buildsystem=golang
dh_autoreconf -O--builddirectory=_build -O--buildsystem=golang
dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang
dh_auto_build -O--builddirectory=_build -O--buildsystem=golang
_build/src/github.com/ProtonMail/go-proton-api/server/backend/modulus.go:20:12:
pattern modulus.asc: no matching files found
cd _build && go install -trimpath -v -p 16
package .: no Go files in /build/go-proton-api-0.4.0/_build
dh_auto_build: error: cd _build && go install -trimpath -v -p 16
returned exit code 1
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit
status 2
I: copying local configuration
gomemcache:
# github.com/memcachier/gomemcache
src/github.com/memcachier/gomemcache/selector.go:34:39: undefined:
os.Error
src/github.com/memcachier/gomemcache/memcache.go:39:20: undefined:
os.NewError
src/github.com/memcachier/gomemcache/memcache.go:45:22: undefined:
os.NewError
src/github.com/memcachier/gomemcache/memcache.go:49:20: undefined:
os.NewError
src/github.com/memcachier/gomemcache/memcache.go:52:22: undefined:
os.NewError
src/github.com/memcachier/gomemcache/memcache.go:55:18: undefined:
os.NewError
src/github.com/memcachier/gomemcache/memcache.go:60:23: undefined:
os.NewError
src/github.com/memcachier/gomemcache/memcache.go:63:20: undefined:
os.NewError
src/github.com/memcachier/gomemcache/memcache.go:78:28: undefined:
os.Error
src/github.com/memcachier/gomemcache/memcache.go:178:37: undefined:
os.Error
src/github.com/memcachier/gomemcache/memcache.go:178:37: too many errors
dh_auto_build: error: cd _build && go install -trimpath -v -p 16
github.com/memcachier/gomemcache returned exit code 1
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit
status 2
I: copying local configuration
gherkin:
dh binary --builddirectory=_build --buildsystem=golang --with=golang
dh_update_autotools_config -O--builddirectory=_build
-O--buildsystem=golang
dh_autoreconf -O--builddirectory=_build -O--buildsystem=golang
dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang
dh_auto_build -O--builddirectory=_build -O--buildsystem=golang
cd _build && go install -trimpath -v -p 16
github.com/cucumber/gherkin/go
github.com/cucumber/gherkin/go/gherkin-generate-tokens
github.com/cucumber/gherkin/go/main
src/github.com/cucumber/gherkin/go/astbuilder.go:4:2: cannot find
package "github.com/cucumber/messages/go/v21" in any of:
/usr/lib/go-1.20/src/github.com/cucumber/messages/go/v21 (from $GOROOT)
/build/gherkin-26.2.0/_build/src/github.com/cucumber/messages/go/v21
(from $GOPATH)
src/github.com/cucumber/gherkin/go/gherkin-generate-tokens/gherkin-generate-tokens.go:5:2:
cannot find package "github.com/cucumber/gherkin/go/v26" in any of:
/usr/lib/go-1.20/src/github.com/cucumber/gherkin/go/v26 (from $GOROOT)
/build/gherkin-26.2.0/_build/src/github.com/cucumber/gherkin/go/v26
(from $GOPATH)
dh_auto_build: error: cd _build && go install -trimpath -v -p 16
github.com/cucumber/gherkin/go
github.com/cucumber/gherkin/go/gherkin-generate-tokens
github.com/cucumber/gherkin/go/main returned exit code 1
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit
status 2
I: copying local configuration
My hope with this email is that this team will be able to assist me in
completing the packaging of proton-bridge and its dependencies, and
that someone will be able to sponsor my inclusion of all 28 packages
into the Debian repos.
This is a big task from me, and, even with dh-make-golang, I have spent
a long amount of time just to get to where I am now. This is also my
first time trying to package anything into the Debian repos themselves,
so I'm hoping you will be able to offer some help in these final
stages, as so far I have become quite frustrated, and I don't think I
realised the undertaking this would be when I started it.
Thank you in advance for all assistance that you can offer!
Julian
Reply to: