@@ -9,22 +9,19 @@
9 9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
WORKDIR /tmp
10 10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
11 11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
### Bake the basic Alpine Linux into a base layer so we never have to
12 12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
### repeat that step unless we change the package set. Although we're
13 13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
### going to throw this layer away below, we still pass --no-cache
14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ### because that cache is of no use in an immutable layer. Note that
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ### we allow the UPX step to fail: it isn't in the ARM distros. We'll
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ### check whether this optional piece exists before using it below.
14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ### because that cache is of no use in an immutable layer.
17 15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
RUN set -x \
18 16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& apk update \
19 17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& apk upgrade --no-cache \
20 18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& apk add --no-cache \
21 19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
gcc make \
22 20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
linux-headers musl-dev \
23 21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
openssl-dev openssl-libs-static \
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zlib-dev zlib-static \
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ; ( apk add --no-cache upx || exit 0 )
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zlib-dev zlib-static
26 23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
27 24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
### Bake the custom BusyBox into another layer. The intent is that this
28 25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
### changes only when we change BBXVER. That will force an update of
29 26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
### the layers below, but this is a rare occurrence.
30 27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ARG BBXVER="1_35_0"
@@ -31,12 +28,11 @@
31 28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ENV BBXURL "https://github.com/mirror/busybox/tarball/${BBXVER}"
32 29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
COPY containers/busybox-config /tmp/bbx/.config
33 30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ADD $BBXURL /tmp/bbx/src.tar.gz
34 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
RUN set -x \
35 32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& tar --strip-components=1 -C bbx -xzf bbx/src.tar.gz \
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && ( cd bbx && yes "" | make oldconfig && make -j11 ) \
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && test ! -x /usr/bin/upx || upx -9q bbx/busybox
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && ( cd bbx && yes "" | make oldconfig && make -j11 )
38 34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
39 35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Copy in dummied-up OS release info file for those using nspawn.
40 36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Without this, it'll gripe that the rootfs dir doesn't look like
41 37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# it contains an OS.
42 38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
COPY containers/os-release /etc/os-release
@@ -58,12 +54,11 @@
58 54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ADD $FSLURL $FSLSTB
59 55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
RUN set -x \
60 56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& if [ -d $FSLSTB ] ; then mv $FSLSTB/src fsl ; \
61 57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
else tar -C fsl -xzf fsl/src.tar.gz ; fi \
62 58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& m=fsl/src/src/main.mk \
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && fsl/src/configure --static CFLAGS='-Os -s' $FSLCFG && make -j11 \
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && if [ -x /usr/bin/upx ] ; then upx -9q fossil ; fi
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && fsl/src/configure --static CFLAGS='-Os -s' $FSLCFG && make -j11
65 60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
66 61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
67 62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
## ---------------------------------------------------------------------
68 63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
## STAGE 2: Pare that back to the bare essentials.
69 64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
## ---------------------------------------------------------------------
70 65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!