Fixes vcpkg when installed as root (#266)
This commit is contained in:
@@ -260,14 +260,27 @@ pub fn run_opam_update(ctx: &ExecutionContext) -> Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn run_vcpkg_update(run_type: RunType) -> Result<()> {
|
||||
pub fn run_vcpkg_update(ctx: &ExecutionContext) -> Result<()> {
|
||||
let vcpkg = utils::require("vcpkg")?;
|
||||
print_separator("vcpkg");
|
||||
|
||||
run_type
|
||||
.execute(vcpkg)
|
||||
.args(["upgrade", "--no-dry-run"])
|
||||
.status_checked()
|
||||
#[cfg(unix)]
|
||||
let is_root_install = !&vcpkg.starts_with("/home");
|
||||
|
||||
#[cfg(not(unix))]
|
||||
let is_root_install = false;
|
||||
|
||||
let mut command = if is_root_install {
|
||||
ctx.run_type().execute(&vcpkg)
|
||||
} else {
|
||||
let mut c = ctx
|
||||
.run_type()
|
||||
.execute(ctx.sudo().as_ref().ok_or(TopgradeError::SudoRequired)?);
|
||||
c.arg(&vcpkg);
|
||||
c
|
||||
};
|
||||
|
||||
command.args(["upgrade", "--no-dry-run"]).status_checked()
|
||||
}
|
||||
|
||||
pub fn run_pipx_update(run_type: RunType) -> Result<()> {
|
||||
|
||||
Reference in New Issue
Block a user