Add a flag for skipping system upgrades (fixes #53)
This commit is contained in:
65
src/main.rs
65
src/main.rs
@@ -64,6 +64,11 @@ fn run() -> Result<(), Error> {
|
|||||||
.short("t")
|
.short("t")
|
||||||
.long("tmux"),
|
.long("tmux"),
|
||||||
)
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::with_name("no_system")
|
||||||
|
.help("Don't perform system upgrade")
|
||||||
|
.long("no-system"),
|
||||||
|
)
|
||||||
.get_matches();
|
.get_matches();
|
||||||
|
|
||||||
if matches.is_present("tmux") && env::var("TMUX").is_err() {
|
if matches.is_present("tmux") && env::var("TMUX").is_err() {
|
||||||
@@ -91,37 +96,39 @@ fn run() -> Result<(), Error> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_os = "linux")]
|
if !(matches.is_present("no_system")) {
|
||||||
{
|
#[cfg(target_os = "linux")]
|
||||||
terminal.print_separator("System update");
|
{
|
||||||
match linux::Distribution::detect() {
|
terminal.print_separator("System update");
|
||||||
Ok(distribution) => {
|
match linux::Distribution::detect() {
|
||||||
match distribution {
|
Ok(distribution) => {
|
||||||
linux::Distribution::Arch => linux::upgrade_arch_linux(&sudo, &mut terminal),
|
match distribution {
|
||||||
linux::Distribution::CentOS => linux::upgrade_redhat(&sudo, &mut terminal),
|
linux::Distribution::Arch => linux::upgrade_arch_linux(&sudo, &mut terminal),
|
||||||
linux::Distribution::Fedora => linux::upgrade_fedora(&sudo, &mut terminal),
|
linux::Distribution::CentOS => linux::upgrade_redhat(&sudo, &mut terminal),
|
||||||
linux::Distribution::Ubuntu | linux::Distribution::Debian => {
|
linux::Distribution::Fedora => linux::upgrade_fedora(&sudo, &mut terminal),
|
||||||
linux::upgrade_debian(&sudo, &mut terminal)
|
linux::Distribution::Ubuntu | linux::Distribution::Debian => {
|
||||||
}
|
linux::upgrade_debian(&sudo, &mut terminal)
|
||||||
}.report("System upgrade", &mut reports);
|
}
|
||||||
}
|
}.report("System upgrade", &mut reports);
|
||||||
|
}
|
||||||
|
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
println!("Error detecting current distribution: {}", e);
|
println!("Error detecting current distribution: {}", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if let Some(brew) = utils::which("brew") {
|
if let Some(brew) = utils::which("brew") {
|
||||||
terminal.print_separator("Brew");
|
terminal.print_separator("Brew");
|
||||||
run_homebrew(&brew).report("Brew", &mut reports);
|
run_homebrew(&brew).report("Brew", &mut reports);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
{
|
{
|
||||||
if let Some(choco) = utils::which("choco") {
|
if let Some(choco) = utils::which("choco") {
|
||||||
terminal.print_separator("Chocolatey");
|
terminal.print_separator("Chocolatey");
|
||||||
windows::run_chocolatey(&choco).report("Chocolatey", &mut reports);
|
windows::run_chocolatey(&choco).report("Chocolatey", &mut reports);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,8 +270,10 @@ fn run() -> Result<(), Error> {
|
|||||||
|
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
{
|
{
|
||||||
terminal.print_separator("App Store");
|
if !(matches.is_present("no_system")) {
|
||||||
macos::upgrade_macos().report("App Store", &mut reports);
|
terminal.print_separator("App Store");
|
||||||
|
macos::upgrade_macos().report("App Store", &mut reports);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !reports.is_empty() {
|
if !reports.is_empty() {
|
||||||
|
|||||||
Reference in New Issue
Block a user