zengxyz / rpms / anaconda

Forked from rpms/anaconda 4 months ago
Clone
Blob Blame History Raw
#!/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