]> git.proxmox.com Git - pve-installer.git/commitdiff
tree-wide: collect hardcoded installer runtime directory strings into constant
authorChristoph Heiss <c.heiss@proxmox.com>
Wed, 10 Jul 2024 13:27:42 +0000 (15:27 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 15 Jul 2024 10:17:47 +0000 (12:17 +0200)
No functional changes.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
Tested-By: Stefan Hanreich <s.hanreich@proxmox.com>
Reviewed-By: Stefan Hanreich <s.hanreich@proxmox.com>
proxmox-auto-installer/src/sysinfo.rs
proxmox-chroot/src/main.rs
proxmox-installer-common/src/lib.rs
proxmox-installer-common/src/setup.rs

index 05f7f5050a5bb9b2bf92dd5f0db699d0b53f1565..112e8987cfe58b8e62fafc0fb8f546e3a287c7d6 100644 (file)
@@ -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)?
index 7885ce7cdec0d824f1fa67f79212530c5d0372b0..594f9ab5277b80cc3f4909d2fa5e9f35dddfb873 100644 (file)
@@ -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)
 }
index f0093f5b55696661351cd8a118354654b8caaf37..850e8252a0e695f09b42cb1ae3250eee9ea01330 100644 (file)
@@ -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";
index 64d05afc737e66cf608e53c7e582cddaafa17994..9aa4063133d5a99c4f27256899696b1c3bf3c119 100644 (file)
@@ -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();