12345678910111213141516171819202122232425262728293031323334 |
- use std::fs;
- use std::fs::DirBuilder;
- use std::os::unix::fs::DirBuilderExt;
- use crate::cfg;
- use crate::log::logger;
- pub fn mkdir_p(dir: &str) {
- logger().debug("mkdir", format!("mkdir '{}'...", dir).as_str());
- logger().chk_fatal(fs::create_dir_all(dir),"mkdir",format!("failed create dir '{}'", dir).as_str());
- }
- pub fn export_initrd_env_from_cfg() {
- let env_var = cfg::CFG.get().get_cfg().get_initrd_env();
- for (k, v) in env_var {
- logger().debug("env", format!("export {}={}", &k, &v).as_str());
- std::env::set_var(k, v);
- }
- }
- pub fn export_env_from_cfg() {
- let env_var = cfg::CFG.get().get_cfg().get_env();
- for (k, v) in env_var {
- logger().debug("env", format!("export {}={}", &k, &v).as_str());
- std::env::set_var(k, v);
- }
- }
- pub fn mkdir_p_with_mode(dir: &str, mode: u32) {
- let mut db = DirBuilder::new();
- db.recursive(true);
- db.mode(mode);
- let r = db.create(dir);
- logger().chk_fatal(r, "mkdir", format!("failed create dir '{}'", dir).as_str());
- }
|