|
|
@ -1,7 +1,7 @@
|
|
|
|
mod mods;
|
|
|
|
mod mods;
|
|
|
|
use toml;
|
|
|
|
use toml;
|
|
|
|
use serde;
|
|
|
|
use serde;
|
|
|
|
use mods::{clearcache::clearcache, clone::clone, help::help, install::install, search::{a_search, r_search}, uninstall::uninstall, upgrade::upgrade, flatpak::flatpak};
|
|
|
|
use mods::{clearcache::clearcache, clone::clone, help::help, install::install, search::{a_search, r_search}, uninstall::uninstall, upgrade::upgrade, flatpak::flatpak, snap::snap};
|
|
|
|
use std::{env, process::exit, process::Command};
|
|
|
|
use std::{env, process::exit, process::Command};
|
|
|
|
|
|
|
|
|
|
|
|
#[derive(serde::Deserialize)]
|
|
|
|
#[derive(serde::Deserialize)]
|
|
|
@ -38,7 +38,7 @@ fn main() {
|
|
|
|
|
|
|
|
|
|
|
|
[backends]
|
|
|
|
[backends]
|
|
|
|
pacman = true
|
|
|
|
pacman = true
|
|
|
|
flatpak = false
|
|
|
|
flatpak = true
|
|
|
|
snap = false
|
|
|
|
snap = false
|
|
|
|
aur = true
|
|
|
|
aur = true
|
|
|
|
|
|
|
|
|
|
|
@ -56,13 +56,27 @@ fn main() {
|
|
|
|
let oper = &args[1];
|
|
|
|
let oper = &args[1];
|
|
|
|
if oper == "-S" {
|
|
|
|
if oper == "-S" {
|
|
|
|
for arg in env::args().skip(2) {
|
|
|
|
for arg in env::args().skip(2) {
|
|
|
|
let out = Command::new("pacman").arg("-Ss").arg(&arg).status().unwrap();
|
|
|
|
if configfile.backends.pacman.unwrap() == true {
|
|
|
|
if out.success() {
|
|
|
|
let out = Command::new("pacman").arg("-Ss").arg(&arg).status().unwrap();
|
|
|
|
install(&arg);
|
|
|
|
if out.success() {
|
|
|
|
|
|
|
|
install(&arg);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if configfile.backends.aur.unwrap() == true {
|
|
|
|
|
|
|
|
clone(&arg);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
println!("ERROR: the package wasn't found in the repos and aur support is disabled");
|
|
|
|
|
|
|
|
println!("Please enable aur support if you wish to check if this package exists in the aur");
|
|
|
|
|
|
|
|
exit(1)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else if configfile.backends.aur.unwrap() == true {
|
|
|
|
|
|
|
|
clone(&arg)
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
clone(&arg);
|
|
|
|
println!("ERROR: it seems like neither pacman, nor aur support is enabled!");
|
|
|
|
|
|
|
|
println!("Please enable either one of those option and try again");
|
|
|
|
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if oper == "-R" {
|
|
|
|
} else if oper == "-R" {
|
|
|
|
for arg in env::args().skip(2) {
|
|
|
|
for arg in env::args().skip(2) {
|
|
|
|
uninstall(&arg);
|
|
|
|
uninstall(&arg);
|
|
|
@ -94,10 +108,29 @@ fn main() {
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
println!("ERROR: flatpak not found, please install flatpak and try again!");
|
|
|
|
println!("ERROR: flatpak not found, please install flatpak and try again!");
|
|
|
|
println!("If you do have flatpak installed, please open an issue on the ame github repo!");
|
|
|
|
println!("If you do have flatpak installed, please open an issue on the ame github repo!");
|
|
|
|
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
println!("ERROR: flatpak support is disabled in your ame config!");
|
|
|
|
println!("ERROR: flatpak support is disabled in your ame config!");
|
|
|
|
println!("Enable flatpak support in your configuration and try again!");
|
|
|
|
println!("Enable flatpak support in your configuration and try again!");
|
|
|
|
|
|
|
|
exit(1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else if oper == "-s" {
|
|
|
|
|
|
|
|
if configfile.backends.snap.unwrap() == true {
|
|
|
|
|
|
|
|
let b = std::path::Path::new("/usr/bin/snap").exists();
|
|
|
|
|
|
|
|
if b == true {
|
|
|
|
|
|
|
|
for arg in env::args().skip(2) {
|
|
|
|
|
|
|
|
snap(&arg)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
println!("ERROR: snap not found, please install snap and try again!");
|
|
|
|
|
|
|
|
println!("If you do have snap installed, please open an issue on the ame github repo!");
|
|
|
|
|
|
|
|
exit(1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
println!("ERROR: snap support is disabled in your ame config!");
|
|
|
|
|
|
|
|
println!("Enable snap support in your configuration and try again!");
|
|
|
|
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
help();
|
|
|
|
help();
|
|
|
|