Don't run fwupdmgr in WSL (#430)
This commit is contained in:
committed by
GitHub
parent
8aba2741c0
commit
2afabfa1a6
@@ -1,6 +1,6 @@
|
||||
use crate::error::{SkipStep, TopgradeError};
|
||||
use crate::execution_context::ExecutionContext;
|
||||
use crate::executor::{ExecutorExitStatus, RunType};
|
||||
use crate::executor::{CommandExt, ExecutorExitStatus, RunType};
|
||||
use crate::terminal::{print_separator, print_warning};
|
||||
use crate::utils::{require, require_option, which, PathExt};
|
||||
use anyhow::Result;
|
||||
@@ -10,6 +10,7 @@ use serde::Deserialize;
|
||||
use std::env::var_os;
|
||||
use std::ffi::OsString;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::process::Command;
|
||||
use walkdir::WalkDir;
|
||||
|
||||
static OS_RELEASE_PATH: &str = "/etc/os-release";
|
||||
@@ -107,6 +108,12 @@ impl Distribution {
|
||||
}
|
||||
}
|
||||
|
||||
fn is_wsl() -> Result<bool> {
|
||||
let output = Command::new("uname").arg("-r").check_output()?;
|
||||
debug!("Uname output: {}", output);
|
||||
Ok(output.contains("microsoft"))
|
||||
}
|
||||
|
||||
pub fn show_pacnew() {
|
||||
let mut iter = WalkDir::new("/etc")
|
||||
.into_iter()
|
||||
@@ -429,6 +436,10 @@ pub fn run_needrestart(sudo: Option<&PathBuf>, run_type: RunType) -> Result<()>
|
||||
pub fn run_fwupdmgr(run_type: RunType) -> Result<()> {
|
||||
let fwupdmgr = require("fwupdmgr")?;
|
||||
|
||||
if is_wsl()? {
|
||||
return Err(SkipStep.into());
|
||||
}
|
||||
|
||||
print_separator("Firmware upgrades");
|
||||
|
||||
for argument in vec!["refresh", "get-updates"].into_iter() {
|
||||
|
||||
Reference in New Issue
Block a user