Rollup merge of #41600 - ranma42:xz-dist, r=alexcrichton
Generate XZ-compressed tarballs Integrate the new `rust-installer` and extend manifests with keys for xz-compressed tarballs. One of the steps required for https://github.com/rust-lang/rust/issues/21724
This commit is contained in:
commit
10fde3393b
15
.travis.yml
15
.travis.yml
|
@ -95,7 +95,10 @@ matrix:
|
|||
MACOSX_DEPLOYMENT_TARGET=10.7
|
||||
os: osx
|
||||
osx_image: xcode7
|
||||
install: *osx_install_sccache
|
||||
install:
|
||||
- travis_retry brew update
|
||||
- travis_retry brew install xz
|
||||
- *osx_install_sccache
|
||||
- env: >
|
||||
RUST_CHECK_TARGET=dist
|
||||
RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended --enable-sanitizers"
|
||||
|
@ -106,7 +109,10 @@ matrix:
|
|||
MACOSX_DEPLOYMENT_TARGET=10.7
|
||||
os: osx
|
||||
osx_image: xcode7
|
||||
install: *osx_install_sccache
|
||||
install:
|
||||
- travis_retry brew update
|
||||
- travis_retry brew install xz
|
||||
- *osx_install_sccache
|
||||
|
||||
# "alternate" deployments, these are "nightlies" but don't have assertions
|
||||
# turned on, they're deployed to a different location primarily for projects
|
||||
|
@ -123,7 +129,10 @@ matrix:
|
|||
MACOSX_DEPLOYMENT_TARGET=10.7
|
||||
os: osx
|
||||
osx_image: xcode7
|
||||
install: *osx_install_sccache
|
||||
install:
|
||||
- travis_retry brew update
|
||||
- travis_retry brew install xz
|
||||
- *osx_install_sccache
|
||||
|
||||
env:
|
||||
global:
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 4f994850808a572e2cc8d43f968893c8e942e9bf
|
||||
Subproject commit 4cf7397fb0566e745f0bce4c5b009cfeb5d12c53
|
|
@ -116,10 +116,26 @@ struct Target {
|
|||
available: bool,
|
||||
url: Option<String>,
|
||||
hash: Option<String>,
|
||||
xz_url: Option<String>,
|
||||
xz_hash: Option<String>,
|
||||
components: Option<Vec<Component>>,
|
||||
extensions: Option<Vec<Component>>,
|
||||
}
|
||||
|
||||
impl Target {
|
||||
fn unavailable() -> Target {
|
||||
Target {
|
||||
available: false,
|
||||
url: None,
|
||||
hash: None,
|
||||
xz_url: None,
|
||||
xz_hash: None,
|
||||
components: None,
|
||||
extensions: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(RustcEncodable)]
|
||||
struct Component {
|
||||
pkg: String,
|
||||
|
@ -242,16 +258,12 @@ impl Builder {
|
|||
let digest = match self.digests.remove(&filename) {
|
||||
Some(digest) => digest,
|
||||
None => {
|
||||
pkg.target.insert(host.to_string(), Target {
|
||||
available: false,
|
||||
url: None,
|
||||
hash: None,
|
||||
components: None,
|
||||
extensions: None,
|
||||
});
|
||||
pkg.target.insert(host.to_string(), Target::unavailable());
|
||||
continue
|
||||
}
|
||||
};
|
||||
let xz_filename = filename.replace(".tar.gz", ".tar.xz");
|
||||
let xz_digest = self.digests.remove(&xz_filename);
|
||||
let mut components = Vec::new();
|
||||
let mut extensions = Vec::new();
|
||||
|
||||
|
@ -293,8 +305,10 @@ impl Builder {
|
|||
|
||||
pkg.target.insert(host.to_string(), Target {
|
||||
available: true,
|
||||
url: Some(self.url("rust", host)),
|
||||
url: Some(self.url(&filename)),
|
||||
hash: Some(digest),
|
||||
xz_url: xz_digest.as_ref().map(|_| self.url(&xz_filename)),
|
||||
xz_hash: xz_digest,
|
||||
components: Some(components),
|
||||
extensions: Some(extensions),
|
||||
});
|
||||
|
@ -312,21 +326,17 @@ impl Builder {
|
|||
let filename = self.filename(pkgname, name);
|
||||
let digest = match self.digests.remove(&filename) {
|
||||
Some(digest) => digest,
|
||||
None => {
|
||||
return (name.to_string(), Target {
|
||||
available: false,
|
||||
url: None,
|
||||
hash: None,
|
||||
components: None,
|
||||
extensions: None,
|
||||
})
|
||||
}
|
||||
None => return (name.to_string(), Target::unavailable()),
|
||||
};
|
||||
let xz_filename = filename.replace(".tar.gz", ".tar.xz");
|
||||
let xz_digest = self.digests.remove(&xz_filename);
|
||||
|
||||
(name.to_string(), Target {
|
||||
available: true,
|
||||
url: Some(self.url(pkgname, name)),
|
||||
url: Some(self.url(&filename)),
|
||||
hash: Some(digest),
|
||||
xz_url: xz_digest.as_ref().map(|_| self.url(&xz_filename)),
|
||||
xz_hash: xz_digest,
|
||||
components: None,
|
||||
extensions: None,
|
||||
})
|
||||
|
@ -338,11 +348,11 @@ impl Builder {
|
|||
});
|
||||
}
|
||||
|
||||
fn url(&self, component: &str, target: &str) -> String {
|
||||
fn url(&self, filename: &str) -> String {
|
||||
format!("{}/{}/{}",
|
||||
self.s3_address,
|
||||
self.date,
|
||||
self.filename(component, target))
|
||||
filename)
|
||||
}
|
||||
|
||||
fn filename(&self, component: &str, target: &str) -> String {
|
||||
|
|
Loading…
Reference in New Issue