Update snaps (fixes #29)

This commit is contained in:
Roey Darwish Dror
2018-06-14 13:24:52 +03:00
parent 7a4c5a913d
commit f2c487efcc
3 changed files with 26 additions and 5 deletions

View File

@@ -37,6 +37,8 @@ Just run `topgrade`. It will run the following steps:
* [Plug](https://github.com/junegunn/vim-plug)
* Upgrade NPM globally installed packages
* Upgrade Atom packages
* *Linux*: Update Flatpak packages
* *Linux*: Update snap packages
* *Linux*: Run [fwupdmgr](https://github.com/hughsie/fwupd) to show firmware upgrade. (View
only. No upgrades will actually be performed)
* Run custom defined commands

View File

@@ -171,11 +171,6 @@ fn run() -> Result<(), Error> {
run_rustup(&rustup).report("rustup", &mut reports);
}
if let Ok(flatpak) = which("flatpak") {
terminal.print_separator("Flatpak");
run_flatpak(&flatpak).report("Flatpak", &mut reports);
}
let cargo_upgrade = home_path(".cargo/bin/cargo-install-update");
if cargo_upgrade.exists() {
terminal.print_separator("Cargo");
@@ -214,6 +209,20 @@ fn run() -> Result<(), Error> {
run_apm(&apm).report("Atom Package Manager", &mut reports);
}
if cfg!(target_os = "linux") {
if let Ok(flatpak) = which("flatpak") {
terminal.print_separator("Flatpak");
run_flatpak(&flatpak).report("Flatpak", &mut reports);
}
if let Some(sudo) = &sudo {
if let Ok(snap) = which("snap") {
terminal.print_separator("snap");
run_snap(&sudo, &snap).report("snap", &mut reports);
}
}
}
if let Some(commands) = config.commands() {
for (name, command) in commands {
terminal.print_separator(name);

View File

@@ -162,3 +162,13 @@ pub fn run_flatpak(flatpak: &PathBuf) -> Result<(), failure::Error> {
Ok(())
}
pub fn run_snap(sudo: &PathBuf, snap: &PathBuf) -> Result<(), failure::Error> {
Command::new(&sudo)
.args(&[snap.to_str().unwrap(), "refresh"])
.spawn()?
.wait()?
.check()?;
Ok(())
}