#!/bin/sh -eux
# Prepare test work directory
WORK_DIR=$(mktemp -d /var/tmp/dirinstall.XXXXXX)
# Create kickstart
KICKSTART_PATH=${WORK_DIR}/ks.cfg
. ./repositories
TEST_KICKSTART=./ks.dirinstall.cfg
echo "==== List of repositories ===="
dnf repoinfo
echo "== End list of repositories =="
if grep -q 'NAME="CentOS Stream"' /etc/os-release ; then
BASE_REPO="$STREAM_BASE_REPO"
APP_REPO="$STREAM_APP_REPO"
else
BASE_REPO="$RHEL_BASE_REPO"
APP_REPO="$RHEL_APP_REPO"
fi
get_base_url () {
REPO="$1"
# This will show repository content and get url from this:
# Repo-baseurl : http://ftp.sh.cvut.cz/centos-stream/9-stream/BaseOS/x86_64/os/ (51 more)
dnf repoinfo "$REPO" | \
grep ^Repo-baseurl | \
cut -d: -f2- | \
sed 's/^ *//' | \
cut -d' ' -f1
}
# Dump URLs of installation repositories found in local repositories whose names are configured in 'repositories' file
echo "url --url=$(get_base_url $BASE_REPO)" > ${KICKSTART_PATH}
echo "repo --name=$APP_REPO --baseurl=$(get_base_url $APP_REPO)" >> ${KICKSTART_PATH}
cat ${TEST_KICKSTART} >> ${KICKSTART_PATH}
# Log the kickstart
cat ${KICKSTART_PATH}
# Run dirinstall
INSTALL_DIR=${WORK_DIR}/install_dir
mkdir ${INSTALL_DIR}
anaconda --dirinstall ${INSTALL_DIR} --kickstart ${KICKSTART_PATH} --${ANACONDA_UI_MODE} --noninteractive 2>&1
# Remove test work directory
rm -rf ${WORK_DIR}
# Show and remove the logs for this anaconda run
./show_logs.sh