forked from obel1x/fedora-OEMDRV
inc.sh: use BASH_SOURCE for path resolution; add --missingconfok; fix install.sh sourcing and git pull logic
setup_system.inc.sh: replace $(dirname "$0") with $(dirname "${BASH_SOURCE[0]:-$0}") so
paths resolve correctly whether the file is sourced or executed directly. Add --missingconfok
flag to warn-and-continue instead of prompting+aborting when config is missing. Fix machine_uuid
path (missing ../). Move `source config` into the else branch so it is not reached when
missingconfok skips the exit.
install.sh: source inc.sh instead of executing it as a subprocess so exported variables
(REPO_URL etc.) propagate back to the caller. Fix git-origin conflict handling: when reusing
an existing OEMDRV partition the user has already confirmed they want to keep it, so remove
the "fresh clone / wipe" option entirely. Now always pulls (fetch+checkout) when a git repo
is present; clears and fresh-clones only when no git repo exists on the partition.
basic_pre_script.inc: dot-source inc.sh so INSTALLDOCS and other config vars are available.
config.dist, sync_client_software.sh: rename UPGRADEURL/UPGRADEBRANCH to REPO_URL/REPO_BRANCH
to match the variable names already used in install.sh.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,45 +5,54 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#
|
||||
# This is not a runnig script-file. No real logic to execute. Its used for includes in other scripts.
|
||||
#
|
||||
# Parameters (pass as arguments to the `source` call, e.g. source setup_system.inc.sh --missingconfok):
|
||||
# --missingconfok Print a warning instead of prompting and aborting when config/setup_system.conf is missing.
|
||||
|
||||
#Check if we are root
|
||||
# Deprectaed - use if Statement itself
|
||||
#check_root()
|
||||
#{
|
||||
# if [ "$EUID" -ne 0 ]; then
|
||||
# return 1
|
||||
# fi
|
||||
# return 0
|
||||
#}
|
||||
# Parse flags passed to this inc (e.g. source setup_system.inc.sh --missingconfok).
|
||||
# In bash, arguments to `source` temporarily replace $@ for the duration of the sourced file.
|
||||
_INC_MISSINGCONFOK=0
|
||||
for _inc_arg in "$@"; do
|
||||
[[ "$_inc_arg" == "--missingconfok" ]] && _INC_MISSINGCONFOK=1
|
||||
done
|
||||
unset _inc_arg
|
||||
|
||||
#First, get the machine_uuid wich is needed by some userspace programs.
|
||||
#Get the machine_uuid wich is needed by some userspace programs.
|
||||
#As all Parameters that are bound to CPU or Mainboard, are only readable by root, we need to get the values at installtime.
|
||||
#On old installations without the file, we will write it whenever possible
|
||||
if [ -f $( dirname "$0" )/config.d/machine_uuid.sys ]; then
|
||||
export MACHINEID="$( cat $( dirname "$0" )/config.d/machine_uuid.sys )"
|
||||
if [ -f $( dirname "${BASH_SOURCE[0]:-$0}" )/../config.d/machine_uuid.sys ]; then
|
||||
export MACHINEID="$( cat $( dirname "${BASH_SOURCE[0]:-$0}" )/../config.d/machine_uuid.sys )"
|
||||
elif [ "$EUID" -eq 0 ]; then
|
||||
dmidecode -t system | grep -i 'UUID' \
|
||||
| sed 's/UUID: //' | tr '[:upper:]' '[:lower:]' \
|
||||
| sed 's/[^0-9a-z]*//g' | xargs | tail -c 13 \
|
||||
> "$( dirname "$0" )/config.d/machine_uuid.sys"
|
||||
export MACHINEID="$( cat $( dirname "$0" )/config.d/machine_uuid.sys )"
|
||||
> "$( dirname "${BASH_SOURCE[0]:-$0}" )/../config.d/machine_uuid.sys"
|
||||
export MACHINEID="$( cat $( dirname "${BASH_SOURCE[0]:-$0}" )/../config.d/machine_uuid.sys )"
|
||||
fi
|
||||
|
||||
#Check for configure.conf - used for frist setup of system
|
||||
if [[ -f $(dirname "$0")/../config.d/configure.conf ]]; then
|
||||
echo "System in configure-mode. Will use $(dirname "$0")/../config.d/configure.conf for setup."
|
||||
source $(dirname "$0")/../config.d/configure.conf
|
||||
#Check for configure.conf - used for first setup of system
|
||||
if [[ -f $(dirname "${BASH_SOURCE[0]:-$0}")/../config.d/configure.conf ]]; then
|
||||
echo "System in configure-mode. Will use $(dirname "${BASH_SOURCE[0]:-$0}")/../config.d/configure.conf for setup."
|
||||
source $(dirname "${BASH_SOURCE[0]:-$0}")/../config.d/configure.conf
|
||||
else
|
||||
#Load default system setup file
|
||||
if [[ ! -f $(dirname "$0")/../config/setup_system.conf ]]; then
|
||||
echo "System configuration not found. Please copy system_setup/config.dist/setup_system.conf.dist to config/setup_system.conf and adjust the settings before running."
|
||||
echo "Press any key to continue" && read -n 1 -s -r && exit 1
|
||||
if [[ ! -f $(dirname "${BASH_SOURCE[0]:-$0}")/../config/setup_system.conf ]]; then
|
||||
echo "System configuration not found."
|
||||
echo "Please copy system_setup/config.dist/setup_system.conf.dist to config/setup_system.conf and adjust the settings before running."
|
||||
if [[ $_INC_MISSINGCONFOK -eq 1 ]]; then
|
||||
echo "WARNING: Continuing without system configuration (--missingconfok)."
|
||||
else
|
||||
echo "Press any key to continue" && read -n 1 -s -r && exit 1
|
||||
fi
|
||||
else
|
||||
echo "Found and use configfile $(dirname "${BASH_SOURCE[0]:-$0}")/../config/setup_system.conf"
|
||||
source $(dirname "${BASH_SOURCE[0]:-$0}")/../config/setup_system.conf
|
||||
fi
|
||||
source $(dirname "$0")/../config/setup_system.conf
|
||||
|
||||
#Parse additional client-configs
|
||||
if [[ `ls -1 $(dirname "$0")/../config.d/*.conf 2>/dev/null | wc -l ` -gt 0 ]]; then
|
||||
source $(dirname "$0")/../config.d/*.conf
|
||||
if [[ `ls -1 $(dirname "${BASH_SOURCE[0]:-$0}")/../config.d/*.conf 2>/dev/null | wc -l ` -gt 0 ]]; then
|
||||
echo "Additional config file found $(dirname "${BASH_SOURCE[0]:-$0}")/../config.d/*.conf - using it"
|
||||
source $(dirname "${BASH_SOURCE[0]:-$0}")/../config.d/*.conf
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user