Updated scripts/create-base.sh (synchronized from/with qqcs-lxc).
authorZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Sun, 9 Nov 2025 11:21:58 +0000 (12:21 +0100)
committerZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Sun, 9 Nov 2025 11:21:58 +0000 (12:21 +0100)
scripts/create-base.sh

index 84771f5bce3f9745ebe71f763c8b7ff70ad6d304..366b1939c8feac7e044b621147a24eff9ad662c6 100755 (executable)
@@ -51,7 +51,7 @@ install_packages()
 {
     case "$DISTRIBUTION" in
         "CentOS")
-            YUM_CONFIG=$SCRIPT_PATH/yum.conf.centos
+            YUM_CONFIG=$SCRIPT_PATH/yum.conf.centos.$SHORT_HOSTNAME
             YUM_RELEASEVER=$DISTRIBUTION_VERSION
             if [ -n "$ROOT_PACKAGES" ]
             then
@@ -82,7 +82,7 @@ install_packages()
                 clean all
             ;;
         "Fedora")
-            DNF_CONFIG=$SCRIPT_PATH/dnf.conf.fedora
+            DNF_CONFIG=$SCRIPT_PATH/dnf.conf.fedora.$SHORT_HOSTNAME
             DNF_RELEASEVER=$DISTRIBUTION_VERSION
             if [ -n "$ROOT_PACKAGES" ]
             then
@@ -113,7 +113,7 @@ install_packages()
                 clean all
             ;;
         "Rocky")
-            YUM_CONFIG=$SCRIPT_PATH/yum.conf.rocky
+            YUM_CONFIG=$SCRIPT_PATH/yum.conf.rocky.$SHORT_HOSTNAME
             YUM_RELEASEVER=$DISTRIBUTION_VERSION
             if [ -n "$ROOT_PACKAGES" ]
             then
@@ -146,28 +146,21 @@ install_packages()
     esac
 }
 
-create_paths()
+create_build_path()
 {
-    if [ ! -d $BACKUPS_PATH ]
-    then
-        echo "Creating $BACKUPS_PATH"
-        mkdir $BACKUPS_PATH
-    fi
-    if [ ! -d $BUILD_PATH ]
-    then
-        echo "Creating $BUILD_PATH"
-        mkdir $BUILD_PATH
-    fi
-    if [ ! -d $FILESYSTEMS_PATH ]
-    then
-        echo "Creating $FILESYSTEMS_PATH"
-        mkdir $FILESYSTEMS_PATH
-    fi
-    if [ ! -d $LXC_PATH ]
+    echo "Creating and populating the container build directory."
+
+    mkdir --parents $CONTAINER_BUILDROOT
+
+    sed --expression="s|__CONTAINER_PATH__|$CONTAINER_PATH|" \
+        <$CONTAINER_SOURCE_PATH/config \
+        >$CONTAINER_BUILD_PATH/config
+    if [ -d $CONTAINER_SOURCE_PATH/hooks ]
     then
-        echo "Creating $LXC_PATH"
-        mkdir $LXC_PATH
+        cp --archive $CONTAINER_SOURCE_PATH/hooks $CONTAINER_BUILD_PATH
     fi
+
+    echo "Created and populated the container build directory."
 }
 
 create_environment_file()
@@ -182,6 +175,7 @@ create_environment_file()
     echo "BACKUPS_PATH=$BACKUPS_PATH" >>$ENV_FILE
     echo "BUILD_PATH=$BUILD_PATH" >>$ENV_FILE
     echo "FILESYSTEMS_PATH=$FILESYSTEMS_PATH" >>$ENV_FILE
+    echo "SHORT_HOSTNAME=$SHORT_HOSTNAME" >>$ENV_FILE
     echo "SOURCES_PATH=$SOURCES_PATH" >>$ENV_FILE
     echo "SSH_KEYS_PATH=$SSH_KEYS_PATH" >>$ENV_FILE
     echo >>$ENV_FILE
@@ -201,23 +195,6 @@ create_environment_file()
     echo "Environment file created."
 }
 
-populate_build_path()
-{
-    echo "Creating and populating the container build directory."
-
-    mkdir --parents $CONTAINER_BUILDROOT
-
-    sed --expression="s|__CONTAINER_PATH__|$CONTAINER_PATH|" \
-        <$CONTAINER_SOURCE_PATH/config \
-        >$CONTAINER_BUILD_PATH/config
-    if [ -d $CONTAINER_SOURCE_PATH/hooks ]
-    then
-        cp --archive $CONTAINER_SOURCE_PATH/hooks $CONTAINER_BUILD_PATH
-    fi
-
-    echo "Created and populated the container build directory."
-}
-
 set_variables()
 {
     CONTAINER_OS_PARAMETER=$1
@@ -236,6 +213,7 @@ set_variables()
     BACKUPS_PATH=$BASE_PATH/backups
     BUILD_PATH=$BASE_PATH/build
     FILESYSTEMS_PATH=$BASE_PATH/filesystems
+    SHORT_HOSTNAME=$(hostname --short)
     SOURCES_PATH=$BASE_PATH/sources
     SSH_KEYS_PATH=$BASE_PATH/user-ssh
 
@@ -247,7 +225,12 @@ set_variables()
         return 1
     fi
 
-    if [ ! -f $CONTAINER_SOURCE_PATH/config ]
+    SOURCE_CONFIG=$CONTAINER_SOURCE_PATH/config
+    if [ -f $CONTAINER_SOURCE_PATH/config.$SHORT_HOSTNAME ]
+    then
+        SOURCE_CONFIG=$CONTAINER_SOURCE_PATH/config.$SHORT_HOSTNAME
+    fi
+    if [ ! -f $SOURCE_CONFIG ]
     then
         echo "No config file found for $CONTAINER_NAME_PARAMETER" >&2
         return 2
@@ -408,9 +391,7 @@ echo "Starting at $(date)"
 
 create_environment_file
 
-create_paths
-
-populate_build_path
+create_build_path
 
 preinstall