diff --git a/5.7/amazonlinux/2023/Dockerfile b/5.7/amazonlinux/2023/Dockerfile new file mode 100644 index 00000000..7b34cdb2 --- /dev/null +++ b/5.7/amazonlinux/2023/Dockerfile @@ -0,0 +1,67 @@ +FROM amazonlinux:2023 + +RUN dnf --allowerasing -y install \ + binutils \ + gcc \ + git \ + gnupg2-full \ + unzip \ + glibc-static \ + gzip \ + libbsd \ + libcurl-devel \ + libedit \ + libicu \ + libstdc++-static \ + libuuid \ + libxml2-devel \ + sqlite-libs \ + tar \ + tzdata \ + zlib-devel + +# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little + +# pub 4096R/ED3D1561 2019-03-22 [SC] [expires: 2023-03-23] +# Key fingerprint = A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561 +# uid Swift 5.x Release Signing Key &2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \ + esac; \ + SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \ + && SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \ + && SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \ + && echo $SWIFT_BIN_URL \ + # - Download the GPG keys, Swift toolchain, and toolchain signature, and verify. + && export GNUPGHOME="$(mktemp -d)" \ + && curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \ + && gpg --batch --quiet --keyserver keyserver.ubuntu.com --recv-keys "$SWIFT_SIGNING_KEY" \ + && gpg --batch --verify swift.tar.gz.sig swift.tar.gz \ + # - Unpack the toolchain, set libs permissions, and clean up. + && tar -xzf swift.tar.gz --directory / --strip-components=1 \ + && chmod -R o+r /usr/lib/swift \ + && rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz + +# Print Installed Swift Version +RUN swift --version diff --git a/5.7/amazonlinux/2023/slim/Dockerfile b/5.7/amazonlinux/2023/slim/Dockerfile new file mode 100644 index 00000000..e457a6d4 --- /dev/null +++ b/5.7/amazonlinux/2023/slim/Dockerfile @@ -0,0 +1,49 @@ +FROM amazonlinux:2023 + +# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little + +# pub 4096R/ED3D1561 2019-03-22 [SC] [expires: 2023-03-23] +# Key fingerprint = A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561 +# uid Swift 5.x Release Signing Key &2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \ + esac; \ + SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \ + && SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \ + && SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \ + # - Download the GPG keys, Swift toolchain, and toolchain signature, and verify. + && export GNUPGHOME="$(mktemp -d)" \ + && curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \ + && dnf -y swap gnupg2-minimal gnupg2-full \ + && gpg --batch --quiet --keyserver keyserver.ubuntu.com --recv-keys "$SWIFT_SIGNING_KEY" \ + && gpg --batch --verify swift.tar.gz.sig swift.tar.gz \ + # - Unpack the toolchain, set libs permissions, and clean up. + && dnf -y install tar \ + && tar -xzf swift.tar.gz --directory / --strip-components=1 $SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX/usr/lib/swift/linux \ + && chmod -R o+r /usr/lib/swift \ + && rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz \ + && dnf -y swap gnupg2-full gnupg2-minimal \ + # - Disable removal protection for the package systemd bundled with gnupg2-full. + && rm /etc/dnf/protected.d/systemd.conf \ + && dnf autoremove -y tar gzip systemd diff --git a/5.8/amazonlinux/2023/Dockerfile b/5.8/amazonlinux/2023/Dockerfile new file mode 100644 index 00000000..e8715d0f --- /dev/null +++ b/5.8/amazonlinux/2023/Dockerfile @@ -0,0 +1,67 @@ +FROM amazonlinux:2023 + +RUN dnf --allowerasing -y install \ + binutils \ + gcc \ + git \ + unzip \ + glibc-static \ + gnupg2-full \ + gzip \ + libbsd \ + libcurl-devel \ + libedit \ + libicu \ + libstdc++-static \ + libuuid \ + libxml2-devel \ + sqlite-libs \ + tar \ + tzdata \ + zlib-devel + +# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little + +# pub 4096R/ED3D1561 2019-03-22 [SC] [expires: 2023-03-23] +# Key fingerprint = A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561 +# uid Swift 5.x Release Signing Key &2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \ + esac; \ + SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \ + && SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \ + && SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \ + && echo $SWIFT_BIN_URL \ + # - Download the GPG keys, Swift toolchain, and toolchain signature, and verify. + && export GNUPGHOME="$(mktemp -d)" \ + && curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \ + && gpg --batch --quiet --keyserver keyserver.ubuntu.com --recv-keys "$SWIFT_SIGNING_KEY" \ + && gpg --batch --verify swift.tar.gz.sig swift.tar.gz \ + # - Unpack the toolchain, set libs permissions, and clean up. + && tar -xzf swift.tar.gz --directory / --strip-components=1 \ + && chmod -R o+r /usr/lib/swift \ + && rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz + +# Print Installed Swift Version +RUN swift --version diff --git a/5.8/amazonlinux/2023/slim/Dockerfile b/5.8/amazonlinux/2023/slim/Dockerfile new file mode 100644 index 00000000..a6843440 --- /dev/null +++ b/5.8/amazonlinux/2023/slim/Dockerfile @@ -0,0 +1,49 @@ +FROM amazonlinux:2023 + +# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little + +# pub 4096R/ED3D1561 2019-03-22 [SC] [expires: 2023-03-23] +# Key fingerprint = A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561 +# uid Swift 5.x Release Signing Key &2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \ + esac; \ + SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \ + && SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \ + && SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \ + # - Download the GPG keys, Swift toolchain, and toolchain signature, and verify. + && export GNUPGHOME="$(mktemp -d)" \ + && curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \ + && dnf -y swap gnupg2-minimal gnupg2-full \ + && gpg --batch --quiet --keyserver keyserver.ubuntu.com --recv-keys "$SWIFT_SIGNING_KEY" \ + && gpg --batch --verify swift.tar.gz.sig swift.tar.gz \ + # - Unpack the toolchain, set libs permissions, and clean up. + && dnf -y install tar gzip \ + && tar -xzf swift.tar.gz --directory / --strip-components=1 $SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX/usr/lib/swift/linux \ + && chmod -R o+r /usr/lib/swift \ + && rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz \ + && dnf -y swap gnupg2-full gnupg2-minimal \ + # - Disable removal protection for the package systemd bundled with gnupg2-full. + && rm /etc/dnf/protected.d/systemd.conf \ + && dnf autoremove -y tar gzip systemd diff --git a/5.9/amazonlinux/2023/Dockerfile b/5.9/amazonlinux/2023/Dockerfile new file mode 100644 index 00000000..70cd70ce --- /dev/null +++ b/5.9/amazonlinux/2023/Dockerfile @@ -0,0 +1,67 @@ +FROM amazonlinux:2023 + +RUN dnf --allowerasing -y install \ + binutils \ + gcc \ + git \ + unzip \ + glibc-static \ + gnupg2-full \ + gzip \ + libbsd \ + libcurl-devel \ + libedit \ + libicu \ + libstdc++-static \ + libuuid \ + libxml2-devel \ + sqlite-libs \ + tar \ + tzdata \ + zlib-devel + +# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little + +# pub 4096R/ED3D1561 2019-03-22 [SC] [expires: 2023-03-23] +# Key fingerprint = A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561 +# uid Swift 5.x Release Signing Key &2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \ + esac; \ + SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \ + && SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \ + && SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \ + && echo $SWIFT_BIN_URL \ + # - Download the GPG keys, Swift toolchain, and toolchain signature, and verify. + && export GNUPGHOME="$(mktemp -d)" \ + && curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \ + && gpg --batch --quiet --keyserver keyserver.ubuntu.com --recv-keys "$SWIFT_SIGNING_KEY" \ + && gpg --batch --verify swift.tar.gz.sig swift.tar.gz \ + # - Unpack the toolchain, set libs permissions, and clean up. + && tar -xzf swift.tar.gz --directory / --strip-components=1 \ + && chmod -R o+r /usr/lib/swift \ + && rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz + +# Print Installed Swift Version +RUN swift --version diff --git a/5.9/amazonlinux/2023/slim/Dockerfile b/5.9/amazonlinux/2023/slim/Dockerfile new file mode 100644 index 00000000..271b313e --- /dev/null +++ b/5.9/amazonlinux/2023/slim/Dockerfile @@ -0,0 +1,51 @@ +FROM amazonlinux:2023 + +# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little + +# pub 4096R/ED3D1561 2019-03-22 [SC] [expires: 2023-03-23] +# Key fingerprint = A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561 +# uid Swift 5.x Release Signing Key &2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \ + esac; \ + SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \ + && SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \ + && SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \ + # - Download the GPG keys, Swift toolchain, and toolchain signature, and verify. + && export GNUPGHOME="$(mktemp -d)" \ + && curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \ + && dnf -y swap gnupg2-minimal gnupg2-full \ + && gpg --batch --quiet --keyserver keyserver.ubuntu.com --recv-keys "$SWIFT_SIGNING_KEY" \ + && gpg --batch --verify swift.tar.gz.sig swift.tar.gz \ + # - Unpack the toolchain, set libs permissions, and clean up. + && dnf -y install tar gzip \ + && tar -xzf swift.tar.gz --directory / --strip-components=1 \ + $SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX/usr/lib/swift/linux \ + $SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX/usr/libexec/swift/linux \ + && chmod -R o+r /usr/lib/swift /usr/libexec/swift \ + && rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz \ + && dnf -y swap gnupg2-full gnupg2-minimal \ + # - Disable removal protection for the package systemd bundled with gnupg2-full. + && rm /etc/dnf/protected.d/systemd.conf \ + && dnf autoremove -y tar gzip systemd