mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 17:26:28 +00:00
Merge pull request #2244 from arm64b/tool-alpine-refactor
tools: multi-arch support for the base alpine image
This commit is contained in:
commit
53bd58edc8
@ -1,14 +1,16 @@
|
||||
FROM alpine:3.6 AS mirror
|
||||
ARG BASE=alpine:3.6
|
||||
FROM $BASE AS mirror
|
||||
|
||||
# update base image
|
||||
RUN apk update && apk upgrade -a
|
||||
|
||||
# Copy Dockerfile so we can include it in the hash
|
||||
COPY Dockerfile /Dockerfile
|
||||
COPY packages /tmp/
|
||||
COPY packages* /tmp/
|
||||
|
||||
# mirror packages
|
||||
RUN mkdir -p /mirror/$(uname -m) && \
|
||||
RUN cat /tmp/packages.$(uname -m) >> /tmp/packages && \
|
||||
mkdir -p /mirror/$(uname -m) && \
|
||||
apk fetch --recursive -o /mirror/$(uname -m) $(apk info; cat /tmp/packages)
|
||||
|
||||
# add the tools for WireGuard, since the kernel module is now included, but from edge/testing
|
||||
@ -28,7 +30,10 @@ RUN cp /mirror/$(uname -m)/APKINDEX.unsigned.tar.gz /mirror/$(uname -m)/APKINDEX
|
||||
RUN abuild-sign /mirror/$(uname -m)/APKINDEX.tar.gz
|
||||
|
||||
# fetch OVMF for qemu EFI boot (this is not added as a package)
|
||||
RUN apk add -X http://dl-cdn.alpinelinux.org/alpine/edge/community ovmf
|
||||
RUN mkdir -p /usr/share/ovmf && \
|
||||
if [ $(uname -m) = x86_64 ]; then \
|
||||
apk add -X http://dl-cdn.alpinelinux.org/alpine/edge/community ovmf; \
|
||||
fi
|
||||
|
||||
# set this as our repo but keep a copy of the upstream for downstream use
|
||||
RUN mv /etc/apk/repositories /etc/apk/repositories.upstream && echo "/mirror" > /etc/apk/repositories && apk update
|
||||
@ -41,14 +46,14 @@ RUN go get -u github.com/golang/lint/golint
|
||||
RUN go get -u github.com/gordonklaus/ineffassign
|
||||
RUN go get -u github.com/LK4D4/vndr
|
||||
|
||||
FROM alpine:3.6
|
||||
FROM $BASE
|
||||
|
||||
COPY --from=mirror /etc/apk/repositories /etc/apk/repositories
|
||||
COPY --from=mirror /etc/apk/repositories.upstream /etc/apk/repositories.upstream
|
||||
COPY --from=mirror /etc/apk/keys /etc/apk/keys/
|
||||
COPY --from=mirror /mirror /mirror/
|
||||
COPY --from=mirror /go/bin /go/bin/
|
||||
COPY --from=mirror /usr/share/ovmf/bios.bin /usr/share/ovmf/bios.bin
|
||||
COPY --from=mirror /usr/share/ovmf/ /usr/share/ovmf/
|
||||
COPY --from=mirror /Dockerfile /Dockerfile
|
||||
|
||||
RUN apk update && apk upgrade -a
|
||||
|
@ -2,24 +2,37 @@
|
||||
|
||||
ORG?=linuxkit
|
||||
IMAGE=alpine
|
||||
|
||||
DOCKER_CONTENT_VAR=1
|
||||
PKG_DEPS=packages
|
||||
|
||||
ifeq ($(shell uname -m), x86_64)
|
||||
BASE=alpine:3.6
|
||||
PKG_DEPS += packages.x86_64
|
||||
endif
|
||||
|
||||
ifeq ($(shell uname -m), aarch64)
|
||||
BASE=arm64v8/alpine:3.6
|
||||
PKG_DEPS += packages.aarch64
|
||||
DOCKER_CONTENT_VAR=0
|
||||
endif
|
||||
|
||||
default: push
|
||||
|
||||
show-tag:
|
||||
@sed -n -e '1s/# \(.*\/.*:[0-9a-f]\{40\}\)/\1/p;q' versions
|
||||
@sed -n -e '1s/# \(.*\/.*:[0-9a-f]\{40\}\)/\1/p;q' versions.$(shell uname -m)
|
||||
|
||||
hash: Dockerfile Makefile packages
|
||||
DOCKER_CONTENT_TRUST=1 docker pull $(BASE)
|
||||
docker build --no-cache -t $(IMAGE):build .
|
||||
hash: Dockerfile Makefile $(PKG_DEPS)
|
||||
DOCKER_CONTENT_TRUST=$(DOCKER_CONTENT_VAR) docker pull $(BASE)
|
||||
docker build --no-cache --build-arg BASE=$(BASE) -t $(IMAGE):build .
|
||||
docker run --rm $(IMAGE):build sh -c 'echo Dockerfile /lib/apk/db/installed $$(find /mirror -name '*.apk' -type f) $$(find /go/bin -type f) | xargs cat | sha1sum' | sed 's/ .*//' > $@
|
||||
|
||||
push: hash
|
||||
DOCKER_CONTENT_TRUST=1 docker pull $(ORG)/$(IMAGE):$(shell cat hash) || \
|
||||
DOCKER_CONTENT_TRUST=$(DOCKER_CONTENT_VAR) docker pull $(ORG)/$(IMAGE):$(shell cat hash) || \
|
||||
(docker tag $(IMAGE):build $(ORG)/$(IMAGE):$(shell cat hash) && \
|
||||
DOCKER_CONTENT_TRUST=1 docker push $(ORG)/$(IMAGE):$(shell cat hash))
|
||||
echo "# $(ORG)/$(IMAGE):$(shell cat hash)" > versions
|
||||
docker run --rm $(IMAGE):build find /mirror -name '*.apk' -exec basename '{}' .apk \; | sort | (echo '# automatically generated list of installed packages'; cat -) >> versions
|
||||
DOCKER_CONTENT_TRUST=$(DOCKER_CONTENT_VAR) docker push $(ORG)/$(IMAGE):$(shell cat hash))
|
||||
echo "# $(ORG)/$(IMAGE):$(shell cat hash)" > versions.$(shell uname -m)
|
||||
docker run --rm $(IMAGE):build find /mirror -name '*.apk' -exec basename '{}' .apk \; | sort | (echo '# automatically generated list of installed packages'; cat -) >> versions.$(shell uname -m)
|
||||
docker rmi $(IMAGE):build
|
||||
rm -f hash
|
||||
|
||||
|
@ -61,7 +61,6 @@ openntpd
|
||||
openrc
|
||||
openssh-server
|
||||
openssl-dev
|
||||
open-vm-tools
|
||||
patch
|
||||
python3
|
||||
qemu-aarch64
|
||||
@ -77,7 +76,6 @@ slang-dev
|
||||
squashfs-tools
|
||||
strace
|
||||
swig
|
||||
syslinux
|
||||
tar
|
||||
tcpdump
|
||||
tini
|
||||
|
1
tools/alpine/packages.aarch64
Normal file
1
tools/alpine/packages.aarch64
Normal file
@ -0,0 +1 @@
|
||||
qemu-system-aarch64
|
2
tools/alpine/packages.x86_64
Normal file
2
tools/alpine/packages.x86_64
Normal file
@ -0,0 +1,2 @@
|
||||
open-vm-tools
|
||||
syslinux
|
231
tools/alpine/versions.aarch64
Normal file
231
tools/alpine/versions.aarch64
Normal file
@ -0,0 +1,231 @@
|
||||
# linuxkit/alpine:07d75275bc91757f2a03b3096ddfe6d442f66ab1
|
||||
# automatically generated list of installed packages
|
||||
abuild-3.0.0_rc2-r8
|
||||
alpine-baselayout-3.0.4-r0
|
||||
alpine-keys-2.1-r1
|
||||
alsa-lib-1.1.3-r0
|
||||
apk-tools-2.7.2-r0
|
||||
argp-standalone-1.3-r2
|
||||
attr-2.4.47-r6
|
||||
autoconf-2.69-r0
|
||||
automake-1.15-r0
|
||||
bash-4.3.48-r1
|
||||
bc-1.06.95-r2
|
||||
binutils-2.28-r2
|
||||
binutils-dev-2.28-r2
|
||||
binutils-libs-2.28-r2
|
||||
bison-3.0.4-r0
|
||||
bsd-compat-headers-0.7.1-r0
|
||||
btrfs-progs-4.10.2-r0
|
||||
btrfs-progs-dev-4.10.2-r0
|
||||
btrfs-progs-libs-4.10.2-r0
|
||||
build-base-0.5-r0
|
||||
busybox-1.26.2-r5
|
||||
busybox-initscripts-3.1-r1
|
||||
bzip2-1.0.6-r5
|
||||
ca-certificates-20161130-r2
|
||||
cdrkit-1.1.11-r2
|
||||
celt051-0.5.1.3-r0
|
||||
cmake-3.8.1-r0
|
||||
cryptsetup-1.7.5-r0
|
||||
cryptsetup-libs-1.7.5-r0
|
||||
curl-7.54.0-r0
|
||||
db-5.3.28-r0
|
||||
device-mapper-libs-2.02.168-r3
|
||||
dhcpcd-6.11.5-r1
|
||||
diffutils-3.5-r0
|
||||
dosfstools-4.1-r1
|
||||
e2fsprogs-1.43.4-r0
|
||||
e2fsprogs-extra-1.43.4-r0
|
||||
e2fsprogs-libs-1.43.4-r0
|
||||
elfutils-dev-0.168-r1
|
||||
elfutils-libelf-0.168-r1
|
||||
expat-2.2.0-r1
|
||||
expect-5.45-r3
|
||||
fakeroot-1.21-r1
|
||||
file-5.30-r0
|
||||
findmnt-2.28.2-r2
|
||||
flex-2.6.4-r1
|
||||
fortify-headers-0.8-r0
|
||||
g++-6.3.0-r4
|
||||
gc-7.6.0-r1
|
||||
gcc-6.3.0-r4
|
||||
gdbm-1.12-r0
|
||||
gettext-0.19.8.1-r1
|
||||
gettext-asprintf-0.19.8.1-r1
|
||||
gettext-dev-0.19.8.1-r1
|
||||
gettext-libs-0.19.8.1-r1
|
||||
git-2.13.0-r0
|
||||
glib-2.52.1-r0
|
||||
gmp-6.1.2-r0
|
||||
gmp-dev-6.1.2-r0
|
||||
gnupg-2.1.20-r0
|
||||
gnutls-3.5.13-r0
|
||||
go-1.8.3-r0
|
||||
guile-2.0.13-r0
|
||||
guile-libs-2.0.13-r0
|
||||
gummiboot-48.1-r0
|
||||
hvtools-4.4.15-r0
|
||||
installkernel-3.5-r0
|
||||
iperf3-3.1.7-r0
|
||||
iproute2-4.10.0-r1
|
||||
iptables-1.6.1-r0
|
||||
isl-0.17.1-r0
|
||||
jq-1.5-r3
|
||||
jsoncpp-1.8.0-r0
|
||||
keyutils-libs-1.5.9-r1
|
||||
kmod-23-r1
|
||||
krb5-conf-1.0-r1
|
||||
krb5-libs-1.14.3-r2
|
||||
libacl-2.2.52-r3
|
||||
libaio-0.3.110-r0
|
||||
libarchive-3.3.1-r1
|
||||
libarchive-tools-3.3.1-r1
|
||||
libassuan-2.4.3-r0
|
||||
libatomic-6.3.0-r4
|
||||
libattr-2.4.47-r6
|
||||
libblkid-2.28.2-r2
|
||||
libburn-1.4.6-r0
|
||||
libbz2-1.0.6-r5
|
||||
libcap-2.25-r1
|
||||
libcap-ng-0.7.8-r0
|
||||
libcap-ng-dev-0.7.8-r0
|
||||
libc-dev-0.7.1-r0
|
||||
libcom_err-1.43.4-r0
|
||||
libcrypto1.0-1.0.2k-r0
|
||||
libcurl-7.54.0-r0
|
||||
libc-utils-0.7.1-r0
|
||||
libdrm-2.4.80-r0
|
||||
libedit-20170329.3.1-r2
|
||||
libelf-0.8.13-r2
|
||||
libelf-dev-0.8.13-r2
|
||||
libepoxy-1.4.1-r0
|
||||
libexecinfo-1.1-r0
|
||||
libexecinfo-dev-1.1-r0
|
||||
libfdisk-2.28.2-r2
|
||||
libffi-3.2.1-r3
|
||||
libgcc-6.3.0-r4
|
||||
libgcrypt-1.7.8-r0
|
||||
libgmpxx-6.1.2-r0
|
||||
libgomp-6.3.0-r4
|
||||
libgpg-error-1.27-r0
|
||||
libintl-0.19.8.1-r1
|
||||
libisoburn-1.4.6-r0
|
||||
libisofs-1.4.6-r0
|
||||
libjpeg-turbo-1.5.1-r0
|
||||
libksba-1.3.4-r0
|
||||
libldap-2.4.44-r5
|
||||
libltdl-2.4.6-r1
|
||||
libmagic-5.30-r0
|
||||
libmnl-1.0.4-r0
|
||||
libmount-2.28.2-r2
|
||||
libnfs-1.11.0-r0
|
||||
libnftnl-libs-1.0.7-r0
|
||||
libogg-1.3.2-r1
|
||||
libpcap-1.8.1-r0
|
||||
libpng-1.6.29-r1
|
||||
libressl-2.5.4-r0
|
||||
libressl2.5-libcrypto-2.5.4-r0
|
||||
libressl2.5-libssl-2.5.4-r0
|
||||
libressl2.5-libtls-2.5.4-r0
|
||||
libressl-dev-2.5.4-r0
|
||||
libsasl-2.1.26-r10
|
||||
libseccomp-2.3.2-r0
|
||||
libseccomp-dev-2.3.2-r0
|
||||
libsmartcols-2.28.2-r2
|
||||
libssh2-1.8.0-r1
|
||||
libssl1.0-1.0.2k-r0
|
||||
libstdc++-6.3.0-r4
|
||||
libtasn1-4.10-r1
|
||||
libtirpc-1.0.1-r1
|
||||
libtool-2.4.6-r1
|
||||
libunistring-0.9.7-r0
|
||||
libunwind-1.2-r2
|
||||
libunwind-dev-1.2-r2
|
||||
libusb-1.0.21-r0
|
||||
libuuid-2.28.2-r2
|
||||
libuv-1.11.0-r1
|
||||
libverto-0.2.5-r2
|
||||
libxml2-2.9.4-r4
|
||||
linux-headers-4.4.6-r2
|
||||
lua5.2-libs-5.2.4-r2
|
||||
lz4-libs-1.7.5-r0
|
||||
lzip-1.19-r0
|
||||
lzo-2.10-r0
|
||||
m4-1.4.18-r0
|
||||
make-4.2.1-r0
|
||||
mesa-gbm-17.0.3-r1
|
||||
mpc1-1.0.3-r0
|
||||
mpfr3-3.1.5-r0
|
||||
mtools-4.0.18-r1
|
||||
musl-1.1.16-r13
|
||||
musl-dev-1.1.16-r13
|
||||
musl-utils-1.1.16-r13
|
||||
ncurses-dev-6.0-r7
|
||||
ncurses-libs-6.0-r7
|
||||
ncurses-terminfo-6.0-r7
|
||||
ncurses-terminfo-base-6.0-r7
|
||||
nettle-3.3-r0
|
||||
npth-1.2-r0
|
||||
oniguruma-6.2.0-r0
|
||||
openntpd-6.0_p1-r3
|
||||
openrc-0.24.1-r2
|
||||
openssh-keygen-7.5_p1-r1
|
||||
openssh-server-7.5_p1-r1
|
||||
openssl-dev-1.0.2k-r0
|
||||
opus-1.1.4-r0
|
||||
p11-kit-0.23.2-r1
|
||||
patch-2.7.5-r1
|
||||
pax-utils-1.2.2-r0
|
||||
pcre-8.40-r2
|
||||
perl-5.24.1-r2
|
||||
pinentry-1.0.0-r0
|
||||
pixman-0.34.0-r0
|
||||
pkgconf-1.3.7-r0
|
||||
popt-1.16-r6
|
||||
python3-3.6.1-r2
|
||||
qemu-2.8.1-r1
|
||||
qemu-aarch64-2.8.1-r1
|
||||
qemu-arm-2.8.1-r1
|
||||
qemu-guest-agent-2.8.1-r1
|
||||
qemu-img-2.8.1-r1
|
||||
qemu-ppc64le-2.8.1-r1
|
||||
qemu-system-aarch64-2.8.1-r1
|
||||
qemu-system-arm-2.8.1-r1
|
||||
qemu-system-x86_64-2.8.1-r1
|
||||
readline-6.3.008-r5
|
||||
scanelf-1.2.2-r0
|
||||
sed-4.4-r0
|
||||
sfdisk-2.28.2-r2
|
||||
slang-2.3.1-r0
|
||||
slang-dev-2.3.1-r0
|
||||
snappy-1.1.4-r1
|
||||
spice-server-0.13.3-r1
|
||||
sqlite-libs-3.18.0-r0
|
||||
squashfs-tools-4.3-r3
|
||||
strace-4.16-r1
|
||||
sudo-1.8.19_p2-r0
|
||||
swig-3.0.10-r0
|
||||
tar-1.29-r1
|
||||
tcl-8.6.6-r0
|
||||
tcpdump-4.9.0-r1
|
||||
tini-0.14.0-r0
|
||||
tzdata-2017a-r0
|
||||
usbredir-0.7-r2
|
||||
util-linux-2.28.2-r2
|
||||
util-linux-dev-2.28.2-r2
|
||||
vde2-libs-2.3.2-r7
|
||||
vim-8.0.0595-r0
|
||||
wayland-1.13.0-r0
|
||||
wireguard-tools-0.0.20170629-r0
|
||||
xfsprogs-4.5.0-r0
|
||||
xfsprogs-extra-4.5.0-r0
|
||||
xfsprogs-libs-4.5.0-r0
|
||||
xorriso-1.4.6-r0
|
||||
xz-5.2.3-r0
|
||||
xz-dev-5.2.3-r0
|
||||
xz-libs-5.2.3-r0
|
||||
zfs-0.6.5.9-r1
|
||||
zfs-libs-0.6.5.9-r1
|
||||
zlib-1.2.11-r0
|
||||
zlib-dev-1.2.11-r0
|
@ -1,4 +1,4 @@
|
||||
# linuxkit/alpine:43c139f87122e94af5fac9a9d1d96f0292ca1c0b
|
||||
# linuxkit/alpine:c05b16339df6d4638bc048aa12148b5803635b66
|
||||
# automatically generated list of installed packages
|
||||
abuild-3.0.0_rc2-r8
|
||||
alpine-baselayout-3.0.4-r0
|
||||
@ -91,14 +91,14 @@ libattr-2.4.47-r6
|
||||
libblkid-2.28.2-r2
|
||||
libburn-1.4.6-r0
|
||||
libbz2-1.0.6-r5
|
||||
libc-dev-0.7.1-r0
|
||||
libc-utils-0.7.1-r0
|
||||
libcap-2.25-r1
|
||||
libcap-ng-0.7.8-r0
|
||||
libcap-ng-dev-0.7.8-r0
|
||||
libc-dev-0.7.1-r0
|
||||
libcom_err-1.43.4-r0
|
||||
libcrypto1.0-1.0.2k-r0
|
||||
libcurl-7.54.0-r0
|
||||
libc-utils-0.7.1-r0
|
||||
libdrm-2.4.80-r0
|
||||
libedit-20170329.3.1-r2
|
||||
libelf-0.8.13-r2
|
||||
@ -131,10 +131,10 @@ libpcap-1.8.1-r0
|
||||
libpciaccess-0.13.4-r1
|
||||
libpng-1.6.29-r1
|
||||
libressl-2.5.4-r0
|
||||
libressl-dev-2.5.4-r0
|
||||
libressl2.5-libcrypto-2.5.4-r0
|
||||
libressl2.5-libssl-2.5.4-r0
|
||||
libressl2.5-libtls-2.5.4-r0
|
||||
libressl-dev-2.5.4-r0
|
||||
libsasl-2.1.26-r10
|
||||
libseccomp-2.3.2-r0
|
||||
libseccomp-dev-2.3.2-r0
|
||||
@ -175,12 +175,12 @@ ncurses-terminfo-base-6.0-r7
|
||||
nettle-3.3-r0
|
||||
npth-1.2-r0
|
||||
oniguruma-6.2.0-r0
|
||||
open-vm-tools-10.1.0-r7
|
||||
openntpd-6.0_p1-r3
|
||||
openrc-0.24.1-r2
|
||||
openssh-keygen-7.5_p1-r1
|
||||
openssh-server-7.5_p1-r1
|
||||
openssl-dev-1.0.2k-r0
|
||||
open-vm-tools-10.1.0-r7
|
||||
opus-1.1.4-r0
|
||||
p11-kit-0.23.2-r1
|
||||
patch-2.7.5-r1
|
Loading…
Reference in New Issue
Block a user