Merge branch 'master' of github.com:r-darwish/topgrade

This commit is contained in:
Eric Mark Martin
2019-03-10 18:08:25 -07:00
7 changed files with 99 additions and 168 deletions

View File

@@ -5,43 +5,19 @@ use failure::ResultExt;
use std::path::PathBuf;
use std::process::Command;
#[must_use]
pub fn upgrade_freebsd(sudo: &Option<PathBuf>, run_type: RunType) -> Option<(&'static str, bool)> {
pub fn upgrade_freebsd(sudo: &Option<PathBuf>, run_type: RunType) -> Result<(), Error> {
let sudo = require_option(sudo)?;
print_separator("FreeBSD Update");
if let Some(sudo) = sudo {
let success = || -> Result<(), Error> {
run_type
.execute(sudo)
.args(&["/usr/sbin/freebsd-update", "fetch", "install"])
.check_run()?;
Ok(())
}()
.is_ok();
Some(("FreeBSD Update", success))
} else {
print_warning("No sudo or yay detected. Skipping system upgrade");
None
}
run_type
.execute(sudo)
.args(&["/usr/sbin/freebsd-update", "fetch", "install"])
.check_run()
}
#[must_use]
pub fn upgrade_packages(sudo: &Option<PathBuf>, run_type: RunType) -> Option<(&'static str, bool)> {
pub fn upgrade_packages(sudo: &Option<PathBuf>, run_type: RunType) -> Result<(), Error> {
let sudo = require_option(sudo)?;
print_separator("FreeBSD Packages");
if let Some(sudo) = sudo {
let success = || -> Result<(), Error> {
run_type.execute(sudo).args(&["/usr/sbin/pkg", "upgrade"]).check_run()?;
Ok(())
}()
.is_ok();
Some(("FreeBSD Packages", success))
} else {
print_warning("No sudo or yay detected. Skipping package upgrade");
None
}
run_type.execute(sudo).args(&["/usr/sbin/pkg", "upgrade"]).check_run()
}
pub fn audit_packages(sudo: &Option<PathBuf>) -> Result<(), Error> {

View File

@@ -3,17 +3,11 @@ use crate::executor::RunType;
use crate::terminal::print_separator;
#[must_use]
pub fn upgrade_macos(run_type: RunType) -> Option<(&'static str, bool)> {
pub fn upgrade_macos(run_type: RunType) -> Result<(), Error> {
print_separator("App Store");
let success = || -> Result<(), Error> {
run_type
.execute("softwareupdate")
.args(&["--install", "--all"])
.check_run()?;
Ok(())
}()
.is_ok();
Some(("App Store", success))
run_type
.execute("softwareupdate")
.args(&["--install", "--all"])
.check_run()
}