[Bug 1830096]

Dtownsend 1830096 at bugs.launchpad.net
Thu May 23 17:09:55 UTC 2019

(In reply to Olivier Tilloy from comment #3)
> It seems unfortunate that firefox uses MOZ_BUILD_DATE as its build ID (if I followed correctly the code path, see https://hg.mozilla.org/mozilla-central/file/tip/build/variables.py#l15).

My apologies, I hadn't noticed that this was the case.

> The official build from Mozilla might not be affected by that bug, but
on Ubuntu we build firefox for each supported release (at present that's
16.04, 18.04, 18.10, 19.04 and the development series, 19.10), which
means that the same package of firefox for two different Ubuntu releases
will be getting different build IDs, and there's no way to guarantee
that the build ID for release X will be < the build ID for release Y,
where X < Y (other than building the packages sequentially, instead of
in parallel).

If the builds for each release are from the same source then I don't
think it would be an issue for the Firefox build ID to match across
those builds, though I also imagine that sharing profiles between
different Ubuntu releases is going to be rare.

The chief thing that we care about is that if the Firefox code is newer
then it should have a larger compatibility version than previously. The
compatibility version is defined as
`<version>_<appbuildid>/<platformbuildid>` (the latter two are the same
in Mozilla builds). We compare as if the string is a valid toolkit
version (https://developer.mozilla.org/en-
US/docs/Mozilla/Toolkit_version_format), and to make that the case we do
some special parsing in the case where the buildid is the expected
number of characters that are generated from Mozilla builds, otherwise
we just use the literal compatibility version for comparison.

I am not sure about other uses of the build ID in Firefox, but I think
one viable option is just to set the build ID to your "build2". This
would lead to a compatibility version like `67.0_build2/build2`. This
would fall back to just interpreting that as a full version string which
looks like it compares correctly:

"67.0_build1/build1" < "67.0_build2/build2"
"67.0_build3/build3" > "67.0_build2/build2"
"67.0_build3/build3" < "67.1_build2/build2"
"67.0.1_build1/build1" < "67.1_build2/build2"
"67.0.1_build1/build1" > "67.0_build2/build2"

What do you think of that?

You received this bug notification because you are a member of Mozilla
Bugs, which is subscribed to firefox in Ubuntu.

  Firefox 67 in Ubuntu 18.10 thinks it's an older version

To manage notifications about this bug go to:

More information about the Ubuntu-mozillateam-bugs mailing list