From 5cdec468003c7213b7caf80d20d718ab32f6347f Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Thu, 4 Jan 2024 14:53:05 +0100 Subject: [PATCH] Reserialize filesystem.toml instead of copying the original config This will be necessary to handle including other configs from the config to use as these configs will not be copied. --- src/bin/installer.rs | 2 +- src/config/file.rs | 2 +- src/config/general.rs | 2 +- src/config/mod.rs | 2 +- src/config/package.rs | 2 +- src/config/user.rs | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/bin/installer.rs b/src/bin/installer.rs index eb43526e0f..b87130d59f 100644 --- a/src/bin/installer.rs +++ b/src/bin/installer.rs @@ -55,7 +55,7 @@ fn main() { // Add filesystem.toml to config config.files.push(redox_installer::FileConfig { path: "filesystem.toml".to_string(), - data: config_data, + data: toml::to_string_pretty(&config).unwrap(), ..Default::default() }); diff --git a/src/config/file.rs b/src/config/file.rs index 21565c3659..7672f908d5 100644 --- a/src/config/file.rs +++ b/src/config/file.rs @@ -29,7 +29,7 @@ fn chown>(path: P, uid: uid_t, gid: gid_t, recursive: bool) -> Re Ok(()) } -#[derive(Clone, Debug, Default, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct FileConfig { pub path: String, pub data: String, diff --git a/src/config/general.rs b/src/config/general.rs index 59099bbcdb..1ef4807a0c 100644 --- a/src/config/general.rs +++ b/src/config/general.rs @@ -1,4 +1,4 @@ -#[derive(Clone, Debug, Default, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct GeneralConfig { pub prompt: bool, // Allow config to specify cookbook recipe or binary package as default diff --git a/src/config/mod.rs b/src/config/mod.rs index 6172d4a86d..0348f1e49f 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -5,7 +5,7 @@ pub mod file; pub mod package; pub mod user; -#[derive(Clone, Debug, Default, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct Config { pub general: general::GeneralConfig, #[serde(default)] diff --git a/src/config/package.rs b/src/config/package.rs index f2df773caa..5f37196fe5 100644 --- a/src/config/package.rs +++ b/src/config/package.rs @@ -1,4 +1,4 @@ -#[derive(Clone, Debug, Deserialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(untagged)] pub enum PackageConfig { Empty, diff --git a/src/config/user.rs b/src/config/user.rs index 4886f4f968..3b82342048 100644 --- a/src/config/user.rs +++ b/src/config/user.rs @@ -1,4 +1,4 @@ -#[derive(Clone, Debug, Default, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct UserConfig { pub password: Option, pub uid: Option,