Skip to content

Commit

Permalink
Fix TLS 1.2 issue when downloading files in "old" windows
Browse files Browse the repository at this point in the history
  • Loading branch information
ruzickap committed Mar 14, 2021
1 parent 20c378e commit bce9358
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 17 deletions.
1 change: 0 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ env:
VAGRANT_CLOUD_TOKEN: ${{ secrets.VAGRANT_CLOUD_TOKEN }}
# Needed for Packer when calling ansible (/~https://github.com/ansible/ansible/issues/32499)
OBJC_DISABLE_INITIALIZE_FORK_SAFETY: YES
ACCELERATOR: hvf

jobs:
build-boxes:
Expand Down
29 changes: 15 additions & 14 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ export PACKER_CACHE_DIR=${PACKER_CACHE_DIR:-/var/tmp/packer_cache}
export VIRTIO_WIN_ISO_URL=${VIRTIO_WIN_ISO_URL:-https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso}
export VIRTIO_WIN_ISO=${VIRTIO_WIN_ISO:-${PACKER_CACHE_DIR}/$(basename "${VIRTIO_WIN_ISO_URL}")}
export VIRTIO_WIN_ISO_DIR=${VIRTIO_WIN_ISO_DIR:-${PACKER_CACHE_DIR}/virtio-win}
# Do not use any GUI X11 windows
export HEADLESS=${HEADLESS:-true}
# Packer binary
export PACKER_BINARY=${PACKER_BINARY:-packer}
# Directory where all the images will be stored
Expand Down Expand Up @@ -75,23 +73,25 @@ cmdline() {
fi

for BUILD in ${BUILDS}; do
# Packer command line parameters
export PACKER_CMD_PARAMS=("build" "-color=false" "-var" "headless=true")
export PACKER_VAGRANT_PROVIDER="${BUILD##*-}"
export NAME="${BUILD%-*}"
MY_NAME=$(echo "${NAME}" | awk -F '-' '{ print $1 }')
export MY_NAME

case ${PACKER_VAGRANT_PROVIDER} in
libvirt )
export PACKER_BUILDER_TYPE="qemu"
# Qemu Accelerator - use kvm for Linux and hvf for MacOS
if [[ $(uname) = "Darwin" ]]; then
export ACCELERATOR=${ACCELERATOR:-hvf}
PACKER_CMD_PARAMS+=("-only=qemu" "-var" "accelerator=hvf")
elif [[ $(uname) = "Linux" ]]; then
export ACCELERATOR=${ACCELERATOR:-kvm}
PACKER_CMD_PARAMS+=("-only=qemu" "-var" "accelerator=kvm")
fi

;;
virtualbox )
export PACKER_BUILDER_TYPE="virtualbox-iso"
PACKER_CMD_PARAMS+=("-only=virtualbox-iso")
;;
*)
echo -e "\n\n*** Unsupported PACKER_VAGRANT_PROVIDER: \"${PACKER_VAGRANT_PROVIDER}\" used from \"${BUILD}\""
Expand All @@ -103,7 +103,7 @@ cmdline() {
test -d "${PACKER_IMAGES_OUTPUT_DIR}" || mkdir -v "${PACKER_IMAGES_OUTPUT_DIR}"
test -d "${LOGDIR}" || mkdir -v "${LOGDIR}"

echo -e "\n\n*** ${MY_NAME} | ${NAME} | ${BUILD} - ${PACKER_VAGRANT_PROVIDER}/${PACKER_BUILDER_TYPE}"
echo -e "\n\n*** ${MY_NAME} | ${NAME} | ${BUILD} - ${PACKER_VAGRANT_PROVIDER}"

case ${NAME} in
*centos*)
Expand All @@ -113,8 +113,8 @@ cmdline() {
export CENTOS_TAG
export CENTOS_TYPE="NetInstall"
ISO_CHECKSUM=$(curl -s "ftp://ftp.cvut.cz/centos/${CENTOS_VERSION}/isos/x86_64/sha256sum.txt" | awk "/CentOS-${CENTOS_VERSION}-x86_64-${CENTOS_TYPE}-${CENTOS_TAG}.iso/ { print \$1 }")
export PACKER_FILE="${MY_NAME}-${CENTOS_VERSION}.json"
echo "* NAME: ${NAME}, CENTOS_VERSION: ${CENTOS_VERSION}, CENTOS_TAG: ${CENTOS_TAG}, CENTOS_TYPE: ${CENTOS_TYPE}, PACKER_FILE: ${PACKER_FILE}"
PACKER_CMD_PARAMS+=("${MY_NAME}-${CENTOS_VERSION}.json")
echo "* NAME: ${NAME}, CENTOS_VERSION: ${CENTOS_VERSION}, CENTOS_TAG: ${CENTOS_TAG}, CENTOS_TYPE: ${CENTOS_TYPE}"
;;
*ubuntu*)
UBUNTU_TYPE=$(echo "${NAME}" | awk -F '-' '{ print $3 }')
Expand All @@ -130,14 +130,14 @@ cmdline() {
export UBUNTU_IMAGES_URL=http://archive.ubuntu.com/ubuntu/dists/${UBUNTU_CODENAME}/main/installer-amd64/current/images
fi
ISO_CHECKSUM=$(curl -s "${UBUNTU_IMAGES_URL}/SHA256SUMS" | awk '/.\/netboot\/mini.iso/ { print $1 }')
export PACKER_FILE="${MY_NAME}-${UBUNTU_TYPE}.json"
echo "* NAME: ${NAME}, UBUNTU_TYPE: ${UBUNTU_TYPE}, PACKER_FILE: ${PACKER_FILE}, UBUNTU_IMAGES_URL: ${UBUNTU_IMAGES_URL}"
PACKER_CMD_PARAMS+=("${MY_NAME}-${UBUNTU_TYPE}.json")
echo "* NAME: ${NAME}, UBUNTU_TYPE: ${UBUNTU_TYPE}, UBUNTU_IMAGES_URL: ${UBUNTU_IMAGES_URL}"
;;
*windows*)
export WINDOWS_ARCH="x64"
WINDOWS_VERSION=$(echo "${NAME}" | sed -n -e 's/.*-\([0-9][0-9][0-9][0-9]\)[_-].*/\1/p' -e 's/.*-\([0-9][0-9]\)-.*/\1/p')
export WINDOWS_VERSION
export PACKER_FILE="${MY_NAME}.json"
PACKER_CMD_PARAMS+=("${MY_NAME}.json")
WINDOWS_EDITION=$(echo "${NAME}" | awk -F - '{ print $(NF-2) }')
export WINDOWS_EDITION

Expand All @@ -164,7 +164,7 @@ cmdline() {
;;
esac

echo "* NAME: ${NAME}, WINDOWS_ARCH: ${WINDOWS_ARCH}, WINDOWS_VERSION: ${WINDOWS_VERSION}, WINDOWS_EDITION: ${WINDOWS_EDITION}, PACKER_FILE: ${PACKER_FILE}"
echo "* NAME: ${NAME}, WINDOWS_ARCH: ${WINDOWS_ARCH}, WINDOWS_VERSION: ${WINDOWS_VERSION}, WINDOWS_EDITION: ${WINDOWS_EDITION}"
ISO_CHECKSUM=$(awk "/$(basename ${ISO_URL})/ { print \$1 }" win_iso.sha256)
if [[ ${PACKER_VAGRANT_PROVIDER} = "libvirt" ]]; then
test -f "${VIRTIO_WIN_ISO}" || curl -sL "${VIRTIO_WIN_ISO_URL}" --output "${VIRTIO_WIN_ISO}"
Expand All @@ -188,7 +188,8 @@ cmdline() {

packer_build() {
if [[ ! -f "${PACKER_IMAGES_OUTPUT_DIR}/${BUILD}.box" ]]; then
${PACKER_BINARY} build -only="${PACKER_BUILDER_TYPE}" -color=false -var "headless=${HEADLESS}" -var "accelerator=${ACCELERATOR}" "${PACKER_FILE}" 2>&1 | tee "${LOGDIR}/${BUILD}-packer.log"
echo "*** Running packer with params: ${PACKER_CMD_PARAMS[*]}"
${PACKER_BINARY} "${PACKER_CMD_PARAMS[@]}" 2>&1 | tee "${LOGDIR}/${BUILD}-packer.log"
ln -rfs "${PACKER_CACHE_DIR}/$(echo -n "${ISO_CHECKSUM}" | sha1sum | awk '{ print $1 }').iso" "${PACKER_CACHE_DIR}/${NAME}.iso"
else
echo -e "\n* File ${PACKER_IMAGES_OUTPUT_DIR}/${BUILD}.box already exists. Skipping....\n";
Expand Down
3 changes: 2 additions & 1 deletion my_windows.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
"disk_size": "{{ user `disk_size` }}",
"floppy_files": [
"{{ user `autounattend` }}",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/ConfigureRemotingForAnsible.ps1",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/unattend.xml",
"scripts/win-common/sysprep.bat"
],
Expand Down Expand Up @@ -39,6 +39,7 @@
"disk_size": "{{ user `disk_size` }}",
"floppy_files": [
"{{ user `autounattend` }}",
"scripts/win-common/ConfigureRemotingForAnsible.ps1",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/unattend.xml",
"scripts/win-common/sysprep.bat"
Expand Down
3 changes: 2 additions & 1 deletion windows.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"disk_size": "{{ user `disk_size` }}",
"floppy_files": [
"{{ user `autounattend` }}",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/ConfigureRemotingForAnsible.ps1",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/unattend.xml",
"scripts/win-common/sysprep.bat"
],
Expand Down Expand Up @@ -42,6 +42,7 @@
"disk_size": "{{ user `disk_size` }}",
"floppy_files": [
"{{ user `autounattend` }}",
"scripts/win-common/ConfigureRemotingForAnsible.ps1",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/unattend.xml",
"scripts/win-common/sysprep.bat"
Expand Down

0 comments on commit bce9358

Please sign in to comment.