Skip to content
Snippets Groups Projects
Unverified Commit e2aa3c30 authored by Ian Douglas Scott's avatar Ian Douglas Scott
Browse files

Move package installing logic to function

parent bb56cee6
No related branches found
No related tags found
1 merge request!2Use install methods from pkgutils, and allow installing directly from cookbook with --cookbook=path
......@@ -63,6 +63,17 @@ fn prompt_password(prompt: &str, confirm_prompt: &str) -> Result<String, String>
}
}
fn install_packages(config: &Config, dest: &str) {
let mut repo = Repo::new(TARGET);
repo.add_remote(REMOTE);
repo.set_dest(dest);
for (packagename, _package) in &config.packages {
println!("Installing package {}", packagename);
repo.install(&packagename).unwrap();
}
}
pub fn install(config: Config) -> Result<(), String> {
println!("Install {:#?}", config);
......@@ -85,7 +96,7 @@ pub fn install(config: Config) -> Result<(), String> {
let sysroot = {
let mut wd = env::current_dir().map_err(|err| format!("failed to get current dir: {}", err))?;
let path = prompt!(config.general.sysroot, "sysroot".to_string(), "sysroot [sysroot]: ")?;
let path = prompt!(config.general.sysroot.clone(), "sysroot".to_string(), "sysroot [sysroot]: ")?;
wd.push(path);
wd
};
......@@ -115,14 +126,7 @@ pub fn install(config: Config) -> Result<(), String> {
dir!("");
let mut repo = Repo::new(TARGET);
repo.add_remote(REMOTE);
repo.set_dest(sysroot.to_str().unwrap());
for (packagename, _package) in config.packages {
println!("Installing package {}", packagename);
repo.install(&packagename).unwrap();
}
install_packages(&config, sysroot.to_str().unwrap());
for file in config.files {
file!(file.path.trim_matches('/'), file.data.as_bytes());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment