From b9787712066c820db82769db9ed3005e427a309d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20unbrot=20P=C3=A4tzold?= Date: Wed, 6 May 2026 09:06:30 +0200 Subject: [PATCH] confige: source dists defaults to for robustnes and docs --- install.md | 23 ++++++++++++++++++----- system_setup/configure.sh | 10 ++++++++-- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/install.md b/install.md index a3910fa..4ff511c 100644 --- a/install.md +++ b/install.md @@ -37,24 +37,37 @@ curl -fsSL ${REPO_URL%.git}/raw/branch/${REPO_BRANCH:-main}/system_setup/install sudo -E bash /tmp/install.sh ``` -Both are optional. That way, install.sh should know what to pull. +Both are export parameters are optional. That way, install.sh should know what to pull and use it for your new setup. ## After the script completes -Configure your environment before running any installation: +At the end of the installation, you will be asked wheter to run configure.sh . You are encouraged to do this always. + +But bevor letting `configure.sh` start, there are some options for making your life easier: + +1. You can either get some `setup_system.conf` file from your system admin and put it to `/opt/sys_config/config` . That way all your settings will be prefilled the right way. + +2. You may also use some preconfigured file from `config.d/configure.conf(.bak)` and put it to `config.d/configure.conf` - if thats existing from the first setup of this pc. +Pleas mind, that in the meantime your config may have changed dramatically, so this may be only a good choice if your last configure was not that long ago. + +3. You may also configure your environment before manually: ```sh cp /opt/sys_config/system_setup/config.dist/setup_system.conf.dist /opt/sys_config/config/setup_system.conf -# Edit setup_system.conf — set TLDOMAIN, SERVERFQDN_IPA, SERVERFQDN_NC, and paths. +# Edit setup_system.conf — set TLDOMAIN, SERVERFQDN_IPA, SERVERFQDN_NC, paths and all you need ``` -Optionally add local per-machine overrides in `config.d/`: +Mind, that this would be the job of `configure.sh` + +4. Optionally add additional local per-machine overrides in `config.d/`: ```sh -# Example: use the devel branch on this machine +# Example: always use the devel branch on this machine, no matter what was specified anywhere echo 'export REPO_BRANCH="devel"' > /opt/sys_config/config.d/system_defines.conf ``` +5. Otherwise, let `configure.sh` do it's job. + Once configured, boot the Fedora installer from USB — Anaconda will detect the `OEMDRV` partition and run the Kickstart automatically. ## Supported filesystems for shrinking diff --git a/system_setup/configure.sh b/system_setup/configure.sh index 030a94e..800745b 100755 --- a/system_setup/configure.sh +++ b/system_setup/configure.sh @@ -82,7 +82,7 @@ do_configure() { echo "Invalid choice or error in selection made." done else - cp "${CONF_DIST}" "$CONF_FILE" + cp "${CONF_DIST}" "$CONF_PRE" fi echo "" @@ -101,6 +101,11 @@ do_configure() { set_conf_var "REPO_BRANCH" "$REPO_BRANCH" fi + # Now there should all starting values be defined in $CONF_PRE file. + # We will additionally first read the dists defaults again to make sure, that all relevant settings that may be new to existing configs are predefined + # Could be no good idea when sysadmins are only deleting lines instead of unsettings its value, but makes sure there is not missing something for setup + source "$CONF_DIST" + #Now, read the users setting source "$CONF_PRE" VARS=("TLDOMAIN" "SERVERFQDN_IPA" "DOMAIN" "SERVERFQDN_NC" "IPAVAULTUSE" "IPAVAULTNAME" "DISTCONFIGPATH_SRC" "CLIENTADMINGROUP" ) for ELE in "${VARS[@]}" @@ -173,7 +178,8 @@ do_configure() { fi fi ;; - *) REPEAT_TEST=0 + *) echo "Not tests available." + REPEAT_TEST=0 ;; esac [[ $REPEAT_TEST == 0 ]] && break