Build Firefox against Gtk+ 3.10 instead of 3.4.

RESOLVED FIXED in Firefox 65

Status

RESOLVED FIXED
5 months ago
3 months ago

People

(Reporter: glandium, Assigned: glandium)

Tracking

unspecified
mozilla65
Dependency tree / graph

Firefox Tracking Flags

(firefox65 fixed)

Details

Attachments

(6 attachments)

Comment hidden (empty)
(Assignee)

Updated

5 months ago
Blocks: 1501218
(Assignee)

Comment 1

5 months ago
Versions of glib newer than the one we currently use adds a function we
don't use.
(Assignee)

Comment 2

5 months ago
We're going to bump our shipped builds to build against Gtk+ 3.10, but
still want to ensure we can still build against Gtk+ 3.4. As we're using
Gtk+ packages installed in the build docker image, we need to have a
separate image where the Gtk+ packages are kept at version 3.4.

Depends on D11136
(Assignee)

Comment 3

5 months ago
Along with all the updated dependencies that are necessary to achieve
this.

Depends on D11137
(Assignee)

Comment 5

5 months ago
This creates 32-bits variants of the same packages that were added for
64-bits builds, with a few additions:
- python-defaults, so that the python package can be installed as a
  dependency of the libglib2.0-dev package,
- xkeyboard-config, so that the xkb-data package can be installed as a
  dependency of the libxkbcommon0 package.

Additionally, because the 32-bits and 64-bits packages are built
separately (the 32-bits packages can't, on Wheezy, be built on a 64-bits
host), they don't end up with the same
changelog.Debian/changelog.Debian.gz file because of a timestamp within
it. One way to address this would be to make the taskgraph more complex,
by adding a task creating the source package, and then two tasks
building the 32-bits and 64-bits binary packages from that source, but
that's not worth the overhead, when a simple hack works around the
problem: We make dpkg skip installing the changelog.Debian* files.

Depends on D11139
When this happens we can remove Gtk < 3.10 hacks we have at toolkit code.
(Assignee)

Comment 8

5 months ago
There aren't many, and no, we shouldn't. We can, however, remove the GTK_CHECK_VERSION(3,4,0) checks (independently of this bug).

Comment 9

5 months ago
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2e0ed8c61e24
Use a separate docker image for base toolchain builds. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/b569742fbbf2
Build 64-bits Gtk+ 3.10 packages for Debian Wheezy. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/1f63f3761bc0
Add support for building non-amd64 Debian packages. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/6f8c933b7938
Build 32-bits Gtk+ 3.10 packages for Debian Wheezy. r=gps

Comment 10

5 months ago
Backout by mh@glandium.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/9dfe0f1937e9
Backout changesets 2e0ed8c61e24, b569742fbbf2 and 6f8c933b7938 to give time to docker images to build without blocking other landings.

Comment 11

5 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/1f63f3761bc0
Status: NEW → RESOLVED
Last Resolved: 5 months ago
status-firefox65: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla65

Comment 12

5 months ago
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/f899fbb4a5d7
Add another -Werror exception for G_DEFINE_TYPE_EXTENDED. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/f8064dbb8009
Use a separate docker image for base toolchain builds. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/f7a685b16579
Build 64-bits Gtk+ 3.10 packages for Debian Wheezy. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/27b4002951a4
Build 32-bits Gtk+ 3.10 packages for Debian Wheezy. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/2fe1e2b7d9c6
Install the Gtk+ 3.10 packages and required dependencies in the build docker images. r=gps

Comment 13

5 months ago
Backout by mh@glandium.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5ece74940a5f
Backed out 6 changesets (bug 1504906 and bug 1505652) to give time to toolchains and docker images to build without blocking other landings.
(Assignee)

Updated

5 months ago
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Comment 14

5 months ago
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/49414dd9aab5
Add another -Werror exception for G_DEFINE_TYPE_EXTENDED. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/212d5f15c0ad
Use a separate docker image for base toolchain builds. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/1f6291211fff
Build 64-bits Gtk+ 3.10 packages for Debian Wheezy. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/fdd9922cce17
Build 32-bits Gtk+ 3.10 packages for Debian Wheezy. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/ba4ed5fd320a
Install the Gtk+ 3.10 packages and required dependencies in the build docker images. r=gps

Comment 16

5 months ago
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/668ac5092dad
Port bug 1504906 to comm-central: Build using Gtk+ 3.10 packages. r=rjl
Mike, is there a change in system requirements induced by this change? Should we update our system requirements page to list GTK3.10 instead of GTK3.4 from 65 onward? (This page: https://www.mozilla.org/en-US/firefox/65.0a1/system-requirements/)
Flags: needinfo?(mh+mozilla)
(Assignee)

Comment 18

4 months ago
As mentioned in the commit, the result is still binary compatible with 3.4.
Flags: needinfo?(mh+mozilla)
(Assignee)

Updated

4 months ago
Depends on: 1507030
status-firefox-esr60: fixed → ---
You need to log in before you can comment on or make changes to this bug.