commit: 66cfb02fe61676784b6137679425237c5b43c460
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 09:02:52 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 21 09:41:39 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66cfb02f
sys-process/criu: drop 3.17-r1, 3.18-r1
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-process/criu/Manifest | 2 -
sys-process/criu/criu-3.17-r1.ebuild | 168 --------------
sys-process/criu/criu-3.18-r1.ebuild | 187 ----------------
.../criu/files/criu-3.16.1-buildsystem.patch | 56 -----
.../criu/files/criu-3.17-amdgpu-build-fixes.patch | 98 ---------
.../criu/files/criu-3.17-glibc-2.36-deux.patch | 99 ---------
sys-process/criu/files/criu-3.17-glibc-2.36.patch | 242 ---------------------
sys-process/criu/files/criu-3.18-buildsystem.patch | 57 -----
8 files changed, 909 deletions(-)
diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
index 4fd5b7cfc5d1..507b2f14200f 100644
--- a/sys-process/criu/Manifest
+++ b/sys-process/criu/Manifest
@@ -1,3 +1 @@
-DIST criu-3.17.tar.gz 1321713 BLAKE2B
3bc13a7df0da0a17c74e0c12f07b81fe7f294be4d1980647b64c74e35383416ffbc10e7c04398f307bc68ff701f76a9586ea58825057b0df16b40f6aab3cbd0e
SHA512
febae66a7820345c0f335f4a49e64c0af5c8ae5d3a394cc0770881b64eab11ca03ad5872f06b0c4ccd1da844c519268dad3b4f8b260267e6d3f582e80d80f804
-DIST criu-3.18.tar.gz 1354367 BLAKE2B
3e6613bc44355d4544541ec399ca462eed12203327f832e3c72ea2ccc772afbe2947f760de452b776299af36576880b189ce7583ce7f74c12225d86d1247c2ab
SHA512
3d15554ebd2d08c8904c23b0aba00d505891c14caa4790c2fd12ad6b20bf4058fd210f1d03fd63aacc5ad8bc47e341396b48abbeb474f1fd43c3023fd1ff9171
DIST criu-3.19.tar.gz 1379938 BLAKE2B
c55c8e9cf7752ac1e6d7d99a3f87f98440f2054026bec2d5bed76ff5838e8e2dfa2a5fa9c8d17d60fc6da165260187d002ede6fa49f6902a0a6fe8461b12b479
SHA512
d243818cdac51580c952a80e9164786a67ce5e294c0faa6dc700f5e8da8e36495f0b64f5c27b345ede7d6697ed7a69fa4e9a85cef451f32e3ffeb78564884571
diff --git a/sys-process/criu/criu-3.17-r1.ebuild
b/sys-process/criu/criu-3.17-r1.ebuild
deleted file mode 100644
index 212e0208a5c2..000000000000
--- a/sys-process/criu/criu-3.17-r1.ebuild
+++ /dev/null
@@ -1,168 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit toolchain-funcs linux-info python-r1
-
-DESCRIPTION="utility to checkpoint/restore a process tree"
-HOMEPAGE="
- https://criu.org/
- https://github.com/checkpoint-restore/
-"
-SRC_URI="https://github.com/checkpoint-restore/${PN}/archive/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 -riscv"
-IUSE="bpf doc gnutls nftables selinux setproctitle static-libs test
video_cards_amdgpu"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/protobuf-c-1.4.0:=
- dev-libs/libnl:3=
- net-libs/libnet:1.1=
- sys-libs/libcap:=
- bpf? ( dev-libs/libbpf:= )
- gnutls? ( net-libs/gnutls:= )
- nftables? ( net-libs/gnutls:= )
- selinux? ( sys-libs/libselinux:= )
- setproctitle? ( dev-libs/libbsd:= )
- video_cards_amdgpu? ( x11-libs/libdrm[video_cards_amdgpu] )
-"
-DEPEND="${COMMON_DEPEND}"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- doc? (
- app-text/asciidoc
- app-text/xmlto
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/protobuf[${PYTHON_USEDEP}]
-"
-
-CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL
~INOTIFY_USER
- ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG ~TUN
~NETFILTER_XT_MARK"
-
-# root access required for tests
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/2.2/criu-2.2-flags.patch"
- "${FILESDIR}/2.3/criu-2.3-no-git.patch"
- "${FILESDIR}/criu-3.12-automagic-libbsd.patch"
- "${FILESDIR}/criu-3.16.1-buildsystem.patch"
-
- "${FILESDIR}/${P}-amdgpu-build-fixes.patch"
- "${FILESDIR}/${PN}-3.17-glibc-2.36.patch"
- "${FILESDIR}/${PN}-3.17-glibc-2.36-deux.patch"
-)
-
-criu_arch() {
- # criu infers the arch from $(uname -m). We never want this to happen.
- case ${ARCH} in
- amd64) echo "x86";;
- arm64) echo "aarch64";;
- ppc64*) echo "ppc64";;
- *) echo "${ARCH}";;
- esac
-}
-
-pkg_setup() {
- use amd64 && CONFIG_CHECK+=" ~IA32_EMULATION"
- linux-info_pkg_setup
-}
-
-src_prepare() {
- default
-
- use doc || sed -i 's_\(install: \)install-man _\1_g' Makefile.install
-}
-
-criu_use() {
- if ! use "${1}"; then
- sed \
- -e "s:${2:-${1}}:no_${2:-lib${1}}:g" \
- -i Makefile.config || die
- fi
-}
-
-src_configure() {
- # Gold linker generates invalid object file when used with criu's custom
- # linker script. Use the bfd linker instead. See
https://crbug.com/839665#c3
- tc-ld-disable-gold
-
- # Build system uses this variable as a trigger to append coverage flags
- # we'd like to avoid it. https://bugs.gentoo.org/744244
- unset GCOV
-
- # we have to sed the Makefile.config to disable automagic deps
- criu_use selinux
- criu_use bpf
- criu_use nftables
- criu_use video_cards_amdgpu libdrm
-
- emake_opts=(
- SETPROCTITLE="$(usex setproctitle)"
- NO_GNUTLS="$(usex gnutls '' '1')"
- )
-
- python_setup
-}
-
-criu_emake() {
- emake \
- AR="$(tc-getAR)" \
- ARCH="$(criu_arch)" \
- CC="$(tc-getCC)" \
- FULL_PYTHON="${PYTHON%.*}" \
- HOSTCC="$(tc-getBUILD_CC)" \
- LD="$(tc-getLD)" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
- OBJCOPY="$(tc-getOBJCOPY)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- PREFIX="${EPREFIX}"/usr \
- PYTHON="${EPYTHON%.*}" \
- V=1 WERROR=0 DEBUG=0 \
- "${emake_opts[@]}" \
- "${@}"
-}
-
-build_crit() {
- "${EPYTHON}" scripts/crit-setup.py build || die
-}
-
-src_compile() {
- local -a targets=(
- all
- $(usex doc 'docs' '')
- )
- criu_emake ${targets}
-}
-
-src_test() {
- criu_emake unittest
-}
-
-install_crit() {
- "${EPYTHON}" scripts/crit-setup.py install --root="${D}"
--prefix="${EPREFIX}/usr/" || die
- python_optimize
-}
-
-src_install() {
- criu_emake DESTDIR="${D}" install
- python_foreach_impl install_crit
-
- dodoc CREDITS README.md
-
- if ! use static-libs; then
- find "${D}" -name "*.a" -delete || die
- fi
-}
diff --git a/sys-process/criu/criu-3.18-r1.ebuild
b/sys-process/criu/criu-3.18-r1.ebuild
deleted file mode 100644
index 3892a1b3db9f..000000000000
--- a/sys-process/criu/criu-3.18-r1.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit fcaps toolchain-funcs linux-info distutils-r1
-
-DESCRIPTION="utility to checkpoint/restore a process tree"
-HOMEPAGE="
- https://criu.org/
- https://github.com/checkpoint-restore/
-"
-SRC_URI="https://github.com/checkpoint-restore/${PN}/archive/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 -riscv"
-IUSE="bpf doc gnutls nftables selinux setproctitle static-libs test
video_cards_amdgpu"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/protobuf-c-1.4.0:=
- dev-libs/libnl:3=
- net-libs/libnet:1.1=
- sys-libs/libcap:=
- bpf? ( dev-libs/libbpf:= )
- gnutls? ( net-libs/gnutls:= )
- nftables? ( net-libs/gnutls:= )
- selinux? ( sys-libs/libselinux:= )
- setproctitle? ( dev-libs/libbsd:= )
- video_cards_amdgpu? ( x11-libs/libdrm[video_cards_amdgpu] )
-"
-DEPEND="
- ${COMMON_DEPEND}
-"
-BDEPEND="
- doc? (
- app-text/asciidoc
- app-text/xmlto
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/protobuf[${PYTHON_USEDEP}]
-"
-
-CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL
~INOTIFY_USER
- ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG ~TUN
~NETFILTER_XT_MARK"
-
-# root access required for tests
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/2.2/criu-2.2-flags.patch"
- "${FILESDIR}/2.3/criu-2.3-no-git.patch"
- "${FILESDIR}/criu-3.12-automagic-libbsd.patch"
- "${FILESDIR}/criu-3.18-buildsystem.patch"
-)
-
-FILECAPS=(
- -m 0755 cap_checkpoint_restore usr/sbin/criu
-)
-
-criu_arch() {
- # criu infers the arch from $(uname -m). We never want this to happen.
- case ${ARCH} in
- amd64) echo "x86";;
- arm64) echo "aarch64";;
- ppc64*) echo "ppc64";;
- *) echo "${ARCH}";;
- esac
-}
-
-pkg_setup() {
- use amd64 && CONFIG_CHECK+=" ~IA32_EMULATION"
- linux-info_pkg_setup
-}
-
-src_prepare() {
- distutils-r1_src_prepare
- use doc || sed -i 's_\(install: \)install-man _\1_g' Makefile.install
-}
-
-criu_use() {
- if ! use "${1}"; then
- sed \
- -e "s:${2:-${1}}:no_${2:-lib${1}}:g" \
- -i Makefile.config || die
- fi
-}
-
-criu_python() {
- local -x \
- CRIU_VERSION_MAJOR="$(ver_cut 1)" \
- CRIU_VERSION_MINOR=$(ver_cut 2) \
- CRIU_VERSION_SUBLEVEL=$(ver_cut 3)
-
- "${@}"
-}
-
-src_configure() {
- # Gold linker generates invalid object file when used with criu's custom
- # linker script. Use the bfd linker instead. See
https://crbug.com/839665#c3
- tc-ld-disable-gold
-
- # Build system uses this variable as a trigger to append coverage flags
- # we'd like to avoid it. https://bugs.gentoo.org/744244
- unset GCOV
-
- # we have to sed the Makefile.config to disable automagic deps
- criu_use selinux
- criu_use bpf
- criu_use nftables
- criu_use video_cards_amdgpu libdrm
-
- emake_opts=(
- SETPROCTITLE="$(usex setproctitle)"
- NO_GNUTLS="$(usex gnutls '' '1')"
- )
-
- python_setup
- pushd crit >/dev/null || die
- criu_python distutils-r1_src_configure
- popd >/dev/null || die
-}
-
-criu_emake() {
- emake \
- AR="$(tc-getAR)" \
- ARCH="$(criu_arch)" \
- CC="$(tc-getCC)" \
- FULL_PYTHON="${PYTHON%.*}" \
- HOSTCC="$(tc-getBUILD_CC)" \
- LD="$(tc-getLD)" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
- OBJCOPY="$(tc-getOBJCOPY)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- PREFIX="${EPREFIX}"/usr \
- PYTHON="${EPYTHON%.*}" \
- V=1 WERROR=0 DEBUG=0 \
- "${emake_opts[@]}" \
- "${@}"
-}
-
-src_compile() {
- local -a targets=(
- all
- $(usex doc 'docs' '')
- )
- criu_emake ${targets}
-
- pushd crit >/dev/null || die
- criu_python distutils-r1_src_compile
- popd >/dev/null || die
-}
-
-src_test() {
- criu_emake unittest
-}
-
-python_install() {
- local -x \
- CRIU_VERSION_MAJOR="$(ver_cut 1)" \
- CRIU_VERSION_MINOR=$(ver_cut 2) \
- CRIU_VERSION_SUBLEVEL=$(ver_cut 3)
-
- distutils-r1_python_install
-}
-
-src_install() {
- criu_emake DESTDIR="${D}" install
-
- pushd crit >/dev/null || die
- criu_python distutils-r1_src_install
- popd >/dev/null || die
-
- dodoc CREDITS README.md
-
- if ! use static-libs; then
- find "${D}" -name "*.a" -delete || die
- fi
-}
diff --git a/sys-process/criu/files/criu-3.16.1-buildsystem.patch
b/sys-process/criu/files/criu-3.16.1-buildsystem.patch
deleted file mode 100644
index 7b83d1c8fe51..000000000000
--- a/sys-process/criu/files/criu-3.16.1-buildsystem.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/Makefile.config b/Makefile.config
-index 6e3e1b062..830a66e83 100644
---- a/Makefile.config
-+++ b/Makefile.config
-@@ -5,9 +5,6 @@ include scripts/feature-tests.mak
- ifeq ($(call try-cc,$(FEATURE_TEST_LIBBSD_DEV),-lbsd),true)
- LIBS_FEATURES += -lbsd
- FEATURE_DEFINES += -DCONFIG_HAS_LIBBSD
--else
-- $(info Note: Building without setproctitle() and strlcpy() support.)
-- $(info $(info) To enable these features, please install
libbsd-devel (RPM) / libbsd-dev (DEB).)
- endif
-
- ifeq ($(call pkg-config-check,libselinux),y)
-@@ -25,8 +22,6 @@ ifeq ($(NO_GNUTLS)x$(call pkg-config-check,gnutls),xy)
- LIBS_FEATURES += -lgnutls
- export CONFIG_GNUTLS := y
- FEATURE_DEFINES += -DCONFIG_GNUTLS
--else
-- $(info Note: Building without GnuTLS support)
- endif
-
- ifeq ($(call pkg-config-check,libnftables),y)
-@@ -41,9 +36,6 @@ ifeq ($(call pkg-config-check,libnftables),y)
- $(warning Warn: you have libnftables installed but it has
incompatible API)
- $(warning Warn: Building without nftables support)
- endif
--else
-- $(warning Warn: you have no libnftables installed)
-- $(warning Warn: Building without nftables support)
- endif
-
- export LIBS += $(LIBS_FEATURES)
-diff --git a/lib/Makefile b/lib/Makefile
-index 575a7bad3..af88668c5 100644
---- a/lib/Makefile
-+++ b/lib/Makefile
-@@ -58,8 +58,6 @@ install: lib-c lib-a lib-py crit/crit lib/c/criu.pc.in
- $(Q) mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
- $(Q) sed -e 's,@version@,$(CRIU_VERSION),' -e 's,@libdir@,$(LIBDIR),'
-e 's,@includedir@,$(dir $(INCLUDEDIR)/criu/),' lib/c/criu.pc.in > lib/c/criu.pc
- $(Q) install -m 644 lib/c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
-- $(E) " INSTALL " crit
-- $(Q) $(PYTHON) scripts/crit-setup.py install
--prefix=$(DESTDIR)$(PREFIX) --record $(CRIT_SETUP_FILES)
- .PHONY: install
-
- uninstall:
-diff --git a/scripts/crit-setup.py b/scripts/crit-setup.py
-index 871e55921..50745c294 100644
---- a/scripts/crit-setup.py
-+++ b/scripts/crit-setup.py
-@@ -1,4 +1,4 @@
--from distutils.core import setup
-+from setuptools import setup
-
- setup(name="crit",
- version="0.0.1",
diff --git a/sys-process/criu/files/criu-3.17-amdgpu-build-fixes.patch
b/sys-process/criu/files/criu-3.17-amdgpu-build-fixes.patch
deleted file mode 100644
index 913737215e49..000000000000
--- a/sys-process/criu/files/criu-3.17-amdgpu-build-fixes.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-https://github.com/checkpoint-restore/criu/commit/cd0ed7e5491c7c827b887b2d80cf35e87819278b.patch
-https://github.com/checkpoint-restore/criu/commit/2b3763fe6a39033d4e3d3d80e28911d1737ac23b.patch
-
-From cd0ed7e5491c7c827b887b2d80cf35e87819278b Mon Sep 17 00:00:00 2001
-From: Radostin Stoyanov <[email protected]>
-Date: Sun, 15 May 2022 17:08:18 +0100
-Subject: [PATCH] amdgpu/Makefile: Fix include path
-
-When building packages for CRIU the source directory might have a
-name different than 'criu'.
-
-Fixes: #1877
-
-Reported-by: @siris
-Signed-off-by: Radostin Stoyanov <[email protected]>
---- a/plugins/amdgpu/Makefile
-+++ b/plugins/amdgpu/Makefile
-@@ -2,7 +2,7 @@ PLUGIN_NAME := amdgpu_plugin
- PLUGIN_SOBJ := amdgpu_plugin.so
-
-
--PLUGIN_INCLUDE := -iquote../../../criu/include
-+PLUGIN_INCLUDE := -iquote../../include
- PLUGIN_INCLUDE += -iquote../../criu/include
- PLUGIN_INCLUDE += -iquote../../criu/arch/$(ARCH)/include/
- PLUGIN_INCLUDE += -iquote../../
-
-
-From 2b3763fe6a39033d4e3d3d80e28911d1737ac23b Mon Sep 17 00:00:00 2001
-From: Radostin Stoyanov <[email protected]>
-Date: Sun, 8 May 2022 11:07:25 +0100
-Subject: [PATCH] amdgpu: Set PLUGINDIR to /usr/lib/criu
-
-Building the criu packages for Ubuntu/Debian fails with:
-
- mkdir: cannot create directory '/var/lib/criu': Permission denied
-
-This patch updates PLUGINDIR with the value /usr/lib/criu
-
-Fixes: #1877
-
-Signed-off-by: Radostin Stoyanov <[email protected]>
---- a/Makefile.install
-+++ b/Makefile.install
-@@ -7,7 +7,7 @@ MANDIR ?= $(PREFIX)/share/man
- INCLUDEDIR ?= $(PREFIX)/include
- LIBEXECDIR ?= $(PREFIX)/libexec
- RUNDIR ?= /run
--PLUGINDIR ?= /var/lib/criu
-+PLUGINDIR ?= $(PREFIX)/lib/criu
-
- #
- # For recent Debian/Ubuntu with multiarch support.
---- a/criu/include/plugin.h
-+++ b/criu/include/plugin.h
-@@ -5,7 +5,9 @@
- #include "common/compiler.h"
- #include "common/list.h"
-
--#define CR_PLUGIN_DEFAULT "/var/lib/criu/"
-+#ifndef CR_PLUGIN_DEFAULT
-+#define CR_PLUGIN_DEFAULT "/usr/lib/criu/"
-+#endif
-
- void cr_plugin_fini(int stage, int err);
- int cr_plugin_init(int stage);
---- a/plugins/amdgpu/Makefile
-+++ b/plugins/amdgpu/Makefile
-@@ -15,7 +15,7 @@ DEPS_NOK := ;
- include $(__nmk_dir)msg.mk
-
- CC := gcc
--PLUGIN_CFLAGS := -g -Wall -Werror -D _GNU_SOURCE -shared
-nostartfiles -fPIC
-+PLUGIN_CFLAGS := -g -Wall -Werror -D _GNU_SOURCE -shared
-nostartfiles -fPIC -DCR_PLUGIN_DEFAULT="$(PLUGINDIR)"
- PLUGIN_LDFLAGS := -lpthread -lrt -ldrm -ldrm_amdgpu
-
- ifeq ($(CONFIG_AMDGPU),y)
-@@ -50,16 +50,16 @@ clean: amdgpu_plugin_clean amdgpu_plugin_test_clean
- mrproper: clean
-
- install:
-- $(Q) mkdir -p $(PLUGINDIR)
- ifeq ($(CONFIG_AMDGPU),y)
-+ $(Q) mkdir -p $(DESTDIR)$(PLUGINDIR)
- $(E) " INSTALL " $(PLUGIN_NAME)
-- $(Q) install -m 644 $(PLUGIN_SOBJ) $(PLUGINDIR)
-+ $(Q) install -m 644 $(PLUGIN_SOBJ) $(DESTDIR)$(PLUGINDIR)
- endif
- .PHONY: install
-
- uninstall:
- ifeq ($(CONFIG_AMDGPU),y)
- $(E) " UNINSTALL" $(PLUGIN_NAME)
-- $(Q) $(RM) $(PLUGINDIR)/$(PLUGIN_SOBJ)
-+ $(Q) $(RM) $(DESTDIR)$(PLUGINDIR)/$(PLUGIN_SOBJ)
- endif
- .PHONY: uninstall
-
diff --git a/sys-process/criu/files/criu-3.17-glibc-2.36-deux.patch
b/sys-process/criu/files/criu-3.17-glibc-2.36-deux.patch
deleted file mode 100644
index ca911d82779d..000000000000
--- a/sys-process/criu/files/criu-3.17-glibc-2.36-deux.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-https://github.com/checkpoint-restore/criu/commit/517c0947050e63aac72f63a3bf373d76264723b9
-https://bugs.gentoo.org/868099
-
-From: Radostin Stoyanov <[email protected]>
-Date: Wed, 24 Aug 2022 21:20:30 +0200
-Subject: [PATCH] mount: add definition for FSOPEN_CLOEXEC
-
-A recent change in glibc introduced `enum fsconfig_command` [1] and as a
-result the compilation of criu fails with the following errors
-
-In file included from criu/pie/util.c:3:
-/usr/include/sys/mount.h:240:6: error: redeclaration of 'enum fsconfig_command'
- 240 | enum fsconfig_command
- | ^~~~~~~~~~~~~~~~
-In file included from /usr/include/sys/mount.h:32:
-criu/include/linux/mount.h:11:6: note: originally defined here
- 11 | enum fsconfig_command {
- | ^~~~~~~~~~~~~~~~
-/usr/include/sys/mount.h:242:3: error: redeclaration of enumerator
'FSCONFIG_SET_FLAG'
- 242 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value
*/
- | ^~~~~~~~~~~~~~~~~
-criu/include/linux/mount.h:12:9: note: previous definition of
'FSCONFIG_SET_FLAG' with type 'enum fsconfig_command'
- 12 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */
- | ^~~~~~~~~~~~~~~~~
-/usr/include/sys/mount.h:244:3: error: redeclaration of enumerator
'FSCONFIG_SET_STRING'
- 244 | FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string
value */
- | ^~~~~~~~~~~~~~~~~~~
-criu/include/linux/mount.h:14:9: note: previous definition of
'FSCONFIG_SET_STRING' with type 'enum fsconfig_command'
- 14 | FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string
value */
- | ^~~~~~~~~~~~~~~~~~~
-/usr/include/sys/mount.h:246:3: error: redeclaration of enumerator
'FSCONFIG_SET_BINARY'
- 246 | FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary
blob value */
- | ^~~~~~~~~~~~~~~~~~~
-criu/include/linux/mount.h:16:9: note: previous definition of
'FSCONFIG_SET_BINARY' with type 'enum fsconfig_command'
- 16 | FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary
blob value */
- | ^~~~~~~~~~~~~~~~~~~
-/usr/include/sys/mount.h:248:3: error: redeclaration of enumerator
'FSCONFIG_SET_PATH'
- 248 | FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an
object by path */
- | ^~~~~~~~~~~~~~~~~
-criu/include/linux/mount.h:18:9: note: previous definition of
'FSCONFIG_SET_PATH' with type 'enum fsconfig_command'
- 18 | FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object
by path */
- | ^~~~~~~~~~~~~~~~~
-/usr/include/sys/mount.h:250:3: error: redeclaration of enumerator
'FSCONFIG_SET_PATH_EMPTY'
- 250 | FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an
object by (empty) path */
- | ^~~~~~~~~~~~~~~~~~~~~~~
-criu/include/linux/mount.h:20:9: note: previous definition of
'FSCONFIG_SET_PATH_EMPTY' with type 'enum fsconfig_command'
- 20 | FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an
object by (empty) path */
- | ^~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/sys/mount.h:252:3: error: redeclaration of enumerator
'FSCONFIG_SET_FD'
- 252 | FSCONFIG_SET_FD = 5, /* Set parameter, supplying an
object by fd */
- | ^~~~~~~~~~~~~~~
-criu/include/linux/mount.h:22:9: note: previous definition of
'FSCONFIG_SET_FD' with type 'enum fsconfig_command'
- 22 | FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by
fd */
- | ^~~~~~~~~~~~~~~
-/usr/include/sys/mount.h:254:3: error: redeclaration of enumerator
'FSCONFIG_CMD_CREATE'
- 254 | FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */
- | ^~~~~~~~~~~~~~~~~~~
-criu/include/linux/mount.h:24:9: note: previous definition of
'FSCONFIG_CMD_CREATE' with type 'enum fsconfig_command'
- 24 | FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */
- | ^~~~~~~~~~~~~~~~~~~
-/usr/include/sys/mount.h:256:3: error: redeclaration of enumerator
'FSCONFIG_CMD_RECONFIGURE'
- 256 | FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration
*/
- | ^~~~~~~~~~~~~~~~~~~~~~~~
-criu/include/linux/mount.h:26:9: note: previous definition of
'FSCONFIG_CMD_RECONFIGURE' with type 'enum fsconfig_command'
- 26 | FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock
reconfiguration */
-
-This patch adds definition for FSOPEN_CLOEXEC to solve this problem. In
particular,
-sys/mount.h includes ifndef check for FSOPEN_CLOEXEC surrounding `enum
fsconfig_command`.
-
-[1]
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=7eae6a91e9b1670330c9f15730082c91c0b1d570
-
-Reported-by: Younes Manton (@ymanton)
-Signed-off-by: Radostin Stoyanov <[email protected]>
---- a/criu/include/linux/mount.h
-+++ b/criu/include/linux/mount.h
-@@ -6,7 +6,7 @@
-
- /* Copied from /usr/include/sys/mount.h */
-
--#ifndef FSCONFIG_CMD_CREATE
-+#ifndef FSOPEN_CLOEXEC
- /* The type of fsconfig call made. */
- enum fsconfig_command {
- FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */
-@@ -26,7 +26,13 @@ enum fsconfig_command {
- FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */
- #define FSCONFIG_CMD_RECONFIGURE FSCONFIG_CMD_RECONFIGURE
- };
--#endif // FSCONFIG_CMD_CREATE
-+
-+#endif // FSOPEN_CLOEXEC
-+
-+/* fsopen flags. With the redundant definition, we check if the kernel,
-+ * glibc value and our value still match.
-+ */
-+#define FSOPEN_CLOEXEC 0x00000001
-
- #ifndef MS_MGC_VAL
- /* Magic mount flag number. Has to be or-ed to the flag values. */
diff --git a/sys-process/criu/files/criu-3.17-glibc-2.36.patch
b/sys-process/criu/files/criu-3.17-glibc-2.36.patch
deleted file mode 100644
index 5387c5a5b97c..000000000000
--- a/sys-process/criu/files/criu-3.17-glibc-2.36.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-https://bugs.gentoo.org/863683
-https://github.com/checkpoint-restore/criu/pull/1943
-
-From 8cd5fccd6cf3d03afb5abe463134d31f54d42258 Mon Sep 17 00:00:00 2001
-From: Radostin Stoyanov <[email protected]>
-Date: Sun, 31 Jul 2022 16:07:30 +0000
-Subject: [PATCH 2/2] criu: fix conflicting headers
-
-There are several changes in glibc 2.36 that make sys/mount.h header
-incompatible with kernel headers:
-
-https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
-
-This patch removes conflicting includes for `<linux/mount.h>` and
-updates the content of `criu/include/linux/mount.h` to match
-`/usr/include/sys/mount.h`. In addition, inline definitions sys_*()
-functions have been moved from "linux/mount.h" to "syscall.h" to
-avoid conflicts with `uapi/compel/plugins/std/syscall.h` and
-`<unistd.h>`. The include for `<linux/aio_abi.h>` has been replaced
-with local include to avoid conflicts with `<sys/mount.h>`.
-
-Fixes: #1949
-
-Signed-off-by: Radostin Stoyanov <[email protected]>
---- a/criu/cgroup.c
-+++ b/criu/cgroup.c
-@@ -27,6 +27,7 @@
- #include "images/cgroup.pb-c.h"
- #include "kerndat.h"
- #include "linux/mount.h"
-+#include "syscall.h"
-
- /*
- * This structure describes set of controller groups
---- a/criu/cr-check.c
-+++ b/criu/cr-check.c
-@@ -21,7 +21,6 @@
- #include <sys/prctl.h>
- #include <sched.h>
- #include <sys/mount.h>
--#include <linux/aio_abi.h>
-
- #include "../soccr/soccr.h"
-
-@@ -52,6 +51,7 @@
- #include "net.h"
- #include "restorer.h"
- #include "uffd.h"
-+#include "linux/aio_abi.h"
-
- #include "images/inventory.pb-c.h"
-
---- a/criu/cr-restore.c
-+++ b/criu/cr-restore.c
-@@ -22,7 +22,6 @@
- #include <compel/ptrace.h>
- #include "common/compiler.h"
-
--#include "linux/mount.h"
- #include "linux/rseq.h"
-
- #include "clone-noasan.h"
-@@ -86,6 +85,8 @@
- #include <compel/plugins/std/syscall-codes.h>
- #include "compel/include/asm/syscall.h"
-
-+#include "linux/mount.h"
-+
- #include "protobuf.h"
- #include "images/sa.pb-c.h"
- #include "images/timer.pb-c.h"
---- a/criu/include/aio.h
-+++ b/criu/include/aio.h
-@@ -1,7 +1,7 @@
- #ifndef __CR_AIO_H__
- #define __CR_AIO_H__
-
--#include <linux/aio_abi.h>
-+#include "linux/aio_abi.h"
- #include "images/mm.pb-c.h"
- unsigned int aio_estimate_nr_reqs(unsigned int size);
- int dump_aio_ring(MmEntry *mme, struct vma_area *vma);
---- /dev/null
-+++ b/criu/include/linux/aio_abi.h
-@@ -0,0 +1,14 @@
-+#ifndef __LINUX__AIO_ABI_H
-+#define __LINUX__AIO_ABI_H
-+
-+typedef __kernel_ulong_t aio_context_t;
-+
-+/* read() from /dev/aio returns these structures. */
-+struct io_event {
-+ __u64 data; /* the data field from the iocb */
-+ __u64 obj; /* what iocb this event came from */
-+ __s64 res; /* result code for this event */
-+ __s64 res2; /* secondary result */
-+};
-+
-+#endif /* __LINUX__AIO_ABI_H */
---- a/criu/include/linux/mount.h
-+++ b/criu/include/linux/mount.h
-@@ -4,32 +4,34 @@
- #include "common/config.h"
- #include "compel/plugins/std/syscall-codes.h"
-
--#ifdef CONFIG_HAS_FSCONFIG
--#include <linux/mount.h>
--#else
-+/* Copied from /usr/include/sys/mount.h */
-+
-+#ifndef FSCONFIG_CMD_CREATE
-+/* The type of fsconfig call made. */
- enum fsconfig_command {
-- FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */
-- FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string
value */
-- FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob
value */
-- FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by
path */
-- FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by
(empty) path */
-- FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by
fd */
-- FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */
-+ FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */
-+#define FSCONFIG_SET_FLAG FSCONFIG_SET_FLAG
-+ FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */
-+#define FSCONFIG_SET_STRING FSCONFIG_SET_STRING
-+ FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob
value */
-+#define FSCONFIG_SET_BINARY FSCONFIG_SET_BINARY
-+ FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */
-+#define FSCONFIG_SET_PATH FSCONFIG_SET_PATH
-+ FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by
(empty) path */
-+#define FSCONFIG_SET_PATH_EMPTY FSCONFIG_SET_PATH_EMPTY
-+ FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */
-+#define FSCONFIG_SET_FD FSCONFIG_SET_FD
-+ FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */
-+#define FSCONFIG_CMD_CREATE FSCONFIG_CMD_CREATE
- FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */
-+#define FSCONFIG_CMD_RECONFIGURE FSCONFIG_CMD_RECONFIGURE
- };
--#endif
-+#endif // FSCONFIG_CMD_CREATE
-
--static inline int sys_fsopen(const char *fsname, unsigned int flags)
--{
-- return syscall(__NR_fsopen, fsname, flags);
--}
--static inline int sys_fsconfig(int fd, unsigned int cmd, const char *key,
const char *value, int aux)
--{
-- return syscall(__NR_fsconfig, fd, cmd, key, value, aux);
--}
--static inline int sys_fsmount(int fd, unsigned int flags, unsigned int
attr_flags)
--{
-- return syscall(__NR_fsmount, fd, flags, attr_flags);
--}
-+#ifndef MS_MGC_VAL
-+/* Magic mount flag number. Has to be or-ed to the flag values. */
-+#define MS_MGC_VAL 0xc0ed0000 /* Magic flag number to indicate "new" flags */
-+#define MS_MGC_MSK 0xffff0000 /* Magic flag number mask */
-+#endif
-
- #endif
---- /dev/null
-+++ b/criu/include/syscall.h
-@@ -0,0 +1,17 @@
-+#ifndef __CR_SYSCALL_H__
-+#define __CR_SYSCALL_H__
-+
-+static inline int sys_fsopen(const char *fsname, unsigned int flags)
-+{
-+ return syscall(__NR_fsopen, fsname, flags);
-+}
-+static inline int sys_fsconfig(int fd, unsigned int cmd, const char *key,
const char *value, int aux)
-+{
-+ return syscall(__NR_fsconfig, fd, cmd, key, value, aux);
-+}
-+static inline int sys_fsmount(int fd, unsigned int flags, unsigned int
attr_flags)
-+{
-+ return syscall(__NR_fsmount, fd, flags, attr_flags);
-+}
-+
-+#endif /* __CR_SYSCALL_H__ */
-\ No newline at end of file
---- a/criu/pie/parasite.c
-+++ b/criu/pie/parasite.c
-@@ -3,7 +3,6 @@
- #include <signal.h>
- #include <linux/limits.h>
- #include <linux/capability.h>
--#include <sys/mount.h>
- #include <stdarg.h>
- #include <sys/ioctl.h>
- #include <sys/uio.h>
-@@ -14,6 +13,7 @@
- #include "int.h"
- #include "types.h"
- #include <compel/plugins/std/syscall.h>
-+#include "linux/mount.h"
- #include "parasite.h"
- #include "fcntl.h"
- #include "prctl.h"
---- a/criu/util.c
-+++ b/criu/util.c
-@@ -40,6 +40,7 @@
- #include "mem.h"
- #include "namespaces.h"
- #include "criu-log.h"
-+#include "syscall.h"
-
- #include "clone-noasan.h"
- #include "cr_options.h"
---- a/scripts/feature-tests.mak
-+++ b/scripts/feature-tests.mak
-@@ -137,19 +137,6 @@ ENTRY(main)
- END(main)
- endef
-
--define FEATURE_TEST_FSCONFIG
--
--#include <linux/mount.h>
--
--int main(void)
--{
-- if (FSCONFIG_CMD_CREATE > 0)
-- return 0;
-- return 0;
--}
--
--endef
--
- define FEATURE_TEST_NFTABLES_LIB_API_0
-
- #include <string.h>
-
---- a/Makefile.config
-+++ b/Makefile.config
-@@ -70,7 +70,7 @@ export DEFINES += $(FEATURE_DEFINES)
- export CFLAGS += $(FEATURE_DEFINES)
-
- FEATURES_LIST := TCP_REPAIR STRLCPY STRLCAT PTRACE_PEEKSIGINFO \
-- SETPROCTITLE_INIT MEMFD TCP_REPAIR_WINDOW FSCONFIG MEMFD_CREATE OPENAT2
-+ SETPROCTITLE_INIT MEMFD TCP_REPAIR_WINDOW MEMFD_CREATE OPENAT2
-
- # $1 - config name
- define gen-feature-test
diff --git a/sys-process/criu/files/criu-3.18-buildsystem.patch
b/sys-process/criu/files/criu-3.18-buildsystem.patch
deleted file mode 100644
index 5a4d41a3840d..000000000000
--- a/sys-process/criu/files/criu-3.18-buildsystem.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/Makefile.config b/Makefile.config
-index 270ec61c0..eed38626e 100644
---- a/Makefile.config
-+++ b/Makefile.config
-@@ -5,9 +5,6 @@ include scripts/feature-tests.mak
- ifeq ($(call try-cc,$(FEATURE_TEST_LIBBSD_DEV),-lbsd),true)
- LIBS_FEATURES += -lbsd
- FEATURE_DEFINES += -DCONFIG_HAS_LIBBSD
--else
-- $(info Note: Building without setproctitle() and strlcpy() support.)
-- $(info $(info) To enable these features, please install
libbsd-devel (RPM) / libbsd-dev (DEB).)
- endif
-
- ifeq ($(call pkg-config-check,libselinux),y)
-@@ -33,8 +30,6 @@ ifeq ($(NO_GNUTLS)x$(call pkg-config-check,gnutls),xy)
- LIBS_FEATURES += -lgnutls
- export CONFIG_GNUTLS := y
- FEATURE_DEFINES += -DCONFIG_GNUTLS
--else
-- $(info Note: Building without GnuTLS support)
- endif
-
- ifeq ($(call pkg-config-check,libnftables),y)
-@@ -49,9 +44,6 @@ ifeq ($(call pkg-config-check,libnftables),y)
- $(warning Warn: you have libnftables installed but it has
incompatible API)
- $(warning Warn: Building without nftables support)
- endif
--else
-- $(warning Warn: you have no libnftables installed)
-- $(warning Warn: Building without nftables support)
- endif
-
- export LIBS += $(LIBS_FEATURES)
-diff --git a/lib/Makefile b/lib/Makefile
-index ff540fb75..dcac4b1ac 100644
---- a/lib/Makefile
-+++ b/lib/Makefile
-@@ -54,10 +54,6 @@ install: lib-c lib-a lib-py crit/crit lib/c/criu.pc.in
- $(Q) mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
- $(Q) sed -e 's,@version@,$(CRIU_VERSION),' -e 's,@libdir@,$(LIBDIR),'
-e 's,@includedir@,$(dir $(INCLUDEDIR)/criu/),' lib/c/criu.pc.in > lib/c/criu.pc
- $(Q) install -m 644 lib/c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
--ifeq ($(PYTHON),python3)
-- $(E) " INSTALL " crit
-- $(Q) $(PYTHON) -m pip install --upgrade --force-reinstall
--prefix=$(DESTDIR)$(PREFIX) ./crit
--endif
- .PHONY: install
-
- uninstall:
-@@ -69,8 +65,4 @@ uninstall:
- $(Q) $(RM) $(addprefix $(DESTDIR)$(INCLUDEDIR)/criu/,$(notdir
$(UAPI_HEADERS)))
- $(E) " UNINSTALL" pkgconfig/criu.pc
- $(Q) $(RM) $(addprefix $(DESTDIR)$(LIBDIR)/pkgconfig/,criu.pc)
--ifeq ($(PYTHON),python3)
-- $(E) " UNINSTALL" crit
-- $(Q) $(PYTHON) ./scripts/uninstall_module.py
--prefix=$(DESTDIR)$(PREFIX) crit
--endif
- .PHONY: uninstall