rustc 1.53 and cargo 0.54 required by firefox 94

Bug #1943842 reported by Olivier Tilloy
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cargo (Ubuntu)
Fix Released
Undecided
Canonical Foundations Team
Bionic
Fix Released
Undecided
Canonical Foundations Team
Focal
Fix Released
Undecided
Canonical Foundations Team
Hirsute
Fix Released
Undecided
Canonical Foundations Team
rustc (Ubuntu)
Fix Released
Undecided
Canonical Foundations Team
Bionic
Fix Released
Undecided
Canonical Foundations Team
Focal
Fix Released
Undecided
Canonical Foundations Team
Hirsute
Fix Released
Undecided
Canonical Foundations Team

Bug Description

Firefox 94+ will require rustc 1.53 and cargo 0.54 to build¹.

The beta phase for Firefox 94.0 begins on 2021-09-30 and release candidates will be available from 2021-10-28.

We will need these in impish and all supported releases: bionic, focal, hirsute.

¹ https://bugzilla.mozilla.org/show_bug.cgi?id=1730680

Tags: fr-1782
Olivier Tilloy (osomon)
Changed in cargo (Ubuntu):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Changed in cargo (Ubuntu Bionic):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Changed in cargo (Ubuntu Focal):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Changed in cargo (Ubuntu Hirsute):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Changed in rustc (Ubuntu Bionic):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Changed in rustc (Ubuntu Focal):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Changed in rustc (Ubuntu Hirsute):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
tags: added: fr-1782
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

So I've hit a wrinkle with backporting rustc to bionic: it has updated to LLVM 12 now, which builds with cmake and needs a newer version of cmake than there is in bionic. If I backport the focal versions of cmake and libarchive to bionic (which is fairly trivial), I think rustc will build. As cmake is only needed at build time, we could just have these backports in the rust-updates PPA and leave them there, but then rustc would not be buildable in the archive. Is that OK?

Revision history for this message
Olivier Tilloy (osomon) wrote :

For other build dependencies for which a new major version was required to build e.g. firefox, what we've done is backport them with a different package name, e.g. nasm-mozilla, nodejs-mozilla, gcc-mozilla, and make sure they are co-installable with the original packages.

I suppose we could do that for cmake and libarchive.

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 1943842] Re: rustc 1.53 and cargo 0.54 required by firefox 94

On Thu, Oct 14, 2021 at 06:12:21AM -0000, Olivier Tilloy wrote:
> For other build dependencies for which a new major version was required
> to build e.g. firefox, what we've done is backport them with a different
> package name, e.g. nasm-mozilla, nodejs-mozilla, gcc-mozilla, and make
> sure they are co-installable with the original packages.

> I suppose we could do that for cmake and libarchive.

+1.

It is a requirement for all packages in the archive that they be buildable
within the archive.

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

OK that wasn't too bad. The packages are at https://launchpad.net/~mwhudson/+archive/ubuntu/rust-stuff/+packages?field.name_filter=mozilla&field.status_filter=published&field.series_filter= if someone wants to do a quick sanity check (I know I need to add some words to the descriptions).

Revision history for this message
Rico Tzschichholz (ricotz) wrote :

I think the libarchive-mozilla package is missing this change

--- libarchive-mozilla-3.4.0/debian/libarchive13-mozilla.symbols
+++ libarchive-mozilla-3.4.0/debian/libarchive13-mozilla.symbols
@@ -1,5 +1,5 @@
-libarchive.so.13 libarchive13 #MINVER#
-* Build-Depends-Package: libarchive-dev
+libarchive.so.13 libarchive13-mozilla #MINVER#
+* Build-Depends-Package: libarchive-mozilla-dev
 # these optional symbols should be removed once libarchive stops leaking private symbols, see https://github.com/libarchive/libarchive/pull/738
  (regex|optional)__archive_.*@Base 3.0
  (regex|optional)__libarchive_.*@Base 3.0

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Rico, thanks. Turns out that my missing this means that the new cmake version probably doesn't _reaaally_ need a new libarchive. But probably best to be safe.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Indeed, it would be worth trying to build cmake-mozilla with -DCMAKE_USE_SYSTEM_LIBARCHIVE=OFF and see if the resulting package is good enough to build rustc. That would rid us of one extra *-mozilla package.

Revision history for this message
Olivier Tilloy (osomon) wrote :

I see that you made cmake-mozilla conflict with cmake, so they are not really co-installable, unlike the other *-mozilla packages in the archive (which install all their files under the /usr/lib/*-mozilla/ prefix).

This might present a problem if in the future another build dependency of rustc/cargo pulls in cmake.

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Given the general level of hassle this update has caused, I'm very much prepared to deal with that issue when it happens rather than ahead of time!

The current status: the update of rustc to 1.52 is mostly done now. Cargo 0.53 is building in a PPA and has passed on amd64 and s390x. Hopefully the updates to 1.53 and 0.54 respectively will be less troublesome!

Revision history for this message
Olivier Tilloy (osomon) wrote :

Michael, what's the latest status on this update? Could you upload to jammy, too?

The first release candidates for firefox 94.0 are out, so this is becoming urgent. Thanks!

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

rustc 1.52 is done everywhere now. rustc 1.53 is building in my test PPA and all being well I'll upload it to jammy tomorrow. I'll start the cargo 0.54 update tomorrow too.

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

So rustc is uploaded everywhere except hirsute, where 1.52 failed to build for infrastructure reasons on riscv64 and the retry hasn't finished yet. As I'm going to be away for a couple of days, someone else could upload https://git.launchpad.net/~canonical-foundations/ubuntu/+source/rustc?h=hirsute-1.53 to https://launchpad.net/~ubuntu-mozilla-security/+archive/ubuntu/rust-updates/+packages after the build completes.

Cargo 0.54 is staged in https://launchpad.net/~mwhudson/+archive/ubuntu/rust-stuff/+packages and seems to be OK. Once the builds have finished and published, someone impatient could upload the *-0.54 branches of https://git.launchpad.net/~canonical-foundations/ubuntu/+source/cargo to the relevant places, or I'll do it on my Tuesday next week.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Tuesday next week is when firefox 94.0 is released, that's a bit short to get the updates built and tested in a timely manner, so I'll give a go at uploading rustc for hirsute and cargo.

Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Just FYI, I may use cmake-mozilla to build webkit2gtk too since the newer version also requires a newer cmake...

Revision history for this message
Olivier Tilloy (osomon) wrote :

Update: I uploaded

 - cargo 0.54.0-0ubuntu1 to jammy
 - rustc 1.53.0+dfsg1+llvm-4ubuntu1~21.04.1 to the rust-updates PPA
 - cargo 0.54.0 for bionic, focal, hirsute and impish to the rust-updates PPA

Everything built successfully (except rustc/cargo on focal/riscv64 but that's expected, not a regression).

I then binary-copied the rustc 1.53 and cargo 0.54 packages from the rust-updates PPA to the rust-next PPA, along with cmake-mozilla for bionic.

I then binary-copied the same packages from the rust-next PPA to ppa:ubuntu-mozilla-security/ppa, where they were used to successfully build firefox 94.0+build3 (to be released today) for bionic, focal, hirsute and impish.

Firefox 94.0+build3 also successfully built in jammy-proposed.

Changed in cargo (Ubuntu):
status: New → Fix Committed
Changed in cargo (Ubuntu Bionic):
status: New → Fix Committed
Changed in cargo (Ubuntu Focal):
status: New → Fix Committed
Changed in cargo (Ubuntu Hirsute):
status: New → Fix Committed
Changed in rustc (Ubuntu):
status: New → Fix Released
Changed in cargo (Ubuntu):
status: Fix Committed → Fix Released
Changed in rustc (Ubuntu):
status: Fix Released → Fix Committed
Changed in rustc (Ubuntu Bionic):
status: New → Fix Committed
Changed in rustc (Ubuntu Focal):
status: New → Fix Committed
Changed in rustc (Ubuntu Hirsute):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cargo - 0.54.0-0ubuntu1~21.04.1

---------------
cargo (0.54.0-0ubuntu1~21.04.1) hirsute; urgency=medium

  [ Michael Hudson-Doyle ]
  * Backport to Hirsute. (LP: #1943842)
  * Drop change to -march on armhf.

 -- Olivier Tilloy <email address hidden> Fri, 29 Oct 2021 13:12:15 +0200

Changed in cargo (Ubuntu Hirsute):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rustc - 1.53.0+dfsg1+llvm-4ubuntu1~20.04.1

---------------
rustc (1.53.0+dfsg1+llvm-4ubuntu1~20.04.1) focal; urgency=medium

  * Backport to Focal. (LP: #1943842)
  * Drop adjustment of -march setting on armhf.

 -- Michael Hudson-Doyle <email address hidden> Thu, 28 Oct 2021 17:00:20 +1300

Changed in rustc (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rustc - 1.53.0+dfsg1+llvm-4ubuntu1~18.04.1

---------------
rustc (1.53.0+dfsg1+llvm-4ubuntu1~18.04.1) bionic; urgency=medium

  * Backport to Bionic. (LP: #1943842)
  * Relax debhelper requirement.
  * Drop adjustment of -march setting on armhf.
  * Build-Depend on cmake-mozilla backport package.

 -- Michael Hudson-Doyle <email address hidden> Thu, 28 Oct 2021 16:58:46 +1300

Changed in rustc (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rustc - 1.53.0+dfsg1+llvm-4ubuntu1~21.10.1

---------------
rustc (1.53.0+dfsg1+llvm-4ubuntu1~21.10.1) impish; urgency=medium

  * Backport to Impish. (LP: #1943842)

 -- Michael Hudson-Doyle <email address hidden> Thu, 28 Oct 2021 17:01:51 +1300

Changed in rustc (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rustc - 1.53.0+dfsg1+llvm-4ubuntu1~21.04.1

---------------
rustc (1.53.0+dfsg1+llvm-4ubuntu1~21.04.1) hirsute; urgency=medium

  [ Michael Hudson-Doyle ]
  * Backport to Hirsute. (LP: #1943842)
  * Do not run tests on armhf as they hang.
  * Drop adjustment of -march setting on armhf.

 -- Olivier Tilloy <email address hidden> Thu, 28 Oct 2021 22:27:28 +0200

Changed in rustc (Ubuntu Hirsute):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cargo - 0.54.0-0ubuntu1~18.04.1

---------------
cargo (0.54.0-0ubuntu1~18.04.1) bionic; urgency=medium

  [ Michael Hudson-Doyle ]
  * Backport to Bionic. (LP: #1943842)
  * Relax debhelper requirement.
  * Drop change to -march on armhf.
  * Disable the lto::doctest on i386 too.

 -- Olivier Tilloy <email address hidden> Fri, 29 Oct 2021 13:07:06 +0200

Changed in cargo (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cargo - 0.54.0-0ubuntu1~20.04.1

---------------
cargo (0.54.0-0ubuntu1~20.04.1) focal; urgency=medium

  [ Michael Hudson-Doyle ]
  * Backport to Focal. (LP: #1943842)
  * Drop change to -march on armhf.
  * Disable the lto::doctest on i386 too.

 -- Olivier Tilloy <email address hidden> Fri, 29 Oct 2021 13:10:14 +0200

Changed in cargo (Ubuntu Focal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.