package/criu: remove package

The criu package was added in Nov 2023, and then bumped once in
December 2023. Since then, it has never been bumped again, and all
follow-up fixes were provided by other people than the original
package submitter listed in the DEVELOPERS file.

criu has seen several upstream releases since then, and most notably
is causing a number of build issues in our autobuilders:

  https://autobuild.buildroot.net/?reason=criu-3.19

The package was never updated to those newer upstream releases, and
the autobuilder issues have not been addressed.

Therefore, let's drop this package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Thomas Petazzoni
2026-01-06 21:01:09 +01:00
parent 3e4e261a16
commit 9cf28c6573
6 changed files with 8 additions and 134 deletions

View File

@@ -146,6 +146,14 @@ endif
comment "Legacy options removed in 2026.02"
config BR2_PACKAGE_CRIU
bool "criu has been removed"
select BR2_LEGACY
help
criu was removed from Buildroot as it was insufficiently
maintained. It can be re-added if someone volunteers to
maintain it.
config BR2_PACKAGE_GCONF
bool "gconf package removed"
select BR2_LEGACY

View File

@@ -2242,7 +2242,6 @@ F: support/testing/tests/package/test_python_pytest.py
F: support/testing/tests/package/test_python_pytest_asyncio.py
N: Marcus Folkesson <marcus.folkesson@gmail.com>
F: package/criu/
F: package/libcamera/
F: package/libcamera-apps/
F: package/libostree/

View File

@@ -2786,7 +2786,6 @@ menu "System tools"
source "package/coreutils/Config.in"
source "package/cpulimit/Config.in"
source "package/cpuload/Config.in"
source "package/criu/Config.in"
source "package/crun/Config.in"
source "package/daemon/Config.in"
source "package/dc3dd/Config.in"

View File

@@ -1,52 +0,0 @@
# criu only builds on certain architectures
config BR2_PACKAGE_CRIU_ARCH_SUPPORTS
bool
default y if BR2_ARM_CPU_ARMV6
default y if BR2_ARM_CPU_ARMV7A
default y if BR2_ARM_CPU_ARMV7M
default y if BR2_ARM_CPU_ARMV8A && !BR2_aarch64_be
default y if BR2_aarch64
default y if BR2_x86_64
default y if BR2_powerpc64le # Only support powerpc64 with LE
# CRIU has "some" support for s390 but it is not included due to
# BE/LE endian issues.
depends on BR2_USE_MMU # libcap
depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS
config BR2_PACKAGE_CRIU
bool "criu"
depends on BR2_PACKAGE_CRIU_ARCH_SUPPORTS
depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # -march=armv7-a+fp, protobuf
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 # rseq.h
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no aio.h
depends on !BR2_STATIC_LIBS # protobuf, libbsd
depends on BR2_INSTALL_LIBSTDCPP # protobuf
depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf, libnl
depends on BR2_USE_WCHAR # libbsd
select BR2_PACKAGE_HOST_PYTHON3_SSL
select BR2_PACKAGE_PROTOBUF
select BR2_PACKAGE_PROTOBUF_C
select BR2_PACKAGE_LIBAIO
select BR2_PACKAGE_LIBBSD
select BR2_PACKAGE_LIBCAP
select BR2_PACKAGE_LIBNET
select BR2_PACKAGE_LIBNL
select BR2_PACKAGE_PYTHON3
help
Checkpoint/Restore In Userspace (CRIU), is a software
tool for the Linux operating system to make it possible
to freeze a running application and checkpoint it to
persistent storage as a collection of files.
https://criu.org/Main_Page
comment "criu needs a glibc or musl toolchain w/ threads, host gcc >= 7, gcc >= 8, headers >= 4.18, C++, dynamic library, wchar"
depends on BR2_PACKAGE_CRIU_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 \
|| BR2_TOOLCHAIN_USES_UCLIBC || !BR2_INSTALL_LIBSTDCPP \
|| BR2_STATIC_LIBS || !BR2_USE_WCHAR \
|| !BR2_HOST_GCC_AT_LEAST_7

View File

@@ -1,3 +0,0 @@
# Locally calculated
sha256 990cdd147cb670a5d5d14216c2b5c2fc2b9a53ef19396569a6413807ba2a6aa2 criu-3.19.tar.gz
sha256 568a1fa9d90e18a1a1a61ea58ec2eece16b56a5042cc72c1b4f8d4455ae6fcb7 COPYING

View File

@@ -1,77 +0,0 @@
################################################################################
#
# CRIU
#
################################################################################
CRIU_VERSION = 3.19
CRIU_SITE = $(call github,checkpoint-restore,criu,v$(CRIU_VERSION))
CRIU_LICENSE = GPL-2.0, LGPL-2.1 (for lib/), MIT (for images/)
CRIU_LICENSE_FILES = COPYING images/LICENSE
CRIU_DEPENDENCIES =\
host-pkgconf \
host-protobuf-c \
host-python3 \
host-python-pip \
libaio \
libbsd \
libcap \
libnet \
libnl \
protobuf \
protobuf-c \
python3
CRIU_MAKE_ENV =\
$(TARGET_MAKE_ENV) \
$(TARGET_CONFIGURE_OPTS) \
CROSS_COMPILE=$(TARGET_CROSS) \
WERROR=0
# Remap to match the used in criu.
ifeq ($(BR2_NORMALIZED_ARCH),"x86_64")
CRIU_MAKE_ENV += ARCH=x86
else ifeq ($(BR2_NORMALIZED_ARCH),"powerpc")
CRIU_MAKE_ENV += ARCH=ppc64
else ifeq ($(BR2_NORMALIZED_ARCH),"arm64")
CRIU_MAKE_ENV += ARCH=aarch64
else
CRIU_MAKE_ENV += ARCH=$(BR2_NORMALIZED_ARCH)
endif
ifeq ($(BR2_ARM_CPU_ARMV6),y)
CRIU_MAKE_ENV += SUBARCH=armv6
else ifeq ($(BR2_ARM_CPU_ARMV7A),y)
CRIU_MAKE_ENV += SUBARCH=armv7
else ifeq ($(BR2_ARM_CPU_ARMV7M),y)
CRIU_MAKE_ENV += SUBARCH=armv7
else ifeq ($(BR2_ARM_CPU_ARMV8A),y)
CRIU_MAKE_ENV += SUBARCH=armv8
endif
# Criu needs Kernel Checkpoint/restore support which is not enabled
# by default.
define CRIU_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_CHECKPOINT_RESTORE)
endef
define CRIU_BUILD_CMDS
rm -rf $(@D)/images/google/protobuf/descriptor.proto
cp -a $(STAGING_DIR)/usr/include/google/protobuf/descriptor.proto \
$(@D)/images/google/protobuf/descriptor.proto
$(CRIU_MAKE_ENV) $(MAKE) -C $(@D) \
PREFIX=/usr
endef
define CRIU_INSTALL_TARGET_CMDS
$(CRIU_MAKE_ENV) $(MAKE) -C $(@D) \
PREFIX=/usr \
DESTDIR=$(TARGET_DIR) \
install-criu \
install-lib \
install-compel
endef
$(eval $(generic-package))