Closed Bug 1580940 Opened 5 years ago Closed 5 years ago

application.ini still at 68.1.0 when building TB 68.1.1 leading to "Lightning 68.1.1 is incompatible with Thunderbird 68.1.1" (and a heap of text failures)

Categories

(Thunderbird :: Build Config, enhancement)

x86_64
Unspecified
enhancement
Not set
blocker

Tracking

(thunderbird_esr6869+ fixed)

RESOLVED FIXED
Thunderbird 68.0
Tracking Status
thunderbird_esr68 69+ fixed

People

(Reporter: jorgk-bmo, Assigned: rjl)

References

(Regression)

Details

Attachments

(1 file)

+++ This bug was initially created as a clone of Bug #1520365 +++

I built TB 68.1.1 here:
https://treeherder.mozilla.org/#/jobs?repo=comm-esr68&revision=bfd115c413ffa678e313c3ce33c44bbc7f28c7b3

Looks like all Calendar related MozMill tests failed. So I downloaded the binary and installed it onto a new profile.

In the add-ons manager I was told:
Lightning is incompatible with Thunderbird 68.1.1

However, Lightning is at version 68.1.1. So something as gone wrong.

Flags: needinfo?(geoff)

I could get it installed by changing the version and strict_min_version to 68.1.0.

Wrong gecko version? From to application.ini:

Version=68.1.1
...
[Gecko]
MinVersion=68.1.0
MaxVersion=68.1.0

From manifest.json:

"strict_min_version": "68.1.1"

Wow, and why is application.ini wrong? So this becomes a build issue, right?

Flags: needinfo?(rob)

I was planning to do this anyway, and it will certainly help here.

There's a bunch of packaging related bugs that went into Daily over the last couple of weeks that I suggest uplifting so there's one way of calculating versions and generating those files.

bug 1569539, bug 1507754, bug 1561782, bug 1578806, bug 1578920.

Flags: needinfo?(rob)

Well, application.ini is still at 68.1.0 since it comes from M-C/M-ESR68. That makes it impossible to spin a x.y.Z release when they are at x.y.0 :-(

Flags: needinfo?(geoff)
Component: Lightning Only → Build Config
Product: Calendar → Thunderbird
Version: Trunk → 68

Does Thunderbird has similar restrictions regarding "strict_min_version" in manifest file as Firefox? In that case it should be "68.0" and not "68.1.0" or "68.1.1". https://addons.mozilla.org/en-US/firefox/pages/appversions/

Summary: Lightning 68.1.1 is incompatible with Thunderbird 68.1.1 - No joke → application.ini still at 68.1.0 when building TB 68.1.1 leading to "Lightning 68.1.1 is incompatible with Thunderbird 68.1.1" (and a heap of text failures)

I downloaded the binary and installed it onto a new profile. In the add-ons manager I was told: Lightning is incompatible with Thunderbird 68.1.1. However, Lightning is at version 68.1.1. So something as gone wrong.

So this is not something wrong in 68.1.0, that we need to address BEFORE users update to 68.1.1, correct?

What I am concerned about is users updating to 68.1.1 and then they (and we) face a compatibility issue that is difficult or impossible to resolve.

Actually since this build usses Firefox 68.1.0, application.ini is technically correct. This seems to be what the addons code is looking at to decide on compatibility.

I was able to get calendar to work in the above build by unpacking the XPI file that gets installed, and changing manifest.json's "strict_minimum_version" to "68.1" rather than "68.1.1".

application.ini is generated and build time then turned into application_ini.h. application.ini is ignored at runtime unless you start with some magical semi-undocumented parameter to the executable.

I think for 68.1.1, we can modify whatever created manifest.json to drop the 3rd level of the strict_minimum_version requirement. I doubt other addons will have such an issue since most seem to generate version requirements another way (eg not tied to the source like this).

Forget my earlier comments. Those uplifts won't help here unless the way manifest.json is built has changed.

Hmm ... so if my changing that strict_minimum_version to "68.1" fixes this, then that means toolkit looks at the Gecko version, not the Thunderbird version.
And here it gets ugly again, because the reason for strict_minimum_version being this way is for security releases. But if there's no Gecko update to address a security issue, like in this case Gecko stays at 68.1.0 and Thunderbird bumps to 68.1.1 there's a problem.

So yes my "fix" will deal with 68.1.1 but IMHO addon version checking needs to be modified to look at Thunderbird version, not Gecko version.

The strict_minimum_version entry in manifest.json explicitly refers to Gecko and not to Firefox or Thunderbird:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings
And at least Firefox requires that it is set to "68.0" and not "68.1" for its extensions, see comment #6.

(In reply to Wayne Mery (:wsmwk) from comment #7)

So this is not something wrong in 68.1.0, that we need to address BEFORE users update to 68.1.1, correct?

TB 68.1.0 is fine. We can currently not build 68.1.1 with a working calendar. So if we can't build it, no one will be upgraded.

(In reply to Rob Lemley [:rjl] from comment #9)

Hmm ... so if my changing that strict_minimum_version to "68.1" fixes this, then that means toolkit looks at the Gecko version, not the Thunderbird version.
And here it gets ugly again, because the reason for strict_minimum_version being this way is for security releases. But if there's no Gecko update to address a security issue, like in this case Gecko stays at 68.1.0 and Thunderbird bumps to 68.1.1 there's a problem.

Surely there's only a problem if for some reason the .1 Lightning doesn't play nicely with the .0 Thunderbird? That could happen, but seems pretty unlikely IMO.

So yes my "fix" will deal with 68.1.1 but IMHO addon version checking needs to be modified to look at Thunderbird version, not Gecko version.

I doubt the toolkit team will agree to that.

Let's just trim the strict_min_version number back to 68.1 and be done with it.

Attached patch lightning_manifest.patch (deleted) — Splinter Review
strict_min_version will be 68.1.0 in the case of 68.1.1. I fixed it for
both Lightning and GData-provider as it does things the same way.

This will only apply on comm-esr68, the code on central is different enough
that changes won't line up. The same issue is present though.
Assignee: nobody → rob
Status: NEW → ASSIGNED

Gonna get a review?

Attachment #9093172 - Flags: review?(geoff)
Comment on attachment 9093172 [details] [diff] [review]
lightning_manifest.patch

This is acceptable, but I'd prefer to make `THUNDERBIRD_MINVERSION` in the same way we make `THUNDERBIRD_MAXVERSION`, in versions.mk.
Comment on attachment 9093172 [details] [diff] [review]
lightning_manifest.patch

Actually, stuff it. This'll do.
Attachment #9093172 - Flags: review?(geoff)
Attachment #9093172 - Flags: review+
Attachment #9093172 - Flags: approval-comm-esr68?
Attachment #9093172 - Flags: approval-comm-esr68? → approval-comm-esr68+
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 68.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: