i18n
jan Michal 2 years ago
parent f1a8da08b9
commit a892efce65
No known key found for this signature in database
GPG Key ID: CB521D73AA05EBF2

@ -20,4 +20,5 @@ pub struct Options {
pub verbosity: i32, pub verbosity: i32,
pub noconfirm: bool, pub noconfirm: bool,
pub asdeps: bool, pub asdeps: bool,
pub skippgp: bool,
} }

@ -39,6 +39,12 @@ fn main() {
.set(ArgSettings::Global) .set(ArgSettings::Global)
.help("Complete operation without prompting user"), .help("Complete operation without prompting user"),
) )
.arg(
Arg::with_name("skippgp")
.long("skippgp")
.set(ArgSettings::Global)
.help("Ignore checking PGP signatures in PKGBUILDs"),
)
.subcommand( .subcommand(
SubCommand::with_name("install") SubCommand::with_name("install")
.about( .about(
@ -133,11 +139,13 @@ fn main() {
let verbosity: i32 = matches.occurrences_of("verbose") as i32; let verbosity: i32 = matches.occurrences_of("verbose") as i32;
let noconfirm: bool = matches.is_present("noconfirm"); let noconfirm: bool = matches.is_present("noconfirm");
let skippgp: bool = matches.is_present("skippgp");
let options = Options { let options = Options {
verbosity, verbosity,
noconfirm, noconfirm,
asdeps: false, asdeps: false,
skippgp,
}; };
init(options); init(options);

@ -1,8 +1,8 @@
use std::env;
use std::env::set_current_dir; use std::env::set_current_dir;
use std::fs::remove_dir_all; use std::fs::remove_dir_all;
use std::path::Path; use std::path::Path;
use std::process::{Command, Stdio}; use std::process::{Command, Stdio};
use std::{env, fs};
use crate::internal::rpc::rpcinfo; use crate::internal::rpc::rpcinfo;
use crate::internal::{crash, prompt}; use crate::internal::{crash, prompt};
@ -13,6 +13,7 @@ pub fn aur_install(a: Vec<String>, options: Options) {
let cachedir = format!("{}/.cache/ame/", env::var("HOME").unwrap()); let cachedir = format!("{}/.cache/ame/", env::var("HOME").unwrap());
let verbosity = options.verbosity; let verbosity = options.verbosity;
let noconfirm = options.noconfirm; let noconfirm = options.noconfirm;
let skippgp = options.skippgp;
if verbosity >= 1 { if verbosity >= 1 {
log(format!("Installing from AUR: {:?}", &a)); log(format!("Installing from AUR: {:?}", &a));
@ -40,7 +41,7 @@ pub fn aur_install(a: Vec<String>, options: Options) {
.arg("clone") .arg("clone")
.arg(format!("{}/{}", url, pkg)) .arg(format!("{}/{}", url, pkg))
.stdout(Stdio::null()) .stdout(Stdio::null())
.status() .output()
.expect("Something has gone wrong"); .expect("Something has gone wrong");
if verbosity >= 1 { if verbosity >= 1 {
@ -82,6 +83,7 @@ pub fn aur_install(a: Vec<String>, options: Options) {
verbosity, verbosity,
noconfirm, noconfirm,
asdeps: true, asdeps: true,
skippgp,
}; };
if !sorted.nf.is_empty() || !md_sorted.nf.is_empty() { if !sorted.nf.is_empty() || !md_sorted.nf.is_empty() {
@ -111,6 +113,7 @@ pub fn aur_install(a: Vec<String>, options: Options) {
.unwrap(); .unwrap();
let p2 = prompt(format!("Would you still like to install {}?", pkg), true); let p2 = prompt(format!("Would you still like to install {}?", pkg), true);
if !p2 { if !p2 {
fs::remove_dir_all(format!("{}/{}", cachedir, pkg)).unwrap();
crash("Not proceeding".to_string(), 6); crash("Not proceeding".to_string(), 6);
} }
} }
@ -134,6 +137,9 @@ pub fn aur_install(a: Vec<String>, options: Options) {
if options.noconfirm { if options.noconfirm {
makepkg_args.push("--noconfirm") makepkg_args.push("--noconfirm")
} }
if options.skippgp {
makepkg_args.push("--skippgp")
}
// package building and installing // package building and installing
info("Building time!".to_string()); info("Building time!".to_string());
@ -144,6 +150,7 @@ pub fn aur_install(a: Vec<String>, options: Options) {
.expect("Something has gone wrong"); .expect("Something has gone wrong");
if out.code() != Some(0) { if out.code() != Some(0) {
fs::remove_dir_all(format!("{}/{}", cachedir, pkg)).unwrap();
crash( crash(
format!("Error encountered while installing {}, aborting", pkg), format!("Error encountered while installing {}, aborting", pkg),
7, 7,

@ -30,7 +30,7 @@ pub fn repo_search(a: &str, options: Options) {
let verbosity = options.verbosity; let verbosity = options.verbosity;
let rs = Command::new("pacman") let rs = Command::new("pacman")
.arg("-Ss") .arg("-Ss")
.arg(format!("^{}$", &a)) .arg(&a)
.output() .output()
.expect("Something has gone wrong"); .expect("Something has gone wrong");

Loading…
Cancel
Save