[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: