diff --git a/src/install.rs b/src/install.rs index 30c8c5d8b7981ddde48ff216f2c99a5563e8d945..106d95069559f9c7806c39649f48fc28b1d0f855 100644 --- a/src/install.rs +++ b/src/install.rs @@ -6,7 +6,7 @@ extern crate userutils; use self::rand::Rng; use self::termion::input::TermRead; -use self::pkgutils::Repo; +use self::pkgutils::{Repo, Package}; use std::{env, fs}; use std::io::{self, stderr, Write}; @@ -67,7 +67,6 @@ fn prompt_password(prompt: &str, confirm_prompt: &str) -> Result<String, String> fn install_packages(config: &Config, dest: &str, cookbook: Option<&str>) { let mut repo = Repo::new(TARGET); repo.add_remote(REMOTE); - repo.set_dest(dest); if let Some(cookbook) = cookbook { let status = Command::new("./update-packages.sh") @@ -87,12 +86,12 @@ fn install_packages(config: &Config, dest: &str, cookbook: Option<&str>) { let path = format!("{}/{}/repo/{}/{}.tar", env::current_dir().unwrap().to_string_lossy(), cookbook, TARGET, packagename); - repo.install_file(&path).unwrap(); + Package::from_path(&path).unwrap().install(dest).unwrap(); } } else { for (packagename, _package) in &config.packages { println!("Installing package {}", packagename); - repo.install(&packagename).unwrap(); + repo.fetch(&packagename).unwrap().install(dest).unwrap(); } } }