all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Christoph Heiss <c.heiss@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH installer 03/14] tree-wide: collect hardcoded installer runtime directory strings into constant
Date: Wed, 10 Jul 2024 15:27:42 +0200	[thread overview]
Message-ID: <20240710132756.1149508-4-c.heiss@proxmox.com> (raw)
In-Reply-To: <20240710132756.1149508-1-c.heiss@proxmox.com>

No functional changes.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
---
 proxmox-auto-installer/src/sysinfo.rs | 10 +++++++---
 proxmox-chroot/src/main.rs            | 11 ++++++++---
 proxmox-installer-common/src/lib.rs   |  2 ++
 proxmox-installer-common/src/setup.rs | 11 ++++++-----
 4 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/proxmox-auto-installer/src/sysinfo.rs b/proxmox-auto-installer/src/sysinfo.rs
index 05f7f50..112e898 100644
--- a/proxmox-auto-installer/src/sysinfo.rs
+++ b/proxmox-auto-installer/src/sysinfo.rs
@@ -1,7 +1,10 @@
 use anyhow::{bail, Result};
-use proxmox_installer_common::setup::{IsoInfo, ProductConfig, SetupInfo};
+use proxmox_installer_common::{
+    setup::{IsoInfo, ProductConfig, SetupInfo},
+    RUNTIME_DIR,
+};
 use serde::Serialize;
-use std::{collections::HashMap, fs, io};
+use std::{collections::HashMap, fs, io, path::PathBuf};
 
 use crate::utils::get_nic_list;
 
@@ -17,7 +20,8 @@ pub struct SysInfo {
 
 impl SysInfo {
     pub fn get() -> Result<Self> {
-        let setup_info: SetupInfo = match fs::File::open("/run/proxmox-installer/iso-info.json") {
+        let path = PathBuf::from(RUNTIME_DIR).join("iso-info.json").to_owned();
+        let setup_info: SetupInfo = match fs::File::open(path) {
             Ok(iso_info_file) => {
                 let reader = io::BufReader::new(iso_info_file);
                 serde_json::from_reader(reader)?
diff --git a/proxmox-chroot/src/main.rs b/proxmox-chroot/src/main.rs
index 7885ce7..594f9ab 100644
--- a/proxmox-chroot/src/main.rs
+++ b/proxmox-chroot/src/main.rs
@@ -1,4 +1,8 @@
-use std::{fs, io, path, process::Command};
+use std::{
+    fs, io,
+    path::{self, PathBuf},
+    process::Command,
+};
 
 use anyhow::{bail, Result};
 use clap::{Args, Parser, Subcommand, ValueEnum};
@@ -6,6 +10,7 @@ use nix::mount::{mount, umount, MsFlags};
 use proxmox_installer_common::{
     options::FsType,
     setup::{InstallConfig, SetupInfo},
+    RUNTIME_DIR,
 };
 use regex::Regex;
 
@@ -145,8 +150,8 @@ fn get_low_level_config() -> Result<InstallConfig> {
 }
 
 fn get_iso_info() -> Result<SetupInfo> {
-    let file = fs::File::open("/run/proxmox-installer/iso-info.json")?;
-    let reader = io::BufReader::new(file);
+    let path = PathBuf::from(RUNTIME_DIR).join("iso-info.json");
+    let reader = io::BufReader::new(fs::File::open(path)?);
     let setup_info: SetupInfo = serde_json::from_reader(reader)?;
     Ok(setup_info)
 }
diff --git a/proxmox-installer-common/src/lib.rs b/proxmox-installer-common/src/lib.rs
index f0093f5..850e825 100644
--- a/proxmox-installer-common/src/lib.rs
+++ b/proxmox-installer-common/src/lib.rs
@@ -2,3 +2,5 @@ pub mod disk_checks;
 pub mod options;
 pub mod setup;
 pub mod utils;
+
+pub const RUNTIME_DIR: &str = "/run/proxmox-installer";
diff --git a/proxmox-installer-common/src/setup.rs b/proxmox-installer-common/src/setup.rs
index 64d05af..9aa4063 100644
--- a/proxmox-installer-common/src/setup.rs
+++ b/proxmox-installer-common/src/setup.rs
@@ -161,11 +161,12 @@ pub struct LocaleInfo {
 
 /// Fetches basic information needed for the installer which is required to work
 pub fn installer_setup(in_test_mode: bool) -> Result<(SetupInfo, LocaleInfo, RuntimeInfo), String> {
-    let base_path = if in_test_mode { "./testdir" } else { "/" };
-    let mut path = PathBuf::from(base_path);
-
-    path.push("run");
-    path.push("proxmox-installer");
+    let base_path = if in_test_mode {
+        format!("./testdir/{}", crate::RUNTIME_DIR)
+    } else {
+        crate::RUNTIME_DIR.to_owned()
+    };
+    let path = PathBuf::from(base_path);
 
     let installer_info: SetupInfo = {
         let mut path = path.clone();
-- 
2.45.1



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  parent reply	other threads:[~2024-07-10 13:27 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-10 13:27 [pve-devel] [PATCH installer 00/14] fix #5536: implement post-(auto-)installation notification mechanism Christoph Heiss
2024-07-10 13:27 ` [pve-devel] [PATCH installer 01/14] chroot: print full anyhow message Christoph Heiss
2024-07-10 13:27 ` [pve-devel] [PATCH installer 02/14] tree-wide: fix some typos Christoph Heiss
2024-07-10 13:27 ` Christoph Heiss [this message]
2024-07-10 13:27 ` [pve-devel] [PATCH installer 04/14] common: simplify filesystem type serializing & Display trait impl Christoph Heiss
2024-07-11 14:32   ` Stefan Hanreich
2024-07-10 13:27 ` [pve-devel] [PATCH installer 05/14] common: setup: serialize `target_hd` as string explicitly Christoph Heiss
2024-07-10 13:27 ` [pve-devel] [PATCH installer 06/14] common: split out installer setup files loading functionality Christoph Heiss
2024-07-11 15:06   ` Stefan Hanreich
2024-07-10 13:27 ` [pve-devel] [PATCH installer 07/14] debian: strip unused library dependencies Christoph Heiss
2024-07-10 13:27 ` [pve-devel] [PATCH installer 08/14] fetch-answer: move http-related code to gated module in installer-common Christoph Heiss
2024-07-10 13:27 ` [pve-devel] [PATCH installer 09/14] tree-wide: convert some more crates to use workspace dependencies Christoph Heiss
2024-07-10 13:27 ` [pve-devel] [PATCH installer 10/14] auto-installer: tests: replace left/right with got/expected in output Christoph Heiss
2024-07-11 15:03   ` Stefan Hanreich
2024-07-10 13:27 ` [pve-devel] [PATCH installer 11/14] auto-installer: answer: add `posthook` section Christoph Heiss
2024-07-10 13:27 ` [pve-devel] [PATCH installer 12/14] fix #5536: add post-hook utility for sending notifications after auto-install Christoph Heiss
2024-07-11 15:54   ` Stefan Hanreich
2024-07-10 13:27 ` [pve-devel] [PATCH installer 13/14] fix #5536: post-hook: add some unit tests Christoph Heiss
2024-07-10 13:27 ` [pve-devel] [PATCH installer 14/14] unconfigured.sh: run proxmox-post-hook after successful auto-install Christoph Heiss
2024-07-11 16:49 ` [pve-devel] [PATCH installer 00/14] fix #5536: implement post-(auto-)installation notification mechanism Stefan Hanreich
2024-07-12  9:11   ` Christoph Heiss
2024-07-15 10:42 ` Thomas Lamprecht
2024-07-15 14:31   ` Christoph Heiss
2024-07-16 16:09     ` Thomas Lamprecht
2024-07-17  7:25       ` Christoph Heiss

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240710132756.1149508-4-c.heiss@proxmox.com \
    --to=c.heiss@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal