Files
SukiSU-Ultra/userspace/meta-overlayfs/src/main.rs
2025-11-20 14:33:25 +08:00

36 lines
997 B
Rust

use anyhow::Result;
use log::info;
mod defs;
mod mount;
mod xcp;
fn main() -> Result<()> {
let args: Vec<String> = std::env::args().collect();
if matches!(args.get(1), Some(cmd) if cmd == "xcp") {
return xcp::run(&args[2..]);
}
// Initialize logger
env_logger::builder()
.filter_level(log::LevelFilter::Info)
.init();
info!("meta-overlayfs v{}", env!("CARGO_PKG_VERSION"));
// Dual-directory support: metadata + content
let metadata_dir = std::env::var("MODULE_METADATA_DIR")
.unwrap_or_else(|_| defs::MODULE_METADATA_DIR.to_string());
let content_dir = std::env::var("MODULE_CONTENT_DIR")
.unwrap_or_else(|_| defs::MODULE_CONTENT_DIR.to_string());
info!("Metadata directory: {}", metadata_dir);
info!("Content directory: {}", content_dir);
// Execute dual-directory mounting
mount::mount_modules_systemlessly(&metadata_dir, &content_dir)?;
info!("Mount completed successfully");
Ok(())
}