Rollup merge of #144639 - Kobzol:x-perf-tui, r=lqd
Update rustc-perf submodule Mostly to include https://github.com/rust-lang/rustc-perf/pull/2204.
This commit is contained in:
commit
322686de5d
2 changed files with 25 additions and 28 deletions
|
|
@ -1 +1 @@
|
|||
Subproject commit 6a70166b92a1b1560cb3cf056427b011b2a1f2bf
|
||||
Subproject commit dde879cf1087cb34a32287bd8ccc4d545bb9fee5
|
||||
|
|
@ -167,7 +167,7 @@ const EXCEPTIONS_RUSTC_PERF: ExceptionList = &[
|
|||
("brotli-decompressor", "BSD-3-Clause/MIT"),
|
||||
("encoding_rs", "(Apache-2.0 OR MIT) AND BSD-3-Clause"),
|
||||
("inferno", "CDDL-1.0"),
|
||||
("ring", NON_STANDARD_LICENSE), // see EXCEPTIONS_NON_STANDARD_LICENSE_DEPS for more.
|
||||
("option-ext", "MPL-2.0"),
|
||||
("ryu", "Apache-2.0 OR BSL-1.0"),
|
||||
("snap", "BSD-3-Clause"),
|
||||
("subtle", "BSD-3-Clause"),
|
||||
|
|
@ -226,20 +226,6 @@ const EXCEPTIONS_UEFI_QEMU_TEST: ExceptionList = &[
|
|||
("r-efi", "MIT OR Apache-2.0 OR LGPL-2.1-or-later"), // LGPL is not acceptable, but we use it under MIT OR Apache-2.0
|
||||
];
|
||||
|
||||
/// Placeholder for non-standard license file.
|
||||
const NON_STANDARD_LICENSE: &str = "NON_STANDARD_LICENSE";
|
||||
|
||||
/// These dependencies have non-standard licenses but are genenrally permitted.
|
||||
const EXCEPTIONS_NON_STANDARD_LICENSE_DEPS: &[&str] = &[
|
||||
// `ring` is included because it is an optional dependency of `hyper`,
|
||||
// which is a training data in rustc-perf for optimized build.
|
||||
// The license of it is generally `ISC AND MIT AND OpenSSL`,
|
||||
// though the `package.license` field is not set.
|
||||
//
|
||||
// See https://github.com/briansmith/ring/issues/902
|
||||
"ring",
|
||||
];
|
||||
|
||||
const PERMITTED_DEPS_LOCATION: &str = concat!(file!(), ":", line!());
|
||||
|
||||
/// Crates rustc is allowed to depend on. Avoid adding to the list if possible.
|
||||
|
|
@ -599,7 +585,7 @@ pub fn check(root: &Path, cargo: &Path, bless: bool, bad: &mut bool) {
|
|||
.other_options(vec!["--locked".to_owned()]);
|
||||
let metadata = t!(cmd.exec());
|
||||
|
||||
check_license_exceptions(&metadata, exceptions, bad);
|
||||
check_license_exceptions(&metadata, workspace, exceptions, bad);
|
||||
if let Some((crates, permitted_deps)) = permitted_deps {
|
||||
check_permitted_dependencies(&metadata, workspace, permitted_deps, crates, bad);
|
||||
}
|
||||
|
|
@ -730,14 +716,19 @@ fn check_runtime_license_exceptions(metadata: &Metadata, bad: &mut bool) {
|
|||
/// Check that all licenses of tool dependencies are in the valid list in `LICENSES`.
|
||||
///
|
||||
/// Packages listed in `exceptions` are allowed for tools.
|
||||
fn check_license_exceptions(metadata: &Metadata, exceptions: &[(&str, &str)], bad: &mut bool) {
|
||||
fn check_license_exceptions(
|
||||
metadata: &Metadata,
|
||||
workspace: &str,
|
||||
exceptions: &[(&str, &str)],
|
||||
bad: &mut bool,
|
||||
) {
|
||||
// Validate the EXCEPTIONS list hasn't changed.
|
||||
for (name, license) in exceptions {
|
||||
// Check that the package actually exists.
|
||||
if !metadata.packages.iter().any(|p| *p.name == *name) {
|
||||
tidy_error!(
|
||||
bad,
|
||||
"could not find exception package `{}`\n\
|
||||
"could not find exception package `{}` in workspace `{workspace}`\n\
|
||||
Remove from EXCEPTIONS list if it is no longer used.",
|
||||
name
|
||||
);
|
||||
|
|
@ -746,20 +737,17 @@ fn check_license_exceptions(metadata: &Metadata, exceptions: &[(&str, &str)], ba
|
|||
for pkg in metadata.packages.iter().filter(|p| *p.name == *name) {
|
||||
match &pkg.license {
|
||||
None => {
|
||||
if *license == NON_STANDARD_LICENSE
|
||||
&& EXCEPTIONS_NON_STANDARD_LICENSE_DEPS.contains(&pkg.name.as_str())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
tidy_error!(
|
||||
bad,
|
||||
"dependency exception `{}` does not declare a license expression",
|
||||
"dependency exception `{}` in workspace `{workspace}` does not declare a license expression",
|
||||
pkg.id
|
||||
);
|
||||
}
|
||||
Some(pkg_license) => {
|
||||
if pkg_license.as_str() != *license {
|
||||
println!("dependency exception `{name}` license has changed");
|
||||
println!(
|
||||
"dependency exception `{name}` license in workspace `{workspace}` has changed"
|
||||
);
|
||||
println!(" previously `{license}` now `{pkg_license}`");
|
||||
println!(" update EXCEPTIONS for the new license");
|
||||
*bad = true;
|
||||
|
|
@ -783,12 +771,21 @@ fn check_license_exceptions(metadata: &Metadata, exceptions: &[(&str, &str)], ba
|
|||
let license = match &pkg.license {
|
||||
Some(license) => license,
|
||||
None => {
|
||||
tidy_error!(bad, "dependency `{}` does not define a license expression", pkg.id);
|
||||
tidy_error!(
|
||||
bad,
|
||||
"dependency `{}` in workspace `{workspace}` does not define a license expression",
|
||||
pkg.id
|
||||
);
|
||||
continue;
|
||||
}
|
||||
};
|
||||
if !LICENSES.contains(&license.as_str()) {
|
||||
tidy_error!(bad, "invalid license `{}` in `{}`", license, pkg.id);
|
||||
tidy_error!(
|
||||
bad,
|
||||
"invalid license `{}` for package `{}` in workspace `{workspace}`",
|
||||
license,
|
||||
pkg.id
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue