diff --git a/Rocky-GPT.ks b/Rocky-GPT.ks deleted file mode 100644 index 5a056ae..0000000 --- a/Rocky-GPT.ks +++ /dev/null @@ -1,2 +0,0 @@ -clearpart --drives=sda --disklabel=gpt --all -%include includes/distros/rocky-base.ksi diff --git a/Rocky-MBR.ks b/Rocky-MBR.ks deleted file mode 100644 index 93ffdc4..0000000 --- a/Rocky-MBR.ks +++ /dev/null @@ -1,2 +0,0 @@ -clearpart --drives=sda --all -%include includes/distros/rocky-base.ksi diff --git a/Rocky.ks b/Rocky.ks new file mode 100644 index 0000000..c4d3ca1 --- /dev/null +++ b/Rocky.ks @@ -0,0 +1,6 @@ +# Note to self with OCD: this can be alphabetically sorted +%include includes/base-configuration.ksi +%include includes/disk-layout.ksi +%include includes/package-list.ksi +%include includes/post/post-install.ksi +%include includes/repos/repos-master.ksi diff --git a/create-image.sh b/create-image.sh index 28d6bef..0290fff 100755 --- a/create-image.sh +++ b/create-image.sh @@ -3,53 +3,38 @@ set -x KICKSTART_BASE="Rocky" TODAY="$(TZ='UTC' date +%Y.%m.%d)" -APPLIANCE_BASE="${KICKSTART_BASE}-$(dnf config-manager --dump-variables | grep releasever | awk '{print $3}')-$(uname -m)-minimal-${TODAY}" -PARTITION_TYPES=('GPT' 'MBR') +KICKSTART_FILE="${KICKSTART_BASE}.ks" +APPLIANCE_NAME="${KICKSTART_BASE}-$(dnf config-manager --dump-variables | grep releasever | awk '{print $3}')-$(uname -m)-minimal-${TODAY}" +IMAGE_NAME="${APPLIANCE_NAME}.raw" +COMMANDS_TO_CHECK=('appliance-creator' 'shasum' 'zstd') -for P_LAYOUT in "${PARTITION_TYPES[@]}"; do - KICKSTART_FILE="${KICKSTART_BASE}-${P_LAYOUT}.ks" - APPLIANCE_NAME="${APPLIANCE_BASE}-${P_LAYOUT}" - IMAGE_NAME="${APPLIANCE_NAME}.raw" - COMMANDS_TO_CHECK=('appliance-creator' 'shasum' 'zstd') - - for COMMAND in "${COMMANDS_TO_CHECK[@]}"; do - if ! command -v "${COMMAND}" > /dev/null; then - >&2 echo "$0: ERROR: unable to find command '${COMMAND}' in PATH" - exit 1 - fi - done - - appliance-creator \ - --config "${KICKSTART_FILE}" \ - --name "${APPLIANCE_NAME}" \ - --format raw \ - --outdir "${PWD}" \ - --no-compress \ - --debug \ - --cache /root/cache \ - --verbose 2>&1 | tee "${APPLIANCE_NAME}.log" || exit 1 - - if [[ -d "${APPLIANCE_NAME}" ]]; then - pushd "${APPLIANCE_NAME}" || exit 1 - mv "${APPLIANCE_NAME}-sda.raw" "${IMAGE_NAME}" - zstd --compress -9 "${IMAGE_NAME}" - popd || exit 0 - else - >&2 echo "$0: ERROR: unable to find the appliance output directory" - >&2 echo "$0: ${APPLIANCE_NAME}" +for COMMAND in "${COMMANDS_TO_CHECK[@]}"; do + if ! command -v "${COMMAND}" > /dev/null; then + >&2 echo "$0: ERROR: unable to find command '${COMMAND}' in PATH" exit 1 fi done -rm -rf "${APPLIANCE_BASE}" && mkdir "${APPLIANCE_BASE}" -find . -type f \( -name "*.log" -o -name "*.raw*" \) -exec mv {} "${APPLIANCE_BASE}/" \; -rm -rf "${APPLIANCE_BASE}"-{GPT,MBR} +appliance-creator \ + --config "${KICKSTART_FILE}" \ + --name "${APPLIANCE_NAME}" \ + --format raw \ + --outdir "${PWD}" \ + --no-compress \ + --debug \ + --cache /root/cache \ + --verbose 2>&1 | tee "${APPLIANCE_NAME}.log" || exit 1 -pushd "${APPLIANCE_BASE}" || exit 1 -sha512sum -- *.raw* > SHA512SUMS -sha256sum -- *.raw* > SHA256SUMS -popd || exit 1 +if [[ -d "${APPLIANCE_NAME}" ]]; then + pushd "${APPLIANCE_NAME}" || exit 1 + mv "${APPLIANCE_NAME}-sda.raw" "${IMAGE_NAME}" + popd || exit 0 +else + >&2 echo "$0: ERROR: unable to find the appliance output directory" + >&2 echo "$0: ${APPLIANCE_NAME}" + exit 1 +fi if [[ -n "$1" ]]; then - chown "$1":"$1" -vR "${APPLIANCE_BASE}" + chown "$1":"$1" -vR "${APPLIANCE_NAME}" fi diff --git a/includes/distros/rocky-base.ksi b/includes/distros/rocky-base.ksi deleted file mode 100644 index 7ba38b0..0000000 --- a/includes/distros/rocky-base.ksi +++ /dev/null @@ -1,6 +0,0 @@ -# Note to self with OCD: this can be alphabetically sorted -%include ../base-configuration.ksi -%include ../disk-layout.ksi -%include ../package-list.ksi -%include ../post/post-install.ksi -%include ../repos/repos-master.ksi