Closed mfschumann closed 1 year ago
Queued test build for eu.betterbird.Betterbird.
Started test build 45761
Started test build 45762
Build 45762 was cancelled
Build 45761 failed
bot, build
Queued test build for eu.betterbird.Betterbird.
Started test build 45768
Started test build 45769
Build 45768 was cancelled
Build 45769 failed
Started test build 46027
Build 46027 failed
Started test build 46204
You need this patch temporarily.
Thanks man!
Build 46204 failed
bot, build
Queued test build for eu.betterbird.Betterbird.
Started test build 46230
Build 46230 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/28851/eu.betterbird.Betterbird.flatpakref
You need this patch temporarily.
Why is the solution to change the source code to upgrade it beyond what is shipping in Mozilla 102 instead of simply using the compiler version that correctly matches the code being compiled? At the time of the inception of Mozilla 102, Rust 1.60.0 was the current version, not 1.70.0. This approach may work in this particular case, but basically you're shipping something that was never integration tested in this form. You brought forward parts of this changeset: https://hg.mozilla.org/mozilla-central/rev/a651d4323066#l33.13 which landed on Mozilla 111 in January 2023 totally out of context with the rest of the code base of Mozilla 102. At least I have zero knowledge of that particular Mozilla platform code and can only strongly advice against such backports.
The Betterbird build system pins the Rust compiler so it matches the code being compiled.
flathub rust SDK extension is rolling release, it's not possible to pin it. You would need to drop the extension and bundle rust in app manifest.
Similar situation happens for rolling release distros like Arch. In the past new rust releases broke mozilla esr code every two months so things are better now but we need to deal with it from time to time.
At some point someone will backport the fix to esr code and thunderbird will catch it and then we can drop the patch.
I'd like to add that your argument holds for most Linux distributions, not only rolling ones. The distribution usually defines the toolchain and patches the software to make it build (e.g. Fedora 38 uses rust 1.70 with a patch of mp4parse for building TB, just as we do for the flatpak). Flathub also encourages this way of working by providing rolling-version SDKs only.
Don't get me wrong, I am all for reproducibility and well-tested software. I also agree that the current situation is less than ideal because software is built with a compiler (version) it was never intended to. But I think in order to really improve the current situation we should try to get a discussion going among SDK maintainers and flathub staff:
@hfiguiere Do you have an opinion on that topic or can you point me to the right place to get such a discussion going?
bot, build