diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 72413cb..47be543 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ on: pull_request: env: - ALPINE_VERSION: 3.20.0 + ALPINE_VERSION: 3.20.3 DOCKER_BUILDKIT: 1 jobs: @@ -37,11 +37,6 @@ jobs: make iso EDITION=std ARCH=x86_64 make iso EDITION=std ARCH=aarch64 - - name: Build the rd edition - run: | - make iso EDITION=rd ARCH=x86_64 - make iso EDITION=rd ARCH=aarch64 - - name: Create release if: github.event_name != 'pull_request' env: diff --git a/Makefile b/Makefile index c5020a7..b09ceee 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -ALPINE_VERSION ?= 3.20.0 +ALPINE_VERSION ?= 3.20.3 REPO_VERSION ?= $(shell echo "$(ALPINE_VERSION)" | sed -E 's/^([0-9]+\.[0-9]+).*/v\1/') GIT_TAG ?= $(shell echo "v$(ALPINE_VERSION)" | sed 's/^vedge$$/origin\/master/') BUILD_ID ?= $(shell git describe --tags) @@ -21,10 +21,7 @@ ARCH_ALIAS_x86_64 = amd64 ARCH_ALIAS_aarch64 = arm64 ARCH_ALIAS = $(shell echo "$(ARCH_ALIAS_$(ARCH))") -NERDCTL_VERSION=1.1.0 QEMU_VERSION=v8.1.5 -CRI_DOCKERD_VERSION=0.2.3 -CRI_DOCKERD_ORG=Mirantis BINFMT_IMAGE=tonistiigi/binfmt:qemu-$(QEMU_VERSION) .PHONY: mkimage @@ -39,20 +36,13 @@ mkimage: . .PHONY: iso -iso: nerdctl-full-$(NERDCTL_VERSION)-$(ARCH) qemu-$(QEMU_VERSION)-copying cri-dockerd-$(CRI_DOCKERD_VERSION)-$(ARCH) - ALPINE_VERSION=$(ALPINE_VERSION) NERDCTL_VERSION=$(NERDCTL_VERSION) QEMU_VERSION=$(QEMU_VERSION) CRI_DOCKERD_VERSION=$(CRI_DOCKERD_VERSION) REPO_VERSION=$(REPO_VERSION) EDITION=$(EDITION) BUILD_ID=$(BUILD_ID) ARCH=$(ARCH) ARCH_ALIAS=$(ARCH_ALIAS) ./build.sh +iso: qemu-$(QEMU_VERSION)-copying + ALPINE_VERSION=$(ALPINE_VERSION) QEMU_VERSION=$(QEMU_VERSION) REPO_VERSION=$(REPO_VERSION) EDITION=$(EDITION) BUILD_ID=$(BUILD_ID) ARCH=$(ARCH) ARCH_ALIAS=$(ARCH_ALIAS) ./build.sh -nerdctl-full-$(NERDCTL_VERSION)-$(ARCH): - curl -o $@ -Ls https://github.com/containerd/nerdctl/releases/download/v$(NERDCTL_VERSION)/nerdctl-full-$(NERDCTL_VERSION)-linux-$(ARCH_ALIAS).tar.gz - qemu-$(QEMU_VERSION)-copying: curl -o $@ -Ls https://raw.githubusercontent.com/qemu/qemu/$(QEMU_VERSION)/COPYING -cri-dockerd-$(CRI_DOCKERD_VERSION)-$(ARCH): - curl -o $@ -Ls https://github.com/$(CRI_DOCKERD_ORG)/cri-dockerd/releases/download/v$(CRI_DOCKERD_VERSION)/cri-dockerd-$(CRI_DOCKERD_VERSION).$(ARCH_ALIAS).tgz - curl -o $@.LICENSE -Ls https://raw.githubusercontent.com/$(CRI_DOCKERD_ORG)/cri-dockerd/v$(CRI_DOCKERD_VERSION)/LICENSE - .PHONY: lima lima: ALPINE_VERSION=$(ALPINE_VERSION) EDITION=$(EDITION) ARCH=$(ARCH) ./lima.sh diff --git a/README.md b/README.md index a395f2f..5c8258d 100644 --- a/README.md +++ b/README.md @@ -34,10 +34,6 @@ Right now the "std" edition also installs `qemu-aarch64` and configures it via ` The "k3s" edition is the same as "ci" plus `k3s` pre-installed. This is still subject to change. -### Rancher Desktop: rd - -The "rd" edition includes additional components for Rancher Desktop. These can change randomly to match particular RD releases (or just experiments) and should not be relied on by other applications. - ## Architecture This repo supports the generation of images for different architectures. @@ -51,7 +47,7 @@ Note that this repo includes the [Alpine aports](https://github.com/alpinelinux/ git submodule update --init ``` -The examples show the default values for `ALPINE_VERSION=3.14.3 EDITION=std`, `ARCH` defaults to the OS architecture `uname -m`. +The examples show the default values for `ALPINE_VERSION=3.20.3 EDITION=std`, `ARCH` defaults to the OS architecture `uname -m`. The options need to be specified only to select non-default setting. ### Build the builder @@ -59,7 +55,7 @@ The options need to be specified only to select non-default setting. The ISO builder will be created inside a docker image. You can specify the Alpine version used to create it: ``` -make mkimage ALPINE_VERSION=3.14.3 +make mkimage ALPINE_VERSION=3.20.3 ``` ### Build the ISO @@ -67,17 +63,17 @@ make mkimage ALPINE_VERSION=3.14.3 This docker image can then be used to create ISO images that will be stored under `./iso`: ``` -make iso ALPINE_VERSION=3.14.3 EDITION=std +make iso ALPINE_VERSION=3.20.3 EDITION=std ``` ### Run the ISO with qemu ``` -make run ALPINE_VERSION=3.14.3 EDITION=std +make run ALPINE_VERSION=3.20.3 EDITION=std ``` ### Run the ISO with Lima ``` -make lima ALPINE_VERSION=3.14.3 EDITION=std +make lima ALPINE_VERSION=3.20.3 EDITION=std ``` diff --git a/build.sh b/build.sh index 817589d..0d279c6 100755 --- a/build.sh +++ b/build.sh @@ -18,10 +18,7 @@ ${DOCKER} run --rm \ -v "${PWD}/lima-init.openrc:/home/build/lima-init.openrc:ro" \ -v "${PWD}/lima-init-local.openrc:/home/build/lima-init-local.openrc:ro" \ -v "${PWD}/lima-network.awk:/home/build/lima-network.awk:ro" \ - -v "${PWD}/nerdctl-full-${NERDCTL_VERSION}-${ARCH}:/home/build/nerdctl-full.tar.gz:ro" \ -v "${PWD}/qemu-${QEMU_VERSION}-copying:/home/build/qemu-copying:ro" \ - -v "${PWD}/cri-dockerd-${CRI_DOCKERD_VERSION}-${ARCH}:/home/build/cri-dockerd.tar.gz:ro" \ - -v "${PWD}/cri-dockerd-${CRI_DOCKERD_VERSION}-${ARCH}.LICENSE:/home/build/cri-dockerd.license:ro" \ $(env | grep ^LIMA_ | xargs -n 1 printf -- '-e %s ') \ -e "LIMA_REPO_VERSION=${REPO_VERSION}" \ -e "LIMA_BUILD_ID=${BUILD_ID}" \ diff --git a/edition/min b/edition/min index 18858b2..f3bd338 100644 --- a/edition/min +++ b/edition/min @@ -2,20 +2,13 @@ export LIMA_INSTALL_BINFMT_MISC=false export LIMA_INSTALL_CA_CERTIFICATES=false export LIMA_INSTALL_CLOUD_INIT=false export LIMA_INSTALL_CLOUD_UTILS_GROWPART=false -export LIMA_INSTALL_CNI_PLUGINS=false -export LIMA_INSTALL_CNI_PLUGIN_FLANNEL=false -export LIMA_INSTALL_CURL=false -export LIMA_INSTALL_DOCKER=false export LIMA_INSTALL_E2FSPROGS_EXTRA=false export LIMA_INSTALL_GIT=false -export LIMA_INSTALL_K3S=false -export LIMA_INSTALL_CRI_DOCKERD=false export LIMA_INSTALL_IPTABLES=false +export LIMA_INSTALL_K3S=false export LIMA_INSTALL_LIMA_INIT=false export LIMA_INSTALL_LOGROTATE=false -export LIMA_INSTALL_NERDCTL_FULL=false export LIMA_INSTALL_OPENSSH_SFTP_SERVER=false export LIMA_INSTALL_SSHFS=false export LIMA_INSTALL_TINI=false export LIMA_INSTALL_TZDATA=false -export LIMA_INSTALL_ZSTD=false diff --git a/edition/rd b/edition/rd deleted file mode 100644 index 65b749b..0000000 --- a/edition/rd +++ /dev/null @@ -1,18 +0,0 @@ -source edition/min -LIMA_INSTALL_BINFMT_MISC=true -LIMA_INSTALL_CA_CERTIFICATES=true -LIMA_INSTALL_CLOUD_UTILS_GROWPART=true -LIMA_INSTALL_CNI_PLUGINS=true -LIMA_INSTALL_CNI_PLUGIN_FLANNEL=true -LIMA_INSTALL_CURL=true -LIMA_INSTALL_CRI_DOCKERD=true -LIMA_INSTALL_DOCKER=true -LIMA_INSTALL_E2FSPROGS_EXTRA=true -LIMA_INSTALL_GIT=true -LIMA_INSTALL_IPTABLES=true -LIMA_INSTALL_LIMA_INIT=true -LIMA_INSTALL_LOGROTATE=true -LIMA_INSTALL_NERDCTL_FULL=true -LIMA_INSTALL_OPENSSH_SFTP_SERVER=true -LIMA_INSTALL_SSHFS=true -LIMA_INSTALL_ZSTD=true diff --git a/edition/std b/edition/std index 9208722..fa68df2 100644 --- a/edition/std +++ b/edition/std @@ -1,11 +1,11 @@ source edition/min -LIMA_INSTALL_LIMA_INIT=true LIMA_INSTALL_BINFMT_MISC=true LIMA_INSTALL_CA_CERTIFICATES=true LIMA_INSTALL_CLOUD_UTILS_GROWPART=true LIMA_INSTALL_E2FSPROGS_EXTRA=true LIMA_INSTALL_GIT=true LIMA_INSTALL_IPTABLES=true +LIMA_INSTALL_LIMA_INIT=true LIMA_INSTALL_LOGROTATE=true LIMA_INSTALL_OPENSSH_SFTP_SERVER=true LIMA_INSTALL_SSHFS=true diff --git a/genapkovl-lima.sh b/genapkovl-lima.sh index a632784..9223c4b 100755 --- a/genapkovl-lima.sh +++ b/genapkovl-lima.sh @@ -154,24 +154,6 @@ if [ "${LIMA_INSTALL_CLOUD_UTILS_GROWPART}" == "true" ]; then echo partx >> "$tmp"/etc/apk/world fi -if [ "${LIMA_INSTALL_DOCKER}" == "true" ]; then - echo libseccomp >> "$tmp"/etc/apk/world - echo runc >> "$tmp"/etc/apk/world - echo containerd >> "$tmp"/etc/apk/world - echo tini-static >> "$tmp"/etc/apk/world - echo device-mapper-libs >> "$tmp"/etc/apk/world - echo docker-engine >> "$tmp"/etc/apk/world - echo docker-openrc >> "$tmp"/etc/apk/world - echo docker-cli >> "$tmp"/etc/apk/world - echo docker >> "$tmp"/etc/apk/world - - # kubectl port-forward requires `socat` when using docker-shim - echo socat >> "$tmp"/etc/apk/world - - # So `docker buildx` can unpack tar.xz files - echo xz >> "$tmp"/etc/apk/world -fi - # /proc/sys/fs/binfmt_misc must exist for /etc/init.d/procfs to load # the binfmt-misc kernel module, which will then mount the filesystem. # This is needed for Rosetta to register. @@ -218,22 +200,6 @@ if [ "${LIMA_INSTALL_CA_CERTIFICATES}" == "true" ]; then echo "ca-certificates" >> "$tmp"/etc/apk/world fi -if [ "${LIMA_INSTALL_CNI_PLUGINS}" == "true" ] || [ "${LIMA_INSTALL_NERDCTL_FULL}" == "true" ]; then - echo "cni-plugins" >> "$tmp"/etc/apk/world -fi - -if [ "${LIMA_INSTALL_CNI_PLUGIN_FLANNEL}" == "true" ]; then - echo "cni-plugin-flannel" >> "$tmp"/etc/apk/world - ARCH=amd64 - if [ "$(uname -m)" == "aarch64" ]; then - ARCH=arm64 - fi -fi - -if [ "${LIMA_INSTALL_CURL}" == "true" ]; then - echo "curl" >> "$tmp"/etc/apk/world -fi - if [ "${LIMA_INSTALL_E2FSPROGS_EXTRA}" == "true" ]; then echo "e2fsprogs-extra" >> "$tmp"/etc/apk/world fi @@ -251,21 +217,10 @@ if [ "${LIMA_INSTALL_LOGROTATE}" == "true" ]; then echo "logrotate" >> "$tmp"/etc/apk/world fi -if [ "${LIMA_INSTALL_IPTABLES}" == "true" ] || [ "${LIMA_INSTALL_NERDCTL_FULL}" == "true" ]; then +if [ "${LIMA_INSTALL_IPTABLES}" == "true" ]; then echo "iptables ip6tables" >> "$tmp"/etc/apk/world fi -if [ "${LIMA_INSTALL_NERDCTL_FULL}" == "true" ]; then - mkdir -p "${tmp}/nerdctl" - tar xz -C "${tmp}/nerdctl" -f /home/build/nerdctl-full.tar.gz - - mkdir -p "${tmp}/usr/local/bin/" - for bin in buildctl buildkitd nerdctl; do - cp "${tmp}/nerdctl/bin/${bin}" "${tmp}/usr/local/bin/${bin}" - chmod u+s "${tmp}/usr/local/bin/${bin}" - done -fi - if [ "${LIMA_INSTALL_OPENSSH_SFTP_SERVER}" == "true" ]; then echo "openssh-sftp-server" >> "$tmp"/etc/apk/world fi @@ -274,10 +229,6 @@ if [ "${LIMA_INSTALL_SSHFS}" == "true" ]; then echo "sshfs" >> "$tmp"/etc/apk/world fi -if [ "${LIMA_INSTALL_ZSTD}" == "true" ]; then - echo "zstd" >> "$tmp"/etc/apk/world -fi - if [ "${LIMA_INSTALL_TINI}" == "true" ]; then echo tini-static >> "$tmp"/etc/apk/world ln -sf /sbin/tini-static "$tmp"/usr/bin/tini @@ -287,17 +238,6 @@ if [ "${LIMA_INSTALL_TZDATA}" == "true" ]; then echo tzdata >> "$tmp"/etc/apk/world fi -if [ "${LIMA_INSTALL_CRI_DOCKERD}" == "true" ]; then - mkdir -p "${tmp}/cri-dockerd" - tar xz -C "${tmp}/cri-dockerd" -f /home/build/cri-dockerd.tar.gz - mkdir -p "${tmp}/usr/local/bin/" - cp "${tmp}/cri-dockerd/cri-dockerd/cri-dockerd" "${tmp}/usr/local/bin/" - - #Copy the LICENSE file for cri-dockerd - mkdir -p "${tmp}/usr/share/doc/cri-dockerd/" - cp /home/build/cri-dockerd.license "${tmp}/usr/share/doc/cri-dockerd/LICENSE" -fi - mkdir -p "${tmp}/etc" mkdir -p "${tmp}/proc" mkdir -p "${tmp}/usr" diff --git a/mkimg.lima.sh b/mkimg.lima.sh index 679e7bd..c645a72 100755 --- a/mkimg.lima.sh +++ b/mkimg.lima.sh @@ -23,32 +23,21 @@ profile_lima() { if [ "${LIMA_INSTALL_CLOUD_UTILS_GROWPART}" == "true" ]; then apks="$apks cloud-utils-growpart partx" fi - if [ "${LIMA_INSTALL_CNI_PLUGINS}" == "true" ] || [ "${LIMA_INSTALL_NERDCTL_FULL}" == "true" ]; then - apks="$apks cni-plugins" - fi - if [ "${LIMA_INSTALL_CNI_PLUGIN_FLANNEL}" == "true" ]; then - apks="$apks cni-plugin-flannel" - fi - if [ "${LIMA_INSTALL_CURL}" == "true" ]; then - apks="$apks curl" - fi if [ "${LIMA_INSTALL_E2FSPROGS_EXTRA}" == "true" ]; then apks="$apks e2fsprogs-extra" fi if [ "${LIMA_INSTALL_GIT}" == "true" ]; then apks="$apks git" fi - if [ "${LIMA_INSTALL_DOCKER}" == "true" ]; then - apks="$apks libseccomp runc containerd tini-static device-mapper-libs" - apks="$apks docker-engine docker-openrc docker-cli docker" - apks="$apks socat xz" - fi - if [ "${LIMA_INSTALL_LIMA_INIT}" == "true" ]; then - apks="$apks e2fsprogs lsblk sfdisk shadow sudo udev" + if [ "${LIMA_INSTALL_IPTABLES}" == "true" ]; then + apks="$apks iptables ip6tables" fi if [ "${LIMA_INSTALL_K3S}" == "true" ]; then apks="$apks k3s" fi + if [ "${LIMA_INSTALL_LIMA_INIT}" == "true" ]; then + apks="$apks e2fsprogs lsblk sfdisk shadow sudo udev" + fi if [ "${LIMA_INSTALL_LOGROTATE}" == "true" ]; then apks="$apks logrotate" fi @@ -61,13 +50,7 @@ profile_lima() { if [ "${LIMA_INSTALL_TINI}" == "true" ]; then apks="$apks tini-static" fi - if [ "${LIMA_INSTALL_IPTABLES}" == "true" ] || [ "${LIMA_INSTALL_NERDCTL_FULL}" == "true" ]; then - apks="$apks iptables ip6tables" - fi if [ "${LIMA_INSTALL_TZDATA}" == "true" ]; then apks="$apks tzdata" fi - if [ "${LIMA_INSTALL_ZSTD}" == "true" ]; then - apks="$apks zstd" - fi } diff --git a/src/aports b/src/aports index 1402388..095bac4 160000 --- a/src/aports +++ b/src/aports @@ -1 +1 @@ -Subproject commit 1402388a3a746e9961791846350e35f1d4d4618d +Subproject commit 095bac49b6e2f64f2c05f3cbfde30d86210b17e0