[Pkg-rust-maintainers] Bug#1126584: Bug#1126584: rustc: build stage0 orig tarball from Debian builds

Emilio Pozuelo Monfort pochu at debian.org
Mon Feb 16 08:33:43 GMT 2026


On 06/02/2026 17:30, Fabian Grünbichler wrote:
> On Thu, Jan 29, 2026, at 9:32 AM, Emilio Pozuelo Monfort wrote:
>> Package: rustc
>> Version: 1.91.1+dfsg1-1
>> Severity: normal
>>
>> Hi,
>>
>> rustc includes a script, debian/make_orig-stage0_tarball.sh, to create a
>> stage0.orig.tar.xz that can be used to bootstrap rustc. I don't think that's
>> used much, since new updates in Debian sid will use X-1 from sid to build.
>> However, when uploading a (much newer) version to (old)stable, we don't have
>> X-1, so we need to create and use a -stage0 tarball.
> 
> It is mainly used for rebootstrapping when ports/archs get out of sync. But I
> guess that might also have fallen out of favor with cross builds mostly working
> nowadays.
> 
>> The issue I find is that upstream doesn't support some of our release
>> architectures, so when doing these backports, we lack a way to bootstrap the
>> new version on those architectures. See for example [1].
> 
> Yes.
> 
>> One possibility would be to create the -stage0 tarballs using Debian
>> sid packages
>> for X-1. I haven't looked in detail, but perhaps we would need
>> statically linked
>> binaries, which could be done in an extra build and placed in a
>> rust-static .deb.
>> Then make_orig-stage0_tarball could look for those .debs from
>> snapshot.debian.org.
>>
>> Thoughts?
> 
> I think for builds using those stage0 tarballs targeting stable we have three
> options:
> - build a static variant on every unstable upload
> - provide a script that cross-builds the missing stage0 targets (either using upstream build, or using an arch that has an upstream stage0 as starting point by doing a cross package build?)
> - use backports packages as stage0 input
> 
> I think I'd favor the latter, since I already do the work for those ;)
> 
> In recent history I think libgit2 was the only library pulled in that I had
> to backport as well (that was for Bookworm and for unofficial backports).
> It maybe would have been possible to avoid that by patching more aggressively.
> 
> Of course, that would *only* help for Trixie, not Bookworm or older. If you
> need to support those, only the static or cross build variants would work at
> at the moment.

Right, I was going to say that. We are backporting rustc to older releases as 
well since we need it for firefox or clamav security updates. Those static 
builds sound better, as then getting the stage0 tarball is probably just a 
matter of running a script that downloads and packs some stuff. OTOH, that 
wouldn't work for e.g. mips* or armel, which are no longer present in sid (not 
even in ports). The same situation could happen in the future, where we have an 
architecture in (old)stable which no longer exists in sid, and so for which we 
don't have the required build. Which brings us back to the cross-build option.

Cheers,
Emilio



More information about the Pkg-rust-maintainers mailing list