Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mk: Hardcode the bootstrap key for each release #32731

Merged
merged 1 commit into from
Apr 8, 2016

Commits on Apr 4, 2016

  1. mk: Hardcode the bootstrap key for each release

    Starting with the 1.10.0 release we would like to bootstrap all compilers from
    the previous stable release. For example the 1.10.0 compiler should bootstrap
    from the literal 1.9.0 release artifacts. To do this, however, we need a way to
    enable unstable features temporarily in a stable compiler (as the released
    compiler is stable), but it turns out we already have a way to do that!
    
    At compile time the configure script selects a `CFG_BOOTSTRAP_KEY` variable
    value and then exports it into the makefiles. If the `RUSTC_BOOTSTRAP_KEY`
    environment variable is set to this value, then the compiler is allowed to
    "cheat" and use unstable features.
    
    This method of choosing the bootstrap key, however, is problematic for the
    intention of bootstrapping from the previous release. Each time a 1.9.0 compiler
    is created, a new bootstrap key will be selected. That means that the 1.10.0
    compiler will only compile from *our* literal release artifacts. Instead
    distributions would like to bootstrap from their own compilers, so instead we
    simply hardcode the bootstrap key for each release.
    
    This patch uses the same `CFG_FILENAME_EXTRA` value (a hash of the release
    string) as the bootstrap key. Consequently all 1.9.0 compilers, no matter where
    they are compiled, will have the same bootstrap key. Additionally we won't need
    to keep updating this as it'll be based on the release number anyway.
    
    Once the 1.9.0 beta has been created, we can update the 1.10.0 nightly sources
    (the `master` branch at that time) to bootstrap from that release using this
    hard-coded bootstrap key. We will likely just hardcode into the makefiles what
    the previous bootstrap key was and we'll change that whenever the stage0
    compiler is updated.
    alexcrichton committed Apr 4, 2016
    Configuration menu
    Copy the full SHA
    c822546 View commit details
    Browse the repository at this point in the history