mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-26 23:04:19 +08:00
Download binary packages and really ignore ignored packages
This commit is contained in:
parent
2423c3d379
commit
44e1d90b8e
@ -436,13 +436,8 @@ fn parse_args(args: Vec<String>) -> anyhow::Result<(CliConfig, CliCommand, Vec<C
|
||||
.packages
|
||||
.iter()
|
||||
.filter_map(|(f, v)| {
|
||||
// same logic as list_installer
|
||||
match v {
|
||||
PackageConfig::Build(rule) if rule == "source" || rule == "local" => {}
|
||||
PackageConfig::Build(rule) if rule == "binary" || rule == "ignore" => {
|
||||
return None;
|
||||
}
|
||||
_ if conf.general.repo_binary == Some(true) => {
|
||||
PackageConfig::Build(rule) if rule == "ignore" => {
|
||||
return None;
|
||||
}
|
||||
_ => {}
|
||||
@ -484,18 +479,25 @@ fn parse_args(args: Vec<String>) -> anyhow::Result<(CliConfig, CliCommand, Vec<C
|
||||
PackageConfig::Build(rule) if rule == "source" => {}
|
||||
// keep local changes
|
||||
PackageConfig::Build(rule) if rule == "local" => recipe.recipe.source = None,
|
||||
// should not gone here, but if it does, then some deps need it
|
||||
PackageConfig::Build(rule) if rule == "binary" || rule == "ignore" => {
|
||||
// download from remote build
|
||||
PackageConfig::Build(rule) if rule == "binary" => {
|
||||
recipe.recipe.source = None;
|
||||
recipe.recipe.build.set_as_remote();
|
||||
}
|
||||
// don't build this recipe (unlikely to go here unless some deps need it)
|
||||
// TODO: Note that we're assuming this being ignored from e.g. metapackages
|
||||
// TODO: Will totally broke build if this recipe needed as some other build dependencies
|
||||
PackageConfig::Build(rule) if rule == "ignore" => {
|
||||
recipe.recipe.source = None;
|
||||
recipe.recipe.build.set_as_none();
|
||||
}
|
||||
PackageConfig::Build(rule) => {
|
||||
return Err(anyhow!(
|
||||
bail!(
|
||||
// Fail fast because we could risk losing local changes if "local" was typo'ed
|
||||
"Invalid pkg config {} = \"{}\"\nExpecting either 'source', 'local', 'binary' or 'ignore'",
|
||||
recipe.name.as_str(),
|
||||
rule
|
||||
));
|
||||
);
|
||||
}
|
||||
_ => {
|
||||
if conf.general.repo_binary == Some(true) {
|
||||
|
||||
@ -176,6 +176,12 @@ impl BuildRecipe {
|
||||
self.kind = BuildKind::Remote;
|
||||
self.dev_dependencies = Vec::new();
|
||||
}
|
||||
|
||||
pub fn set_as_none(&mut self) {
|
||||
self.kind = BuildKind::None;
|
||||
self.dependencies = Vec::new();
|
||||
self.dev_dependencies = Vec::new();
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user