[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Packaging Proton Bridge: cryptic compilation failure
From: |
Ian Eure |
Subject: |
Re: Packaging Proton Bridge: cryptic compilation failure |
Date: |
Sat, 30 Nov 2024 19:22:07 +0000 |
Hi Marek,
On Sat, Nov 30, 2024, at 6:56 PM, Marek Paśnikowski wrote:
> On sobota, 30 listopada 2024 19:08:49 CET Cayetano Santos wrote:
>> >sam. 30 nov. 2024 at 17:26, Marek Paśnikowski <marek@marekpasnikowski.pl>
> wrote:
>> > Hello Guix
>> >
>> > I am towards the end of a first pass of packaging the Proton Bridge
>> > program to access my Proton Mail with KMail.
>> >
>> > I have worked through and learned about many peculiarities of Golang build
>> > system. As long as I had an error message, I was able to at least work
>> > around problems. However, the latest build failure is completely cryptic
>> > to me, as its log contains zero error messages. It works fine until I
>> > get a "build
>> > failed" summary:
>> The debug for dummies manual advices using the "--keep-failed" flag when
>> you build packages. Using a shell container helps to understand this kind
>> of cryptic messages too.
>>
>> --
>> Cayetano Santos
>
>
> Thank you Ian, Cayetano for swiftly reminding me to Read The Manual. I was
> so
> tired with constant tweaking of package after package, that I forgot to go to
> the basics.
>
> I learned that I can source variables to emulate the build environment, in
> which I issued the same command that go build system uses to build the
> package. Here is the result, much cleaner with the interesting stuff right
> at
> the end:
>
> [...]
> # github.com/ProtonMail/go-crypto/openpgp/packet
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:12:92:
> undefined: errors.ErrMalformedMessage
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:13:16:
> undefined: errors.ErrMalformedMessage
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:94:17:
> undefined: errors.ErrMalformedMessage
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/config_v5.go:6:2: undefined:
> V5Disabled
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/marker.go:27:33: undefined:
> packetTypeMarker
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/padding.go:20:33: undefined:
> packetPadding
>
> I remember faking a Proton’s fork with the upstream package because GitHub
> failed to find it. It could be the one, or not. At least I have a thread to
> follow now; and a new tool for deep inspection.
>
It's been a while since I've worked in Go, but based on:
https://github.com/ProtonMail/go-crypto/blob/main/openpgp/packet/packet_sequence.go#L9
...I suspect the go-crypto repository houses multiple Go packages, which all
need to be packaged individually in Guix. It looks like your Guix packages
aren't doing that, which may explain the error you're getting. This is just
a hunch, it's been a few years since I wrote Go, and I never dealt with
packaging beyond stuffing static binaries into Docker containers -- but it
feels at least close to the root of the issue to me.
-- Ian