Closed Bug 1504906 Opened 6 years ago Closed 6 years ago

Build Firefox against Gtk+ 3.10 instead of 3.4.

Categories

(Firefox Build System :: Toolchains, enhancement)

enhancement
Not set
normal

Tracking

(firefox65 fixed)

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: glandium, Assigned: glandium)

References

Details

Attachments

(6 files)

      No description provided.
Blocks: 1501218
Versions of glib newer than the one we currently use adds a function we
don't use.
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
Along with all the updated dependencies that are necessary to achieve
this.

Depends on D11137
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.
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).
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
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.
https://hg.mozilla.org/mozilla-central/rev/1f63f3761bc0
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
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
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.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
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
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)
As mentioned in the commit, the result is still binary compatible with 3.4.
Flags: needinfo?(mh+mozilla)
Depends on: 1507030
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: