[Pkg-rust-maintainers] Directly bootstrapping arm architectures
Sylvestre Ledru
sylvestre at debian.org
Wed Jul 20 08:07:08 UTC 2016
Le 20/07/2016 à 02:07, Angus Lees a écrit :
>
>
> On Mon, 18 Jul 2016 at 11:55 Ximin Luo <infinity0 at debian.org
> <mailto:infinity0 at debian.org>> wrote:
>
> Angus Lees:
> > - Install the required dependencies "somehow"
> > - For Rust+arm this probably means installing the upstream
> pre-built
> > compiler, as you've suggested. For new architectures it
> will require a
> > working cross-compiler (and LLVM support).
> > - Use it to build rustc.deb
> > - Possibly by hacking the build-deps to remove
> dependencies that
> > can't be satisfied through the packaging system, but I
> think we have the
> > right build profiles in place to make manual edits
> unnecessary.
> > - Use the resulting rustc.deb (and other build-deps) to build
> a "clean"
> > rustc.deb, with no build-profiles or manual debian/control hacks.
> > - Upload the resulting clean rustc.deb (binary-only upload).
> >
>
> I roughly understand this approach, and AIUI we can reduce the
> first few steps (install deps "somehow", use it to build) to
> `dpkg-buildpackage -P dlstage0`. However I'm not convinced that
> the benefit of "not uploading a orig-dl.tar.gz" outweighs the loss
> of automation and reduced trust.
>
> With your approach, I have to do this on every new architecture,
> download all the results to the machine I have my keys on, debsign
> them then upload them. OTOH, I could do a single source-only
> upload directly from my machine with the orig-dl tarball, and the
> buildd network will do the rest all automatically.
>
> Also with the manual cycle-breaking, Debian will have to trust
> that (a) I didn't backdoor the first binary-only upload *as well
> as* that (b) Rust upstream didn't backdoor their releases (that I
> used to bootstrap my upload). With a orig-dl source-only upload,
> Debian only has to trust (b) and not (a, b).
>
>
> Sure, and a cross-compile would obviously be better still (building
> only from existing "trusted" Debian packages on an existing arch).
>
> I disagree with your conclusion, but I think that's only because I'm
> considering it more important to "do the normal thing" than you are.
> You can see why in the general case it would be infeasible to bundle
> up every dependency required to break the circular build depdency in a
> pre-built "orig-dl" tarball. If you want to get the buildds to build
> the intermediate rustc.deb (the "unclean" one in my steps above) by
> churning orig-dl-tar.gz then I have no technical objection and you
> should go for it. It would be wonderful to see rustc.deb on more
> architectures :)
>
>
This would be amazing to have it on all archs.
I don't have any issue using orig-dl to bootstrap an arch. However, this
limits us on the arch supported by upstream.
I don't think they are going to support as many archs as LLVM...
Therefor, a cross-compile approach would probably be better for the
future of rust in Debian.
Sylvestre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-rust-maintainers/attachments/20160720/76b69bdc/attachment-0001.html>
More information about the Pkg-rust-maintainers
mailing list