|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 01/13] Add Alpine 3.23 containers
Add it in all variants:
- base container
- build container
- initramfs archive
libdw used to be part of libelf in Alpine 3.18, but it's a separate
package in 3.23.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
---
Changes in v4:
- Update to Alpine 3.23
- Fix alpine-3.22-arm64-rootfs
- Adjust default in containerize script
Changes in v3:
- add comment about libdw
---
.gitlab-ci.yml | 14 +++++++-
containerize | 6 ++-
images/alpine/3.23-arm64-base.dockerfile | 6 +++-
images/alpine/3.23-arm64-build.dockerfile | 31 +++++++++++++++++-
images/alpine/3.23-x86_64-base.dockerfile | 6 +++-
images/alpine/3.23-x86_64-build.dockerfile | 43 +++++++++++++++++++++++-
scripts/alpine-rootfs.sh | 6 +++-
7 files changed, 111 insertions(+), 1 deletion(-)
create mode 100644 images/alpine/3.23-arm64-base.dockerfile
create mode 100644 images/alpine/3.23-arm64-build.dockerfile
create mode 100644 images/alpine/3.23-x86_64-base.dockerfile
create mode 100644 images/alpine/3.23-x86_64-build.dockerfile
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c698612..b86d9aa 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -40,6 +40,13 @@ alpine-3.18-arm64-rootfs:
variables:
CONTAINER: alpine:3.18-arm64-base
+alpine-3.23-arm64-rootfs:
+ extends: .arm64-artifacts
+ script:
+ - ./scripts/alpine-rootfs.sh
+ variables:
+ CONTAINER: alpine:3.23-arm64-base
+
linux-6.6.86-arm64:
extends: .arm64-artifacts
script: ./scripts/build-linux.sh
@@ -56,6 +63,13 @@ alpine-3.18-x86_64-rootfs:
variables:
CONTAINER: alpine:3.18-x86_64-base
+alpine-3.23-x86_64-rootfs:
+ extends: .x86_64-artifacts
+ script:
+ - ./scripts/alpine-rootfs.sh
+ variables:
+ CONTAINER: alpine:3.23-x86_64-base
+
linux-6.6.56-x86_64:
extends: .x86_64-artifacts
script: ./scripts/build-linux.sh
diff --git a/containerize b/containerize
index 38a434a..a74ef45 100755
--- a/containerize
+++ b/containerize
@@ -27,7 +27,11 @@ case "_${CONTAINER}" in
_alpine-3.18-arm64-base) CONTAINER="${BASE}/alpine:3.18-arm64-base" ;;
_alpine-3.18-arm64-build) CONTAINER="${BASE}/alpine:3.18-arm64-build" ;;
_alpine-3.18-x86_64-base) CONTAINER="${BASE}/alpine:3.18-x86_64-base" ;;
- _alpine-3.18-x86_64-build|_) CONTAINER="${BASE}/alpine:3.18-x86_64-build"
;;
+ _alpine-3.18-x86_64-build) CONTAINER="${BASE}/alpine:3.18-x86_64-build" ;;
+ _alpine-3.23-arm64-base) CONTAINER="${BASE}/alpine:3.23-arm64-base" ;;
+ _alpine-3.23-arm64-build) CONTAINER="${BASE}/alpine:3.23-arm64-build" ;;
+ _alpine-3.23-x86_64-base) CONTAINER="${BASE}/alpine:3.23-x86_64-base" ;;
+ _alpine-3.23-x86_64-build|_) CONTAINER="${BASE}/alpine:3.23-x86_64-build"
;;
esac
# Use this variable to control whether root should be used
diff --git a/images/alpine/3.23-arm64-base.dockerfile
b/images/alpine/3.23-arm64-base.dockerfile
new file mode 100644
index 0000000..5899803
--- /dev/null
+++ b/images/alpine/3.23-arm64-base.dockerfile
@@ -0,0 +1,6 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/arm64/v8 alpine:3.23
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@xxxxxxxxxxxxxxxxxxxx"
+
+RUN apk --no-cache add bash
diff --git a/images/alpine/3.23-arm64-build.dockerfile
b/images/alpine/3.23-arm64-build.dockerfile
new file mode 100644
index 0000000..1e04b3a
--- /dev/null
+++ b/images/alpine/3.23-arm64-build.dockerfile
@@ -0,0 +1,31 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/arm64/v8 alpine:3.23
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@xxxxxxxxxxxxxxxxxxxx"
+
+RUN apk --no-cache add bash
+
+RUN <<EOF
+#!/bin/bash
+ set -eu
+
+ adduser -D user --shell /bin/bash
+
+ DEPS=(# Base environment
+ build-base
+ curl
+ git
+
+ # Linux build deps
+ bison
+ findutils
+ flex
+ openssl-dev
+ perl
+ )
+
+ apk add --no-cache "${DEPS[@]}"
+EOF
+
+USER user
+WORKDIR /build
diff --git a/images/alpine/3.23-x86_64-base.dockerfile
b/images/alpine/3.23-x86_64-base.dockerfile
new file mode 100644
index 0000000..4c5807f
--- /dev/null
+++ b/images/alpine/3.23-x86_64-base.dockerfile
@@ -0,0 +1,6 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 alpine:3.23
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@xxxxxxxxxxxxxxxxxxxx"
+
+RUN apk --no-cache add bash
diff --git a/images/alpine/3.23-x86_64-build.dockerfile
b/images/alpine/3.23-x86_64-build.dockerfile
new file mode 100644
index 0000000..b938d7b
--- /dev/null
+++ b/images/alpine/3.23-x86_64-build.dockerfile
@@ -0,0 +1,43 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 alpine:3.23
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@xxxxxxxxxxxxxxxxxxxx"
+
+RUN apk --no-cache add bash
+
+RUN <<EOF
+#!/bin/bash
+ set -eu
+
+ adduser -D user --shell /bin/bash
+
+ DEPS=(# Base environment
+ build-base
+ curl
+ git
+
+ # Linux build deps
+ bison
+ diffutils
+ elfutils-dev
+ findutils
+ flex
+ gawk
+ linux-headers
+ openssl-dev
+ perl
+
+ # Microcode
+ jq
+
+ # Argo build deps
+ autoconf
+ automake
+ libtool
+ )
+
+ apk add --no-cache "${DEPS[@]}"
+EOF
+
+USER user
+WORKDIR /build
diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index 6fa1d56..3cd3ab9 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -40,6 +40,12 @@ case $UNAME in
# QEMU
libelf
)
+ # libdw used to be part of libelf in Alpine 3.18, but it's a separate
+ # package in 3.22.
+ if ! grep -q VERSION_ID=3.18 /etc/os-release; then
+ # QEMU
+ PKGS+=( libdw )
+ fi
;;
aarch64)
--
git-series 0.9.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |