[Pkg-rust-maintainers] Build profiles for alpha2

Luca Bruno lucab at debian.org
Wed Mar 11 22:39:46 UTC 2015


Hi,
so I think there was a bit of misunderstanding wrt. build-profiles, and this 
is probably the last blocker for alpha2. With this mail I'd like to try to get 
a consensus on how to use them, and later commit those changes.
Below is my proposal for alpha2, with the rationale for each point.
Rest assured that we will revisit this as the situation evolve for beta and 
stable releases, so I'm only focusing on alpha2 here.

I think our bigger misunderstanding was related to stage0, so in short here 
below I'm proposing:
 - to keep embedding/using local stage0 as we were doing in alpha1 (otherwise 
   alpha2 default profile can't be built at all)
 - introduce a build-profile to use a packaged stage0 (which we know doesn't
   work for alpha2, but hopefully will soon) 
 - revisit this build profile in next upstream release, and hopefully start
   using packaged stage0 as the default. Then, offer embedded/remote stage0
   as an alternative profile.

Build profiles will concern:

1) usage of packaged rustc as stage0
 - rationale: to build rustc without external binaries
 - status: this doesn't work yet for alpha2, but should in future stables
 - default profile: building using upstream local stage0¹
 - alternative profile:
   * name: 'system-stage0'
   * effect: add `--enable-local-rust --local-rust-root=/usr`
   * notes: as soon as possible, change this to be the default and introduce
            a complementary alternative profile 'local-stage0' for
            bootstrappers.

¹: embedded in a multi-tarball orig, like it was in alpha1.

 
2) usage of packaged llvm
 - rationale: to avoid building/using forked llvm
 - status: this works for alpha2, we try our best to keep it working
 - default: keep building against system llvm
 - alternative profile:
   * name: 'local-llvm'
   * effect: remove `--llvm-root=/usr/lib/llvm-3.6`


3) whether to build documentation
 - rationale: to minimize bootstrap
 - status: a bunch of compilation options, shouldn't change too much in the
           future
 - default profile: build documentation package
 - alternative profile:
   * name: 'nodoc'²
   * effect: don't build documentation package 

²: wiki suggests without trailing 's', so renaming what we have now.


Let me know your comments on this. If/When we reach a consensus, I'll commit 
new build profiles and update README.source accordingly.

Cheers, Luca

-- 
 .''`.  ** Debian GNU/Linux **  | Luca Bruno (kaeso)
: :'  :   The Universal O.S.    | lucab (AT) debian.org
`. `'`                          | GPG Key ID: 0x4F3BBEBF
  `-     http://www.debian.org 	| Debian GNU/Linux Developer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/pkg-rust-maintainers/attachments/20150311/391c4c4e/attachment.sig>


More information about the Pkg-rust-maintainers mailing list