@@ -2,7 +2,7 @@ FROM ubuntu:16.04
2
2
LABEL maintainer=
"Swift Infrastructure <[email protected] >"
3
3
LABEL Description="Docker Container for the Swift programming language"
4
4
5
- RUN apt-get -q update && \
5
+ RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true && apt-get -q update && \
6
6
apt-get -q install -y \
7
7
libatomic1 \
8
8
libcurl3 \
@@ -17,40 +17,40 @@ RUN apt-get -q update && \
17
17
tzdata \
18
18
git \
19
19
pkg-config \
20
- && rm -r /var/lib/apt/lists/*
20
+ curl \
21
+ && rm -r /var/lib/apt/lists/*
21
22
22
23
# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little
24
+
25
+ # pub rsa4096 2017-11-07 [SC] [expires: 2019-11-07]
26
+ # 8513 444E 2DA3 6B7C 1659 AF4D 7638 F1FB 2B2B 08C4
27
+ # uid [ unknown] Swift Automatic Signing Key #2 <[email protected] >
28
+ ARG SWIFT_SIGNING_KEY=8513444E2DA36B7C1659AF4D7638F1FB2B2B08C4
23
29
ARG SWIFT_PLATFORM=ubuntu16.04
24
30
ARG SWIFT_BRANCH=swift-5.1-branch
25
- ARG SWIFT_VERSION=swift-5.1-DEVELOPMENT-SNAPSHOT-2019-06-21-a
31
+ ARG SWIFT_VERSION=swift-5.1-DEVELOPMENT-SNAPSHOT-2019-08-24-a
32
+ ARG SWIFT_WEBROOT=https://swift.org/builds/
26
33
27
- ENV SWIFT_PLATFORM=$SWIFT_PLATFORM \
34
+ ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \
35
+ SWIFT_PLATFORM=$SWIFT_PLATFORM \
28
36
SWIFT_BRANCH=$SWIFT_BRANCH \
29
- SWIFT_VERSION=$SWIFT_VERSION
37
+ SWIFT_VERSION=$SWIFT_VERSION \
38
+ SWIFT_WEBROOT=$SWIFT_WEBROOT
30
39
31
- # Download GPG keys, signature and Swift package, then unpack, cleanup and execute permissions for foundation libs
32
- RUN SWIFT_URL=https://swift.org/builds/$SWIFT_BRANCH/$(echo "$SWIFT_PLATFORM" | tr -d .)/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM.tar.gz \
33
- && apt-get -q update \
34
- && apt-get -q install -y curl \
35
- && curl -fSsL $SWIFT_URL -o swift.tar.gz \
36
- # && curl -fSsL $SWIFT_URL.sig -o swift.tar.gz.sig \
37
- && apt-get purge -y curl \
38
- && apt-get -y autoremove \
39
- # && export GNUPGHOME="$(mktemp -d)" \
40
- # && set -e; \
41
- # for key in \
42
- # # pub 4096R/ED3D1561 2019-03-22 [expires: 2021-03-21]
43
- # # Key fingerprint = A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561
44
- # # uid Swift 5.x Release Signing Key <[email protected]
45
- # A62AE125BBBFBB96A6E042EC925CC1CCED3D1561 \
46
- # ; do \
47
- # gpg --quiet --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
48
- # done \
49
- # && gpg --batch --verify --quiet swift.tar.gz.sig swift.tar.gz \
40
+ RUN set -e; \
41
+ SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)/" \
42
+ && SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM.tar.gz" \
43
+ && SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \
44
+ # - Download the GPG keys, Swift toolchain, and toolchain signature, and verify.
45
+ && export GNUPGHOME="$(mktemp -d)" \
46
+ && curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \
47
+ && gpg --batch --quiet --keyserver ha.pool.sks-keyservers.net --recv-keys "$SWIFT_SIGNING_KEY" \
48
+ && gpg --batch --quiet --verify swift.tar.gz.sig swift.tar.gz \
49
+ # - Unpack the toolchain, set libs permissions, and clean up.
50
50
&& tar -xzf swift.tar.gz --directory / --strip-components=1 \
51
- # && rm -r "$GNUPGHOME" swift.tar.gz.sig \
52
- && rm swift.tar.gz \
53
- && chmod -R o+r /usr/lib/swift
51
+ && chmod -R o+r /usr/lib/ swift \
52
+ && rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz \
53
+ && apt-get purge --auto-remove -y curl
54
54
55
55
# Print Installed Swift Version
56
56
RUN swift --version
0 commit comments