Files
packages/utils/lxc/test-version.sh
John Audia e5b32b606d lxc: update to 7.0.0
Swtich to upstream recommended 7.0 LTS branch[1] which includes a fix
for CVE-2026-39402. Full changelog: https://github.com/lxc/lxc/releases/tag/v7.0.0

- Removed patches/021-remove-legacy-cgroup-support.patch due upstream
deprecated CGroupV1 support.
- Modified files/lxc-auto.init to remove the boot() function which mounted
legacy cgroup1 stuff as well. This PR will superceed
https://github.com/openwrt/packages/pull/27757 as a result.
- Added a version check script for the CI.
- Fix another CI failure with -Dmemfd-rexec=false

Note this release adds the ability to introduce landlock-sandboxing the
monitor process but that would depend on CONFIG_SECURITY_LANDLOCK in the
kernel. This can be added in a future PR if there is interest.

1. https://discuss.linuxcontainers.org/t/lxc-7-0-lts-has-been-released/26612#p-90585-support-and-upgrade-8

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
2026-06-21 17:25:02 +02:00

71 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
# shellcheck shell=busybox
#
# Generic version-check override.
#
# The CI test framework (test_entrypoint.sh) runs this once per sub-package
# with PKG_NAME / PKG_VERSION exported. Returning 0 means "version OK / not
# applicable"; a non-zero exit fails the package.
#
# Most lxc-* tool binaries print only the bare version number (e.g. "7.0.0")
# on --version via the shared tools/arguments.c parser, which we match below.
# The exceptions, which expose no usable version string, are skipped:
# lxc-config - custom arg parser, no --version (prints config items)
# lxc-usernsexec - plain getopt ("m:hsu:g:"), no --version flag
# lxc-checkconfig - shell script, prints no machine-readable version
# lxc-monitord - libexec helper, no --version flag
# lxc-user-nic - libexec helper, no --version flag
#
# Meta/library/script packages that ship no versioned executable are also
# skipped; their functionality is covered by the build itself.
case "$PKG_NAME" in
lxc|\
lxc-common|\
lxc-hooks|\
lxc-templates|\
lxc-configs|\
lxc-init|\
lxc-auto|\
lxc-unprivileged|\
liblxc|\
lxc-checkconfig|\
lxc-config|\
lxc-usernsexec|\
lxc-monitord|\
lxc-user-nic)
# No machine-readable version output; skip generic version check.
exit 0
;;
lxc-attach|\
lxc-autostart|\
lxc-cgroup|\
lxc-copy|\
lxc-console|\
lxc-create|\
lxc-destroy|\
lxc-device|\
lxc-execute|\
lxc-freeze|\
lxc-info|\
lxc-monitor|\
lxc-snapshot|\
lxc-start|\
lxc-stop|\
lxc-unfreeze|\
lxc-unshare|\
lxc-wait|\
lxc-top|\
lxc-ls)
# These binaries print just the version number to stdout on --version.
"$PKG_NAME" --version | grep -F "$PKG_VERSION"
;;
*)
echo "test-version.sh: unhandled sub-package '$PKG_NAME'" >&2
exit 1
;;
esac