Implement system state management with TOML serialization

- Introduced `SystemState` struct to manage system state, including stage, target, architecture, and layers.
- Added functions to load and save system state from/to a TOML file.
- Implemented layer management functions: add, set, and remove packages from layers.
- Created initialization function for LBI layout, including directory and symlink creation.
- Added tests for layer management and LBI layout initialization.
This commit is contained in:
2026-05-20 19:54:00 -05:00
parent d61d59f4f5
commit 1833a2c42d
18 changed files with 8820 additions and 354 deletions
+5 -4
View File
@@ -14,7 +14,7 @@ clap = { version = "4.6.0", features = ["derive"] }
flate2 = "1.1.9"
git2 = "0.20.4"
indicatif = "0.18.4"
nix = { version = "0.31.2", features = ["user"] }
nix = { version = "0.31.3", features = ["user"] }
rusqlite = "0.39.0"
semver = "1.0.28"
serde = { version = "1.0.228", features = ["derive"] }
@@ -36,17 +36,18 @@ minisign = "0.9.1"
petgraph = "0.8.3"
fd-lock = "4.0.4"
reqwest = { version = "0.13.2", default-features = false, features = ["blocking", "native-tls"] }
filetime = "0.2.27"
clap_complete = "4.6.0"
filetime = "0.2.29"
clap_complete = "4.6.5"
clap_mangen = "0.3.0"
sys-mount = { version = "3.1.0", default-features = false }
time = { version = "0.3.47", features = ["formatting", "parsing"] }
b2sum-rust = "0.3.0"
serde_ignored = "0.1.14"
lz4_flex = "0.13.0"
lz4_flex = "0.13.1"
lzma-rust2 = "0.16.2"
signal-hook = "0.4.4"
sha1 = "0.11.0"
pdf-extract = "0.10.0"
[dev-dependencies]
tempfile = "=3.27.0"