* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2015-12-08 11:39 Yixun Lan
0 siblings, 0 replies; 13+ messages in thread
From: Yixun Lan @ 2015-12-08 11:39 UTC (permalink / raw
To: gentoo-commits
commit: 99e2622db706cdda6a4e23b18bc5fb0d2a665fef
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 8 11:38:26 2015 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Dec 8 11:38:26 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99e2622d
sys-process/criu: version bump to 1.8
Package-Manager: portage-2.2.24
sys-process/criu/Manifest | 1 +
sys-process/criu/criu-1.8.ebuild | 72 ++++++++++++++++++++++++++
sys-process/criu/files/criu-1.8-makefile.patch | 25 +++++++++
3 files changed, 98 insertions(+)
diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
index 03a83ef..6e51d1a 100644
--- a/sys-process/criu/Manifest
+++ b/sys-process/criu/Manifest
@@ -1,2 +1,3 @@
DIST criu-1.6.1.tar.bz2 484598 SHA256 c74810383b7e524be0d909b9a6c1805e0887ac93cf1bfa28f00a87f395879e18 SHA512 59de498035970decc5181c3e464ccf686fce34e9fa5285d0c6777849013b8441a4338ef7f89339953ff83dcaf1b7e95dbbd54432f61a28665fbde979df5e31e8 WHIRLPOOL 07fa8490bca046a17476b59e375a287dacbb13c1a99ac0a05166c5925d997748ca506c1cf3bab2bdae832010f6d87e7aa6f4b4371ce7c7d630120a0f47f1ae23
DIST criu-1.7.2.tar.bz2 508012 SHA256 f5d377fd2a3c8824c592f6c27147cb4d37333ca0ce8b9c6e85a8b7cd8479b21d SHA512 3e35d90b8cd66b96df193b37907825fbf785eea332146c767b267cbda5b6e1ae6a0d5570945990e4288f6406d8507f6c33a792c5db232cbaf396342a65b53de3 WHIRLPOOL 164cbc9d6a4969e6116644bded88b9aec8a9bc0fb737e69eaacd641376db7d274598ff3647a912ab19155d4097de8a1eaa5ea82642b4f3ba93c01b4a6725493d
+DIST criu-1.8.tar.bz2 534200 SHA256 d1d6693d23181b1cd7378d77c142e41bcac3cb2ae5c71ea4c5b7de01f65575bb SHA512 de3f63613124606be08e5323f465c63811c35c457f4b1a311434aeb02590ebf652845b727b9e10b8a9eb9402c97e772ff044135bec7797cc6e4ad972efc9172d WHIRLPOOL 2f2d18f5fbd1608acfd6ce9e1283cf05a1574b2a141cd4cf29bcacc370ed0bfce488187e40250edeb396daf8fc38f2a2e960ffd8773511a82eebce3a74663e9f
diff --git a/sys-process/criu/criu-1.8.ebuild b/sys-process/criu/criu-1.8.ebuild
new file mode 100644
index 0000000..120c6da
--- /dev/null
+++ b/sys-process/criu/criu-1.8.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs linux-info flag-o-matic
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="http://criu.org/"
+SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="setproctitle"
+
+RDEPEND="dev-libs/protobuf-c
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto"
+
+CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
+ ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
+
+RESTRICT="test"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.3.1-flags.patch
+ epatch "${FILESDIR}"/${PN}-1.8-makefile.patch
+ epatch "${FILESDIR}"/${PN}-1.7-automagic-libbsd.patch
+}
+
+criu_arch() {
+ # criu infers the arch from $(uname -m). We never want this to happen.
+ case ${ARCH} in
+ amd64) echo "x86_64";;
+ arm64) echo "aarch64";;
+ x86) echo "i386";;
+ *) echo "${ARCH}";;
+ esac
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ all docs
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ install
+
+ dodoc CREDITS README.md
+}
diff --git a/sys-process/criu/files/criu-1.8-makefile.patch b/sys-process/criu/files/criu-1.8-makefile.patch
new file mode 100644
index 0000000..2c1921f
--- /dev/null
+++ b/sys-process/criu/files/criu-1.8-makefile.patch
@@ -0,0 +1,25 @@
+diff --git a/Makefile.inc b/Makefile.inc
+index 5f0a552..4abc9ab 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -15,16 +15,11 @@ PREFIX ?= /usr/local
+ SBINDIR ?= $(PREFIX)/sbin
+ MANDIR ?= $(PREFIX)/share/man
+ SYSTEMDUNITDIR ?= $(PREFIX)/lib/systemd/system/
+-LOGROTATEDIR ?= $(PREFIX)/etc/logrotate.d/
+-LIBDIR ?= $(PREFIX)/lib
+-# For recent Debian/Ubuntu with multiarch support
+-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture \
+- -qDEB_HOST_MULTIARCH 2>/dev/null)
+-ifneq "$(DEB_HOST_MULTIARCH)" ""
+-LIBDIR ?= $(PREFIX)/lib/$(DEB_HOST_MULTIARCH)
+-# For most other systems
+-else ifeq "$(shell uname -m)" "x86_64"
++LOGROTATEDIR ?= $(SYSCONFDIR)/etc/logrotate.d/
++ifeq "$(shell uname -m)" "x86_64"
+ LIBDIR ?= $(PREFIX)/lib64
++else
++LIBDIR ?= $(PREFIX)/lib
+ endif
+
+ INCLUDEDIR ?= $(PREFIX)/include/criu
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2016-11-23 10:04 Yixun Lan
0 siblings, 0 replies; 13+ messages in thread
From: Yixun Lan @ 2016-11-23 10:04 UTC (permalink / raw
To: gentoo-commits
commit: 6369c31cbec6e0f4fde716eec69757801817c795
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 10:04:14 2016 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 10:04:55 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6369c31c
sys-process/criu: version bump
Package-Manager: portage-2.3.2
sys-process/criu/Manifest | 1 +
sys-process/criu/criu-2.8.ebuild | 96 ++++++++++++++++++++++
.../criu/files/criu-2.8-automagic-libbsd.patch | 17 ++++
3 files changed, 114 insertions(+)
diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
index 586fcb2..4384ba9 100644
--- a/sys-process/criu/Manifest
+++ b/sys-process/criu/Manifest
@@ -1,3 +1,4 @@
DIST criu-2.5.tar.bz2 605226 SHA256 d2a9ffec0b659c3d3a71e1d473e95e36b208b2563f136ce8f471ff9600fcc51a SHA512 ccf942005ff3b2a567726ddb8aa44048c130f1adf6e2cbdf48e919043c84a4e1c03ad0ec34b44263e5764bea62807a2cc0fa1135b929ad3166fb9486c2880570 WHIRLPOOL 9896fe45d4516a73e6b7c403a044d25902ed4a9000b0a0a053ff9d52c053adfb58c8ce0225b9841bc7e2f38de6a8e4fc6d3073d878ea5b09b81cc89cba91de62
DIST criu-2.6.tar.bz2 614488 SHA256 b85b50296175b1751fa2b26936cbcf5041d08a9fb49c32cb0f2b590e82dea322 SHA512 37c5a207803213e4a98c2ea1b8f781f6bee2d7fb3c004fae4db5c56c64f61ff3177ad3fb314d1225cab4723e05900f55fc4ab466c11e7c9f9a4921634bbf90c5 WHIRLPOOL 5443c16af70b383d935318a9c15f9359d4f69de272533c0f713a2015718dec6f64cad59173664458a0fffc224a8f47b3c846d8cb66ce813f59ba6c32177effa4
DIST criu-2.7.tar.bz2 618653 SHA256 c9aae64a4d2a6e881225ec14a00527aef228171a11227034b6322c126c2ece04 SHA512 fb80c3d48116489775e23231e93e6385614b57bd3710a2650c540090c3f2464d3a337a43c2d1f6e6a3d1360ca09adaa76cb6298f411add5fba998f3c3a323ed9 WHIRLPOOL 01c5d190691839e1123bc48da6c9add76bab0b6fdb87e840555b92833a9d8605c895fe9f0e6595c7d289d02955ae05b3933fa92a50b73d5b755f304321c4ec8a
+DIST criu-2.8.tar.bz2 623257 SHA256 54d77ee2bd31fb900395eeeda8cd653b334dbeb6594f3c3220d8c9e9f55d21f6 SHA512 cc85cec1fd9dc543e2ab24356f33424bd3b962db6da273db85cd1f1e21d08b12d2b937fe673d369b2d2e2b2aaacb4967e00b67ea811f5318028522a55a892454 WHIRLPOOL 39d083f6d3197c9c8ee52b430b053ff372df0860e28850a4893e19ab9721e562a604adac0d8ecb9529ff7931e7ea05b10e771d187f9ed908b70916530f951fad
diff --git a/sys-process/criu/criu-2.8.ebuild b/sys-process/criu/criu-2.8.ebuild
new file mode 100644
index 00000000..343f811
--- /dev/null
+++ b/sys-process/criu/criu-2.8.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils toolchain-funcs linux-info flag-o-matic python-r1 python-utils-r1
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="http://criu.org/"
+SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="python setproctitle"
+
+RDEPEND="dev-libs/protobuf-c
+ dev-libs/libnl:3
+ sys-libs/libcap
+ python? ( ${PYTHON_DEPS} )
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto"
+RDEPEND="${RDEPEND}
+ python? (
+ dev-libs/protobuf[python,${PYTHON_USEDEP}]
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ )"
+
+CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
+ ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
+ "${FILESDIR}"/2.4/${PN}-2.4-makefile.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
+ "${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
+ "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-aarch64.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";;
+ *) echo "${ARCH}";;
+ esac
+}
+
+src_compile() {
+ RAW_LDFLAGS="$(raw-ldflags)" emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 DEBUG=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ PYCRIU=$(usex python) \
+ all docs
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+install_crit() {
+ "${PYTHON:-python}" ../scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/"
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+
+ dodoc CREDITS README.md
+
+ if use python ; then
+ cd lib
+ python_foreach_impl install_crit
+ fi
+}
diff --git a/sys-process/criu/files/criu-2.8-automagic-libbsd.patch b/sys-process/criu/files/criu-2.8-automagic-libbsd.patch
new file mode 100644
index 00000000..54781ea
--- /dev/null
+++ b/sys-process/criu/files/criu-2.8-automagic-libbsd.patch
@@ -0,0 +1,17 @@
+diff --git a/Makefile.config b/Makefile.config
+index e0d49d2..d1b2b9d 100644
+--- a/Makefile.config
++++ b/Makefile.config
+@@ -2,10 +2,12 @@ include $(__nmk_dir)utils.mk
+ include $(__nmk_dir)msg.mk
+ include $(SRC_DIR)/scripts/feature-tests.mak
+
++ifeq ($(SETPROCTITLE),yes)
+ ifeq ($(call try-cc,$(FEATURE_TEST_LIBBSD_DEV),-lbsd),true)
+ LIBS_FEATURES += -lbsd
+ FEATURE_DEFINES += -DCONFIG_HAS_LIBBSD
+ endif
++endif
+
+ ifeq ($(call pkg-config-check,libselinux),y)
+ LIBS_FEATURES += -lselinux
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2016-12-07 5:28 Mike Frysinger
0 siblings, 0 replies; 13+ messages in thread
From: Mike Frysinger @ 2016-12-07 5:28 UTC (permalink / raw
To: gentoo-commits
commit: 94e0974c2fa5702886fdf83a3a24dd18f77c3a6a
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 7 05:27:51 2016 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Wed Dec 7 05:27:51 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94e0974c
sys-process/criu: fix build w/newer glibc #580454
sys-process/criu/criu-2.8.ebuild | 1 +
sys-process/criu/files/criu-2.8-sysmacros.patch | 98 +++++++++++++++++++++++++
2 files changed, 99 insertions(+)
diff --git a/sys-process/criu/criu-2.8.ebuild b/sys-process/criu/criu-2.8.ebuild
index 343f811..b16c810 100644
--- a/sys-process/criu/criu-2.8.ebuild
+++ b/sys-process/criu/criu-2.8.ebuild
@@ -43,6 +43,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
"${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
"${FILESDIR}"/2.3/${PN}-2.3-aarch64.patch
+ "${FILESDIR}"/${P}-sysmacros.patch #580454
)
criu_arch() {
diff --git a/sys-process/criu/files/criu-2.8-sysmacros.patch b/sys-process/criu/files/criu-2.8-sysmacros.patch
new file mode 100644
index 00000000..68bba80
--- /dev/null
+++ b/sys-process/criu/files/criu-2.8-sysmacros.patch
@@ -0,0 +1,98 @@
+https://bugs.gentoo.org/580454
+https://github.com/xemul/criu/pull/257
+
+From 6913c0004eaa4fd11bf3efc8c37fb05108cf18ee Mon Sep 17 00:00:00 2001
+From: Yixun Lan <dlan@gentoo.org>
+Date: Wed, 7 Dec 2016 00:24:42 -0500
+Subject: [PATCH] include sys/sysmacros.h for minor/major/makedev funcs
+
+Since glibc is moving away from implicitly including sys/sysmacros.h
+all the time via sys/types.h, include the header directly in more
+places. This seems to cover most makedev/major/minor usage.
+
+Signed-off-by: Yixun Lan <dlan@gentoo.org>
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ criu/file-lock.c | 1 +
+ criu/include/util.h | 1 +
+ criu/kerndat.c | 1 +
+ criu/proc_parse.c | 1 +
+ test/zdtm/lib/fs.h | 1 +
+ test/zdtm/static/console.c | 1 +
+ 6 files changed, 6 insertions(+)
+
+diff --git a/criu/file-lock.c b/criu/file-lock.c
+index 1ab1e5886965..11d8a194937a 100644
+--- a/criu/file-lock.c
++++ b/criu/file-lock.c
+@@ -5,6 +5,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+
+ #include "cr_options.h"
+ #include "imgset.h"
+diff --git a/criu/include/util.h b/criu/include/util.h
+index 8eaee33391c5..1aa40e863acb 100644
+--- a/criu/include/util.h
++++ b/criu/include/util.h
+@@ -10,6 +10,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/statfs.h>
++#include <sys/sysmacros.h>
+ #include <dirent.h>
+
+ #include "int.h"
+diff --git a/criu/kerndat.c b/criu/kerndat.c
+index f9675bd7ec1d..aeef1b7f6640 100644
+--- a/criu/kerndat.c
++++ b/criu/kerndat.c
+@@ -7,6 +7,7 @@
+ #include <sys/mman.h>
+ #include <errno.h>
+ #include <sys/syscall.h>
++#include <sys/sysmacros.h>
+
+ #include "int.h"
+ #include "log.h"
+diff --git a/criu/proc_parse.c b/criu/proc_parse.c
+index 3f84cdaad99a..a86d31769ded 100644
+--- a/criu/proc_parse.c
++++ b/criu/proc_parse.c
+@@ -9,6 +9,7 @@
+ #include <string.h>
+ #include <ctype.h>
+ #include <linux/fs.h>
++#include <sys/sysmacros.h>
+
+ #include "types.h"
+ #include "common/list.h"
+diff --git a/test/zdtm/lib/fs.h b/test/zdtm/lib/fs.h
+index 972c49b4a068..972b15abad0c 100644
+--- a/test/zdtm/lib/fs.h
++++ b/test/zdtm/lib/fs.h
+@@ -6,6 +6,7 @@
+ #endif
+
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+
+ #include <limits.h>
+
+diff --git a/test/zdtm/static/console.c b/test/zdtm/static/console.c
+index a86b14639729..41246aea0298 100644
+--- a/test/zdtm/static/console.c
++++ b/test/zdtm/static/console.c
+@@ -8,6 +8,7 @@
+
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+
+ #include "zdtmtst.h"
+
+--
+2.11.0.rc2
+
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2019-07-29 2:43 Matthias Maier
0 siblings, 0 replies; 13+ messages in thread
From: Matthias Maier @ 2019-07-29 2:43 UTC (permalink / raw
To: gentoo-commits
commit: a513ac76630b5c4dfe3b37d8757665292d0be101
Author: Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 29 02:41:45 2019 +0000
Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Mon Jul 29 02:43:12 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a513ac76
sys-process/criu: fix build
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>
sys-process/criu/criu-3.12.ebuild | 3 +--
sys-process/criu/files/criu-3.12-automagic-libbsd.patch | 13 +++++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/sys-process/criu/criu-3.12.ebuild b/sys-process/criu/criu-3.12.ebuild
index 09d8af6c2b8..9001e1cf751 100644
--- a/sys-process/criu/criu-3.12.ebuild
+++ b/sys-process/criu/criu-3.12.ebuild
@@ -46,8 +46,7 @@ RESTRICT="test"
PATCHES=(
"${FILESDIR}"/2.2/${PN}-2.2-flags.patch
"${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
- "${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
- "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
+ "${FILESDIR}"/${PN}-3.12-automagic-libbsd.patch
)
criu_arch() {
diff --git a/sys-process/criu/files/criu-3.12-automagic-libbsd.patch b/sys-process/criu/files/criu-3.12-automagic-libbsd.patch
new file mode 100644
index 00000000000..7794f82e519
--- /dev/null
+++ b/sys-process/criu/files/criu-3.12-automagic-libbsd.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.config b/Makefile.config
+index a853705..27bb91f 100644
+--- a/Makefile.config
++++ b/Makefile.config
+@@ -2,7 +2,7 @@ include $(__nmk_dir)utils.mk
+ include $(__nmk_dir)msg.mk
+ include scripts/feature-tests.mak
+
+-ifeq ($(call try-cc,$(FEATURE_TEST_LIBBSD_DEV),-lbsd),true)
++ifeq ($(SETPROCTITLE)$(call try-cc,$(FEATURE_TEST_LIBBSD_DEV),-lbsd),yestrue)
+ LIBS_FEATURES += -lbsd
+ FEATURE_DEFINES += -DCONFIG_HAS_LIBBSD
+ else
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2020-04-25 11:29 Sergei Trofimovich
0 siblings, 0 replies; 13+ messages in thread
From: Sergei Trofimovich @ 2020-04-25 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 58bfbf51627caf280e9b644e5df8f4f0f35ffd54
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 25 11:27:14 2020 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Apr 25 11:29:37 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58bfbf51
sys-process/criu: tweak for gcc-10, bug #707942
Closes: https://bugs.gentoo.org/707942
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
sys-process/criu/criu-3.12.ebuild | 3 +-
sys-process/criu/files/criu-3.12-gcc-10.patch | 76 +++++++++++++++++++++++++++
2 files changed, 78 insertions(+), 1 deletion(-)
diff --git a/sys-process/criu/criu-3.12.ebuild b/sys-process/criu/criu-3.12.ebuild
index 9321be89fc0..7b5158f5f9b 100644
--- a/sys-process/criu/criu-3.12.ebuild
+++ b/sys-process/criu/criu-3.12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -47,6 +47,7 @@ PATCHES=(
"${FILESDIR}"/2.2/${PN}-2.2-flags.patch
"${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
"${FILESDIR}"/${PN}-3.12-automagic-libbsd.patch
+ "${FILESDIR}"/${PN}-3.12-gcc-10.patch # backport
)
criu_arch() {
diff --git a/sys-process/criu/files/criu-3.12-gcc-10.patch b/sys-process/criu/files/criu-3.12-gcc-10.patch
new file mode 100644
index 00000000000..ff277b5b22d
--- /dev/null
+++ b/sys-process/criu/files/criu-3.12-gcc-10.patch
@@ -0,0 +1,76 @@
+https://bugs.gentoo.org/707942
+
+From 10d9dcdb6e2fbe4646ff3f27cd35376ebaeeb0f9 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sun, 2 Feb 2020 18:45:59 +0000
+Subject: [PATCH] criu: fix build failure against gcc-10
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On gcc-10 (and gcc-9 -fno-common) build fails as:
+
+```
+ld: criu/arch/x86/crtools.o:criu/include/cr_options.h:159:
+ multiple definition of `rpc_cfg_file'; criu/arch/x86/cpu.o:criu/include/cr_options.h:159: first defined here
+make[2]: *** [scripts/nmk/scripts/build.mk:164: criu/arch/x86/crtools.built-in.o] Error 1
+```
+
+gcc-10 will change the default from -fcommon to fno-common:
+https://gcc.gnu.org/PR85678.
+
+The error also happens if CFLAGS=-fno-common passed explicitly.
+
+Reported-by: Toralf Förster
+Bug: https://bugs.gentoo.org/707942
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ criu/config.c | 1 +
+ criu/include/cr_options.h | 2 +-
+ criu/include/pstree.h | 2 +-
+ criu/include/tun.h | 2 +-
+ 4 files changed, 4 insertions(+), 3 deletions(-)
+
+--- a/criu/config.c
++++ b/criu/config.c
+@@ -30,6 +30,7 @@
+ #include "common/xmalloc.h"
+
+ struct cr_options opts;
++char *rpc_cfg_file;
+
+ static int count_elements(char **to_count)
+ {
+--- a/criu/include/cr_options.h
++++ b/criu/include/cr_options.h
+@@ -156,7 +156,7 @@ struct cr_options {
+ };
+
+ extern struct cr_options opts;
+-char *rpc_cfg_file;
++extern char *rpc_cfg_file;
+
+ extern int parse_options(int argc, char **argv, bool *usage_error, bool *has_exec_cmd, int state);
+ extern int check_options(void);
+--- a/criu/include/pstree.h
++++ b/criu/include/pstree.h
+@@ -42,7 +42,7 @@ enum {
+ };
+ #define FDS_EVENT (1 << FDS_EVENT_BIT)
+
+-struct pstree_item *current;
++extern struct pstree_item *current;
+
+ struct rst_info;
+ /* See alloc_pstree_item() for details */
+--- a/criu/include/tun.h
++++ b/criu/include/tun.h
+@@ -5,7 +5,7 @@
+ #define TUN_MINOR 200
+ #endif
+
+-struct ns_id *ns;
++extern struct ns_id *ns;
+
+ #include <linux/netlink.h>
+
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2021-09-05 5:57 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2021-09-05 5:57 UTC (permalink / raw
To: gentoo-commits
commit: 24ba952b3ff906ee79987fcfb100ca495a23675d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 5 05:57:18 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 5 05:57:18 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24ba952b
sys-process/criu: add patch for >=dev-libs/protobuf-c-1.4.0
Could be adapted to earlier versions in theory.
Closes: https://bugs.gentoo.org/809092
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-process/criu/criu-3.15-r1.ebuild | 140 +++++++++++++++++
.../criu/files/criu-3.15-protobuf-c-1.4.0.patch | 168 +++++++++++++++++++++
2 files changed, 308 insertions(+)
diff --git a/sys-process/criu/criu-3.15-r1.ebuild b/sys-process/criu/criu-3.15-r1.ebuild
new file mode 100644
index 00000000000..bb76d9a19d3
--- /dev/null
+++ b/sys-process/criu/criu-3.15-r1.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8,9} )
+
+inherit toolchain-funcs linux-info python-r1
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="https://criu.org/"
+SRC_URI="https://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+IUSE="doc selinux setproctitle static-libs"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/protobuf-c-1.4.0:=
+ dev-libs/libnl:3
+ net-libs/libnet:1.1
+ sys-libs/libcap
+ selinux? ( sys-libs/libselinux )
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ )"
+RDEPEND="${RDEPEND}
+ dev-python/protobuf-python[${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"
+
+PATCHES=(
+ "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
+ "${FILESDIR}"/${PN}-3.12-automagic-libbsd.patch
+ "${FILESDIR}"/${PN}-3.15-pkg-config.patch
+ "${FILESDIR}"/${PN}-3.15-protobuf-c-1.4.0.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
+
+ if ! use selinux; then
+ sed \
+ -e 's:libselinux:no_libselinux:g' \
+ -i Makefile.config || die
+ fi
+
+ use doc || sed -i 's_\(install: \)install-man _\1_g' Makefile.install
+}
+
+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
+
+ python_setup
+}
+
+src_compile() {
+ local target="all $(usex doc 'docs' '')"
+ emake \
+ HOSTCC="$(tc-getBUILD_CC)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ AR="$(tc-getAR)" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ PYTHON="${EPYTHON%.?}" \
+ FULL_PYTHON="${PYTHON%.?}" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 DEBUG=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ ${target}
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+install_crit() {
+ "${EPYTHON}" scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/" || die
+ python_optimize
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ PYTHON="${EPYTHON%.?}" \
+ FULL_PYTHON="${PYTHON%.?}" \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ V=1 WERROR=0 DEBUG=0 \
+ install
+
+ use doc && dodoc CREDITS README.md
+
+ python_foreach_impl install_crit
+
+ if ! use static-libs; then
+ find "${D}" -name "*.a" -delete || die
+ fi
+}
diff --git a/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch b/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
new file mode 100644
index 00000000000..ea0b9134c68
--- /dev/null
+++ b/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
@@ -0,0 +1,168 @@
+https://bugs.gentoo.org/809092
+https://github.com/checkpoint-restore/criu/commit/1c25914a5dd1eb385937dffdd85901c3f5e39b8c
+
+From 1c25914a5dd1eb385937dffdd85901c3f5e39b8c Mon Sep 17 00:00:00 2001
+From: Zeyad Yasser <zeyady98@gmail.com>
+Date: Thu, 22 Jul 2021 11:39:34 +0200
+Subject: [PATCH] protobuf: remove leading underscores from protobuf structs
+
+Fixes: #1560
+
+The latest protobuf-c compiler breaks CRIU because they removed
+leading underscores from structs in 1.4.0.
+
+This replaces those definitions with the standard generated structs.
+
+v2: remove struct _VmaEntry, struct _CredsEntry and struct _CoreEntry
+
+Signed-off-by: Zeyad Yasser <zeyady98@gmail.com>
+---
+ criu/include/irmap.h | 8 +++++---
+ criu/include/parasite-syscall.h | 8 +++-----
+ criu/include/pstree.h | 2 +-
+ criu/include/rst_info.h | 5 ++---
+ criu/include/shmem.h | 1 -
+ criu/mem.c | 2 +-
+ lib/c/criu.h | 3 ++-
+ 7 files changed, 14 insertions(+), 15 deletions(-)
+
+diff --git a/criu/include/irmap.h b/criu/include/irmap.h
+index 033f71e372..188d753f4d 100644
+--- a/criu/include/irmap.h
++++ b/criu/include/irmap.h
+@@ -1,13 +1,15 @@
+ #ifndef __CR_IRMAP__H__
+ #define __CR_IRMAP__H__
++
++#include "images/fh.pb-c.h"
++
+ char *irmap_lookup(unsigned int s_dev, unsigned long i_ino);
+-struct _FhEntry;
+ int irmap_queue_cache(unsigned int dev, unsigned long ino,
+- struct _FhEntry *fh);
++ FhEntry *fh);
+ int irmap_predump_prep(void);
+ int irmap_predump_run(void);
+ int check_open_handle(unsigned int s_dev, unsigned long i_ino,
+- struct _FhEntry *f_handle);
++ FhEntry *f_handle);
+ int irmap_load_cache(void);
+ int irmap_scan_path_add(char *path);
+ #endif
+diff --git a/criu/include/parasite-syscall.h b/criu/include/parasite-syscall.h
+index c86a724fd1..afba95a9e7 100644
+--- a/criu/include/parasite-syscall.h
++++ b/criu/include/parasite-syscall.h
+@@ -11,8 +11,6 @@ struct parasite_dump_misc;
+ struct parasite_drain_fd;
+ struct vm_area_list;
+ struct pstree_item;
+-struct _CredsEntry;
+-struct _CoreEntry;
+ struct list_head;
+ struct cr_imgset;
+ struct fd_opts;
+@@ -31,11 +29,11 @@ extern int parasite_dump_posix_timers_seized(struct proc_posix_timers_stat *proc
+ struct parasite_ctl *ctl, struct pstree_item *);
+
+ extern int parasite_dump_misc_seized(struct parasite_ctl *ctl, struct parasite_dump_misc *misc);
+-extern int parasite_dump_creds(struct parasite_ctl *ctl, struct _CredsEntry *ce);
+-extern int parasite_dump_thread_leader_seized(struct parasite_ctl *ctl, int pid, struct _CoreEntry *core);
++extern int parasite_dump_creds(struct parasite_ctl *ctl, CredsEntry *ce);
++extern int parasite_dump_thread_leader_seized(struct parasite_ctl *ctl, int pid, CoreEntry *core);
+ extern int parasite_dump_thread_seized(struct parasite_thread_ctl *tctl,
+ struct parasite_ctl *ctl, int id,
+- struct pid *tid, struct _CoreEntry *core);
++ struct pid *tid, CoreEntry *core);
+ extern int dump_thread_core(int pid, CoreEntry *core,
+ const struct parasite_dump_thread *dt);
+
+diff --git a/criu/include/pstree.h b/criu/include/pstree.h
+index 61ab0ce0eb..17d22e791e 100644
+--- a/criu/include/pstree.h
++++ b/criu/include/pstree.h
+@@ -113,7 +113,7 @@ extern int prepare_task_entries(void);
+ extern int prepare_dummy_task_state(struct pstree_item *pi);
+
+ extern int get_task_ids(struct pstree_item *);
+-extern struct _TaskKobjIdsEntry *root_ids;
++extern TaskKobjIdsEntry *root_ids;
+
+ extern void core_entry_free(CoreEntry *core);
+ extern CoreEntry *core_entry_alloc(int alloc_thread_info, int alloc_tc);
+diff --git a/criu/include/rst_info.h b/criu/include/rst_info.h
+index 3283849e44..3dc119a931 100644
+--- a/criu/include/rst_info.h
++++ b/criu/include/rst_info.h
+@@ -5,6 +5,7 @@
+ #include "common/list.h"
+ #include "vma.h"
+ #include "kerndat.h"
++#include "images/mm.pb-c.h"
+
+ struct task_entries {
+ int nr_threads, nr_tasks, nr_helpers;
+@@ -25,8 +26,6 @@ struct fdt {
+ futex_t fdt_lock;
+ };
+
+-struct _MmEntry;
+-
+ struct rst_info {
+ struct list_head fds;
+
+@@ -40,7 +39,7 @@ struct rst_info {
+ struct fdt *fdt;
+
+ struct vm_area_list vmas;
+- struct _MmEntry *mm;
++ MmEntry *mm;
+ struct list_head vma_io;
+ unsigned int pages_img_id;
+
+diff --git a/criu/include/shmem.h b/criu/include/shmem.h
+index 9afdb799af..798e28f347 100644
+--- a/criu/include/shmem.h
++++ b/criu/include/shmem.h
+@@ -5,7 +5,6 @@
+ #include "common/lock.h"
+ #include "images/vma.pb-c.h"
+
+-struct _VmaEntry;
+ struct vma_area;
+
+ extern int collect_shmem(int pid, struct vma_area *vma);
+diff --git a/criu/mem.c b/criu/mem.c
+index 9fabe4c470..b0a76e4da9 100644
+--- a/criu/mem.c
++++ b/criu/mem.c
+@@ -1230,7 +1230,7 @@ static int restore_priv_vma_content(struct pstree_item *t, struct page_read *pr)
+
+ static int maybe_disable_thp(struct pstree_item *t, struct page_read *pr)
+ {
+- struct _MmEntry *mm = rsti(t)->mm;
++ MmEntry *mm = rsti(t)->mm;
+
+ /*
+ * There is no need to disable it if the page read doesn't
+diff --git a/lib/c/criu.h b/lib/c/criu.h
+index 3d64939584..d2bfbf958c 100644
+--- a/lib/c/criu.h
++++ b/lib/c/criu.h
+@@ -22,6 +22,7 @@
+ #include <stdbool.h>
+
+ #include "version.h"
++#include "rpc.pb-c.h"
+
+ #ifdef __GNUG__
+ extern "C" {
+@@ -112,7 +113,7 @@ void criu_set_pidfd_store_sk(int sk);
+ * some non-existing one is reported.
+ */
+
+-typedef struct _CriuNotify *criu_notify_arg_t;
++typedef CriuNotify *criu_notify_arg_t;
+ void criu_set_notify_cb(int (*cb)(char *action, criu_notify_arg_t na));
+
+ /* Get pid of root task. 0 if not available */
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2021-11-04 21:10 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2021-11-04 21:10 UTC (permalink / raw
To: gentoo-commits
commit: 582a26d6ebc8a93a086e2117dca3f9e712998832
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 4 21:09:38 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 4 21:09:38 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=582a26d6
sys-process/criu: add additional protobuf-c patch
Closes: https://bugs.gentoo.org/809092
Closes: https://bugs.gentoo.org/814056
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-process/criu/{criu-3.15-r1.ebuild => criu-3.15-r2.ebuild} | 0
sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch | 2 ++
2 files changed, 2 insertions(+)
diff --git a/sys-process/criu/criu-3.15-r1.ebuild b/sys-process/criu/criu-3.15-r2.ebuild
similarity index 100%
rename from sys-process/criu/criu-3.15-r1.ebuild
rename to sys-process/criu/criu-3.15-r2.ebuild
diff --git a/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch b/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
index ea0b9134c68..5e57fa08497 100644
--- a/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
+++ b/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
@@ -1,5 +1,7 @@
https://bugs.gentoo.org/809092
+https://bugs.gentoo.org/814056
https://github.com/checkpoint-restore/criu/commit/1c25914a5dd1eb385937dffdd85901c3f5e39b8c
+https://github.com/checkpoint-restore/criu/commit/6a15dbdefa5c23a75eb3d1137681404588a16efa
From 1c25914a5dd1eb385937dffdd85901c3f5e39b8c Mon Sep 17 00:00:00 2001
From: Zeyad Yasser <zeyady98@gmail.com>
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2021-12-01 20:34 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2021-12-01 20:34 UTC (permalink / raw
To: gentoo-commits
commit: 106d32bbb4359104c8b08e5a8f6c55f5830650f1
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 1 20:33:15 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 1 20:34:24 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=106d32bb
sys-process/criu: really add extra protobuf-c hunk
Doh!
Bug: https://bugs.gentoo.org/814056
Closes: https://bugs.gentoo.org/822006
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../{criu-3.15-r2.ebuild => criu-3.15-r3.ebuild} | 0
.../criu/files/criu-3.15-protobuf-c-1.4.0.patch | 24 ++++++++++++++++++++++
2 files changed, 24 insertions(+)
diff --git a/sys-process/criu/criu-3.15-r2.ebuild b/sys-process/criu/criu-3.15-r3.ebuild
similarity index 100%
rename from sys-process/criu/criu-3.15-r2.ebuild
rename to sys-process/criu/criu-3.15-r3.ebuild
diff --git a/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch b/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
index 5e57fa084975..86d9cd31724d 100644
--- a/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
+++ b/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
@@ -168,3 +168,27 @@ index 3d64939584..d2bfbf958c 100644
void criu_set_notify_cb(int (*cb)(char *action, criu_notify_arg_t na));
/* Get pid of root task. 0 if not available */
+From: Radostin Stoyanov <radostin@redhat.com>
+Date: Fri, 3 Sep 2021 14:14:41 +0100
+Subject: [PATCH] lib: install images/rpc.pb-c.h
+
+Since commit 1c25914 compiling crun with libcriu also requires
+/usr/include/criu/rpc.pb-c.h
+
+Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
+---
+ lib/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Makefile b/lib/Makefile
+index f9b66701e0..575a7bad3f 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -1,6 +1,6 @@
+ CRIU_SO := libcriu.so
+ CRIU_A := libcriu.a
+-UAPI_HEADERS := lib/c/criu.h images/rpc.proto criu/include/version.h
++UAPI_HEADERS := lib/c/criu.h images/rpc.proto images/rpc.pb-c.h criu/include/version.h
+
+ #
+ # File to keep track of files installed by setup.py
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2021-12-02 0:17 Patrick McLean
0 siblings, 0 replies; 13+ messages in thread
From: Patrick McLean @ 2021-12-02 0:17 UTC (permalink / raw
To: gentoo-commits
commit: 2cf0d86c1a22dfed20f3dda2601adc96986bca9f
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 2 00:17:10 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Dec 2 00:17:45 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2cf0d86c
sys-process/criu: Version bump to 3.16.1 (bug #827955)
Closes: https://bugs.gentoo.org/827955
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-process/criu/Manifest | 1 +
sys-process/criu/criu-3.16.1.ebuild | 162 +++++++++++++++++++++
.../criu/files/criu-3.16.1-buildsystem.patch | 56 +++++++
sys-process/criu/metadata.xml | 4 +-
4 files changed, 222 insertions(+), 1 deletion(-)
diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
index 84332204a0a5..afc75c58706a 100644
--- a/sys-process/criu/Manifest
+++ b/sys-process/criu/Manifest
@@ -1,2 +1,3 @@
DIST criu-3.14.tar.bz2 881407 BLAKE2B 418412681baf7ec9d3a03afe3860590c857bffcb6c57d01e60b77e85dd5ba2b30deee280c884ba1574665be5fcfd03f3cc058a4b7ae08f66aabe63a80373089b SHA512 97d064c5ffc41daf6e89edd6208b30e4198f313afc6d621d0dc74dadf94c303be70ba448d4e1ced9500f1c65f1bd12206eb88883be398911cc2c995310b17cc6
DIST criu-3.15.tar.bz2 913904 BLAKE2B 2a3c7ad7ac32a407493e8908886d2929606e1dd0a1dd499be75cb954c1c4d60d0c59f0524d173dcdd89fa638e1edcc0c31886262069e3478173648ef09b4c159 SHA512 7bfd32053e47b95d10cdd5e99494bff6a21aa3179518179f8c72e870f0aab960dd76c9f6cb6982e5b881472cf6962eefee3cf7d8ae9128b3379bcaecc937ebbc
+DIST criu-3.16.1.tar.gz 1228535 BLAKE2B 45aa87ee00a18b91474e767dc0326cce6c0942af7771a0c5536751361c171c86ba2065c54587e82b51fd6d7ab116e659324369955086c5237cd7fd26b60d6ce6 SHA512 a558af41f1927a1b1d87f8d11163a5f3d2e4f83a74aba00619b45a6d464d5477a6a0aac3c1b9d9a17e3343a4bf21a3fd6b279b51fa0c347c86c307381a4d0739
diff --git a/sys-process/criu/criu-3.16.1.ebuild b/sys-process/criu/criu-3.16.1.ebuild
new file mode 100644
index 000000000000..ff46a299a4af
--- /dev/null
+++ b/sys-process/criu/criu-3.16.1.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+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"
+IUSE="bpf doc gnutls nftables selinux setproctitle static-libs test"
+
+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:= )
+"
+DEPEND="${COMMON_DEPEND}"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ dev-python/protobuf-python[${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"
+)
+
+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 Makdfile.config to disable automagic deps
+ criu_use selinux
+ criu_use bpf
+ criu_use nftables
+
+ 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/files/criu-3.16.1-buildsystem.patch b/sys-process/criu/files/criu-3.16.1-buildsystem.patch
new file mode 100644
index 000000000000..7b83d1c8fe51
--- /dev/null
+++ b/sys-process/criu/files/criu-3.16.1-buildsystem.patch
@@ -0,0 +1,56 @@
+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/metadata.xml b/sys-process/criu/metadata.xml
index fd89c4dad3f8..bec8a7d57bfc 100644
--- a/sys-process/criu/metadata.xml
+++ b/sys-process/criu/metadata.xml
@@ -10,6 +10,8 @@
<name>Gentoo Virtualization Project</name>
</maintainer>
<use>
- <flag name="setproctitle">Make process titles of service workers to be more verbose</flag>
+ <flag name="setproctitle">Use <pkg>dev-libs/libbsd</pkg> to make process titles of service workers to be more verbose</flag>
+ <flag name="bpf">Add support for BPF programs via <pkg>dev-libs/libbpf</pkg></flag>
+ <flag name="nftables">Add support for <pkg>net-firewall/nftables</pkg></flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2022-05-19 3:33 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2022-05-19 3:33 UTC (permalink / raw
To: gentoo-commits
commit: 2a5e6fa4194077e9d9d3df3596ff84ea10dd91c3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu May 19 03:16:37 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu May 19 03:16:37 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a5e6fa4
sys-process/criu: add 3.17
Closes: https://bugs.gentoo.org/841014
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-process/criu/Manifest | 1 +
sys-process/criu/criu-3.17.ebuild | 164 +++++++++++++++++++++
.../criu/files/criu-3.17-amdgpu-build-fixes.patch | 98 ++++++++++++
3 files changed, 263 insertions(+)
diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
index afc75c58706a..4f343f4a67bd 100644
--- a/sys-process/criu/Manifest
+++ b/sys-process/criu/Manifest
@@ -1,3 +1,4 @@
DIST criu-3.14.tar.bz2 881407 BLAKE2B 418412681baf7ec9d3a03afe3860590c857bffcb6c57d01e60b77e85dd5ba2b30deee280c884ba1574665be5fcfd03f3cc058a4b7ae08f66aabe63a80373089b SHA512 97d064c5ffc41daf6e89edd6208b30e4198f313afc6d621d0dc74dadf94c303be70ba448d4e1ced9500f1c65f1bd12206eb88883be398911cc2c995310b17cc6
DIST criu-3.15.tar.bz2 913904 BLAKE2B 2a3c7ad7ac32a407493e8908886d2929606e1dd0a1dd499be75cb954c1c4d60d0c59f0524d173dcdd89fa638e1edcc0c31886262069e3478173648ef09b4c159 SHA512 7bfd32053e47b95d10cdd5e99494bff6a21aa3179518179f8c72e870f0aab960dd76c9f6cb6982e5b881472cf6962eefee3cf7d8ae9128b3379bcaecc937ebbc
DIST criu-3.16.1.tar.gz 1228535 BLAKE2B 45aa87ee00a18b91474e767dc0326cce6c0942af7771a0c5536751361c171c86ba2065c54587e82b51fd6d7ab116e659324369955086c5237cd7fd26b60d6ce6 SHA512 a558af41f1927a1b1d87f8d11163a5f3d2e4f83a74aba00619b45a6d464d5477a6a0aac3c1b9d9a17e3343a4bf21a3fd6b279b51fa0c347c86c307381a4d0739
+DIST criu-3.17.tar.gz 1321713 BLAKE2B 3bc13a7df0da0a17c74e0c12f07b81fe7f294be4d1980647b64c74e35383416ffbc10e7c04398f307bc68ff701f76a9586ea58825057b0df16b40f6aab3cbd0e SHA512 febae66a7820345c0f335f4a49e64c0af5c8ae5d3a394cc0770881b64eab11ca03ad5872f06b0c4ccd1da844c519268dad3b4f8b260267e6d3f582e80d80f804
diff --git a/sys-process/criu/criu-3.17.ebuild b/sys-process/criu/criu-3.17.ebuild
new file mode 100644
index 000000000000..4ac0facc8cc2
--- /dev/null
+++ b/sys-process/criu/criu-3.17.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+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"
+
+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:= )
+"
+DEPEND="${COMMON_DEPEND}"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ dev-python/protobuf-python[${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"
+)
+
+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 Makdfile.config to disable automagic deps
+ criu_use selinux
+ criu_use bpf
+ criu_use nftables
+
+ 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/files/criu-3.17-amdgpu-build-fixes.patch b/sys-process/criu/files/criu-3.17-amdgpu-build-fixes.patch
new file mode 100644
index 000000000000..913737215e49
--- /dev/null
+++ b/sys-process/criu/files/criu-3.17-amdgpu-build-fixes.patch
@@ -0,0 +1,98 @@
+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 <rstoyanov@fedoraproject.org>
+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 <rstoyanov@fedoraproject.org>
+--- 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 <rstoyanov@fedoraproject.org>
+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 <rstoyanov@fedoraproject.org>
+--- 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
+
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2022-09-03 0:33 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2022-09-03 0:33 UTC (permalink / raw
To: gentoo-commits
commit: 359a6c0eb116c0f9afbf6afa94b7e8936ed5ffc5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 3 00:33:29 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 3 00:33:38 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=359a6c0e
sys-process/criu: add additional glibc-2.36 fix
Closes: https://bugs.gentoo.org/868099
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-process/criu/criu-3.17-r1.ebuild | 1 +
.../criu/files/criu-3.17-glibc-2.36-deux.patch | 99 ++++++++++++++++++++++
2 files changed, 100 insertions(+)
diff --git a/sys-process/criu/criu-3.17-r1.ebuild b/sys-process/criu/criu-3.17-r1.ebuild
index ac5e1722d999..92fb5dbc8119 100644
--- a/sys-process/criu/criu-3.17-r1.ebuild
+++ b/sys-process/criu/criu-3.17-r1.ebuild
@@ -61,6 +61,7 @@ PATCHES=(
"${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() {
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
new file mode 100644
index 000000000000..ca911d82779d
--- /dev/null
+++ b/sys-process/criu/files/criu-3.17-glibc-2.36-deux.patch
@@ -0,0 +1,99 @@
+https://github.com/checkpoint-restore/criu/commit/517c0947050e63aac72f63a3bf373d76264723b9
+https://bugs.gentoo.org/868099
+
+From: Radostin Stoyanov <rstoyanov@fedoraproject.org>
+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 <rstoyanov@fedoraproject.org>
+--- 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. */
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2023-05-01 12:49 Sam James
0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2023-05-01 12:49 UTC (permalink / raw
To: gentoo-commits
commit: 65fbfa15aa71be1fde62e9fcbffbda0b3d69f336
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon May 1 12:48:06 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May 1 12:49:01 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65fbfa15
sys-process/criu: drop 3.15, 3.15-r3, 3.16.1
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-process/criu/Manifest | 2 -
sys-process/criu/criu-3.15-r3.ebuild | 140 ---------------
sys-process/criu/criu-3.15.ebuild | 139 ---------------
sys-process/criu/criu-3.16.1.ebuild | 162 -----------------
sys-process/criu/files/criu-3.15-pkg-config.patch | 141 ---------------
.../criu/files/criu-3.15-protobuf-c-1.4.0.patch | 194 ---------------------
6 files changed, 778 deletions(-)
diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
index 8e3b332bc860..17a9661b07b3 100644
--- a/sys-process/criu/Manifest
+++ b/sys-process/criu/Manifest
@@ -1,3 +1 @@
-DIST criu-3.15.tar.bz2 913904 BLAKE2B 2a3c7ad7ac32a407493e8908886d2929606e1dd0a1dd499be75cb954c1c4d60d0c59f0524d173dcdd89fa638e1edcc0c31886262069e3478173648ef09b4c159 SHA512 7bfd32053e47b95d10cdd5e99494bff6a21aa3179518179f8c72e870f0aab960dd76c9f6cb6982e5b881472cf6962eefee3cf7d8ae9128b3379bcaecc937ebbc
-DIST criu-3.16.1.tar.gz 1228535 BLAKE2B 45aa87ee00a18b91474e767dc0326cce6c0942af7771a0c5536751361c171c86ba2065c54587e82b51fd6d7ab116e659324369955086c5237cd7fd26b60d6ce6 SHA512 a558af41f1927a1b1d87f8d11163a5f3d2e4f83a74aba00619b45a6d464d5477a6a0aac3c1b9d9a17e3343a4bf21a3fd6b279b51fa0c347c86c307381a4d0739
DIST criu-3.17.tar.gz 1321713 BLAKE2B 3bc13a7df0da0a17c74e0c12f07b81fe7f294be4d1980647b64c74e35383416ffbc10e7c04398f307bc68ff701f76a9586ea58825057b0df16b40f6aab3cbd0e SHA512 febae66a7820345c0f335f4a49e64c0af5c8ae5d3a394cc0770881b64eab11ca03ad5872f06b0c4ccd1da844c519268dad3b4f8b260267e6d3f582e80d80f804
diff --git a/sys-process/criu/criu-3.15-r3.ebuild b/sys-process/criu/criu-3.15-r3.ebuild
deleted file mode 100644
index f4108c16202b..000000000000
--- a/sys-process/criu/criu-3.15-r3.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_9 )
-
-inherit toolchain-funcs linux-info python-r1
-
-DESCRIPTION="utility to checkpoint/restore a process tree"
-HOMEPAGE="https://criu.org/"
-SRC_URI="https://download.openvz.org/criu/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 -riscv"
-IUSE="doc selinux setproctitle static-libs"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/protobuf-c-1.4.0:=
- dev-libs/libnl:3
- net-libs/libnet:1.1
- sys-libs/libcap
- selinux? ( sys-libs/libselinux )
- setproctitle? ( dev-libs/libbsd )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- doc? (
- app-text/asciidoc
- app-text/xmlto
- )"
-RDEPEND="${RDEPEND}
- dev-python/protobuf-python[${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"
-
-PATCHES=(
- "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
- "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
- "${FILESDIR}"/${PN}-3.12-automagic-libbsd.patch
- "${FILESDIR}"/${PN}-3.15-pkg-config.patch
- "${FILESDIR}"/${PN}-3.15-protobuf-c-1.4.0.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
-
- if ! use selinux; then
- sed \
- -e 's:libselinux:no_libselinux:g' \
- -i Makefile.config || die
- fi
-
- use doc || sed -i 's_\(install: \)install-man _\1_g' Makefile.install
-}
-
-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
-
- python_setup
-}
-
-src_compile() {
- local target="all $(usex doc 'docs' '')"
- emake \
- HOSTCC="$(tc-getBUILD_CC)" \
- CC="$(tc-getCC)" \
- LD="$(tc-getLD)" \
- AR="$(tc-getAR)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- PYTHON="${EPYTHON%.?}" \
- FULL_PYTHON="${PYTHON%.?}" \
- OBJCOPY="$(tc-getOBJCOPY)" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- ARCH="$(criu_arch)" \
- V=1 WERROR=0 DEBUG=0 \
- SETPROCTITLE=$(usex setproctitle) \
- ${target}
-}
-
-src_test() {
- # root privileges are required to dump all necessary info
- if [[ ${EUID} -eq 0 ]] ; then
- emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
- fi
-}
-
-install_crit() {
- "${EPYTHON}" scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/" || die
- python_optimize
-}
-
-src_install() {
- emake \
- ARCH="$(criu_arch)" \
- PREFIX="${EPREFIX}"/usr \
- PYTHON="${EPYTHON%.?}" \
- FULL_PYTHON="${PYTHON%.?}" \
- LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
- DESTDIR="${D}" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- V=1 WERROR=0 DEBUG=0 \
- install
-
- use doc && dodoc CREDITS README.md
-
- python_foreach_impl install_crit
-
- if ! use static-libs; then
- find "${D}" -name "*.a" -delete || die
- fi
-}
diff --git a/sys-process/criu/criu-3.15.ebuild b/sys-process/criu/criu-3.15.ebuild
deleted file mode 100644
index 283d46ee4859..000000000000
--- a/sys-process/criu/criu-3.15.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_9 )
-
-inherit toolchain-funcs linux-info python-r1
-
-DESCRIPTION="utility to checkpoint/restore a process tree"
-HOMEPAGE="https://criu.org/"
-SRC_URI="https://download.openvz.org/criu/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 -riscv"
-IUSE="doc selinux setproctitle static-libs"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/protobuf-c
- dev-libs/libnl:3
- net-libs/libnet:1.1
- sys-libs/libcap
- selinux? ( sys-libs/libselinux )
- setproctitle? ( dev-libs/libbsd )"
-DEPEND="${RDEPEND}
- doc? (
- app-text/asciidoc
- app-text/xmlto
- )"
-RDEPEND="${RDEPEND}
- dev-python/protobuf-python[${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"
-
-PATCHES=(
- "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
- "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
- "${FILESDIR}"/${PN}-3.12-automagic-libbsd.patch
- "${FILESDIR}"/${PN}-3.15-pkg-config.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
-
- if ! use selinux; then
- sed \
- -e 's:libselinux:no_libselinux:g' \
- -i Makefile.config || die
- fi
-
- use doc || sed -i 's_\(install: \)install-man _\1_g' Makefile.install
-}
-
-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
-
- python_setup
-}
-
-src_compile() {
- local target="all $(usex doc 'docs' '')"
- emake \
- HOSTCC="$(tc-getBUILD_CC)" \
- CC="$(tc-getCC)" \
- LD="$(tc-getLD)" \
- AR="$(tc-getAR)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- PYTHON="${EPYTHON%.?}" \
- FULL_PYTHON="${PYTHON%.?}" \
- OBJCOPY="$(tc-getOBJCOPY)" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- ARCH="$(criu_arch)" \
- V=1 WERROR=0 DEBUG=0 \
- SETPROCTITLE=$(usex setproctitle) \
- ${target}
-}
-
-src_test() {
- # root privileges are required to dump all necessary info
- if [[ ${EUID} -eq 0 ]] ; then
- emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
- fi
-}
-
-install_crit() {
- "${EPYTHON}" scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/" || die
- python_optimize
-}
-
-src_install() {
- emake \
- ARCH="$(criu_arch)" \
- PREFIX="${EPREFIX}"/usr \
- PYTHON="${EPYTHON%.?}" \
- FULL_PYTHON="${PYTHON%.?}" \
- LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
- DESTDIR="${D}" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- V=1 WERROR=0 DEBUG=0 \
- install
-
- use doc && dodoc CREDITS README.md
-
- python_foreach_impl install_crit
-
- if ! use static-libs; then
- find "${D}" -name "*.a" -delete || die
- fi
-}
diff --git a/sys-process/criu/criu-3.16.1.ebuild b/sys-process/criu/criu-3.16.1.ebuild
deleted file mode 100644
index 7c36938828cc..000000000000
--- a/sys-process/criu/criu-3.16.1.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-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"
-
-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:= )
-"
-DEPEND="${COMMON_DEPEND}"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- doc? (
- app-text/asciidoc
- app-text/xmlto
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/protobuf-python[${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"
-)
-
-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 Makdfile.config to disable automagic deps
- criu_use selinux
- criu_use bpf
- criu_use nftables
-
- 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/files/criu-3.15-pkg-config.patch b/sys-process/criu/files/criu-3.15-pkg-config.patch
deleted file mode 100644
index 69d83bfc399a..000000000000
--- a/sys-process/criu/files/criu-3.15-pkg-config.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-https://github.com/checkpoint-restore/criu/pull/1517
-
-From d72536d9a821f9ff64f5dd62c9f8a282e3e5ec85 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@chromium.org>
-Date: Wed, 16 Jun 2021 15:43:04 -0400
-Subject: [PATCH] build: respect $PKG_CONFIG settings
-
-The build needs to respect $PKG_CONFIG env var like other standard
-build systems and the the upstream pkg-config project itself. This
-allows the package builder to point it to the right tool when doing
-a cross-compile build. Otherwise the host pkg-config tool is used
-which won't have access to the packages in the cross sysroot.
-
-Signed-off-by: Mike Frysinger <vapier@chromium.org>
----
- Makefile.config | 2 +-
- criu/Makefile | 2 +-
- scripts/nmk/scripts/tools.mk | 1 +
- scripts/nmk/scripts/utils.mk | 2 +-
- test/zdtm/Makefile.inc | 8 +++++---
- test/zdtm/lib/Makefile | 2 +-
- test/zdtm/static/Makefile | 2 +-
- 7 files changed, 11 insertions(+), 8 deletions(-)
-
-diff --git a/Makefile.config b/Makefile.config
-index 3d99e680be7f..6e3e1b062256 100644
---- a/Makefile.config
-+++ b/Makefile.config
-@@ -30,7 +30,7 @@ else
- endif
-
- ifeq ($(call pkg-config-check,libnftables),y)
-- LIB_NFTABLES := $(shell pkg-config --libs libnftables)
-+ LIB_NFTABLES := $(shell $(PKG_CONFIG) --libs libnftables)
- ifeq ($(call try-cc,$(FEATURE_TEST_NFTABLES_LIB_API_0),$(LIB_NFTABLES)),true)
- LIBS_FEATURES += $(LIB_NFTABLES)
- FEATURE_DEFINES += -DCONFIG_HAS_NFTABLES_LIB_API_0
-diff --git a/criu/Makefile b/criu/Makefile
-index ceb49ce09925..11d454c81026 100644
---- a/criu/Makefile
-+++ b/criu/Makefile
-@@ -27,7 +27,7 @@ CFLAGS += -iquote include
- CFLAGS += -iquote images
- CFLAGS += -iquote $(ARCH_DIR)/include
- CFLAGS += -iquote .
--CFLAGS += $(shell pkg-config --cflags libnl-3.0)
-+CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-3.0)
- CFLAGS += $(CONFIG-DEFINES)
-
- ifeq ($(GMON),1)
-diff --git a/scripts/nmk/scripts/tools.mk b/scripts/nmk/scripts/tools.mk
-index c5794401c734..1681d4e9092b 100644
---- a/scripts/nmk/scripts/tools.mk
-+++ b/scripts/nmk/scripts/tools.mk
-@@ -17,6 +17,7 @@ AR := $(CROSS_COMPILE)ar
- STRIP := $(CROSS_COMPILE)strip
- OBJCOPY := $(CROSS_COMPILE)objcopy
- OBJDUMP := $(CROSS_COMPILE)objdump
-+PKG_CONFIG ?= pkg-config
- NM := $(CROSS_COMPILE)nm
- MAKE := make
- MKDIR := mkdir -p
-diff --git a/scripts/nmk/scripts/utils.mk b/scripts/nmk/scripts/utils.mk
-index b9790615ca7f..f93fdf911cef 100644
---- a/scripts/nmk/scripts/utils.mk
-+++ b/scripts/nmk/scripts/utils.mk
-@@ -16,7 +16,7 @@ try-asm = $(call try-compile,assembler-with-cpp,$(1),$(2),$(3))
-
- # pkg-config-check
- # Usage: ifeq ($(call pkg-config-check, library),y)
--pkg-config-check = $(shell sh -c 'pkg-config $(1) && echo y')
-+pkg-config-check = $(shell sh -c '$(PKG_CONFIG) $(1) && echo y')
-
- #
- # Remove duplicates.
-diff --git a/test/zdtm/Makefile.inc b/test/zdtm/Makefile.inc
-index 43763321f956..e4af9c51e9e4 100644
---- a/test/zdtm/Makefile.inc
-+++ b/test/zdtm/Makefile.inc
-@@ -37,6 +37,7 @@ HOSTCC ?= gcc
- ifeq ($(origin CC), default)
- CC := $(CROSS_COMPILE)$(HOSTCC)
- endif
-+PKG_CONFIG ?= pkg-config
- CFLAGS += -g -O2 -Wall -Werror -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
- CFLAGS += -Wdeclaration-after-statement -Wstrict-prototypes
- CFLAGS += $(USERCFLAGS)
-@@ -54,8 +55,9 @@ endif
- RM := rm -f --one-file-system
-
- ifeq ($(COMPAT_TEST),y)
-+$(error bad juju)
- # Firstly look for 32-bit libs and then in standard path.
-- PKG_CONFIG_PATH := $(shell pkg-config --variable pc_path pkg-config)
-+ PKG_CONFIG_PATH := $(shell $(PKG_CONFIG) --variable pc_path pkg-config)
- PKG_CONFIG_PATH := /usr/lib32/pkgconfig:$(PKG_CONFIG_PATH)
- ifeq ($(ARCH),x86)
- export CFLAGS += -m32
-@@ -66,11 +68,11 @@ endif
- endif
-
- define pkg-libs
-- $(shell PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" pkg-config --libs $(1))
-+ $(shell PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" $(PKG_CONFIG) --libs $(1))
- endef
-
- define pkg-cflags
-- $(shell PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" pkg-config --cflags $(1))
-+ $(shell PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" $(PKG_CONFIG) --cflags $(1))
- endef
-
- %.d: %.c
-diff --git a/test/zdtm/lib/Makefile b/test/zdtm/lib/Makefile
-index 05fe64e91703..5ecf8bccf27b 100644
---- a/test/zdtm/lib/Makefile
-+++ b/test/zdtm/lib/Makefile
-@@ -6,7 +6,7 @@ LIB := libzdtmtst.a
-
- LIBSRC := datagen.c msg.c parseargs.c test.c streamutil.c lock.c ns.c tcp.c unix.c fs.c sysctl.c
-
--pkg-config-check = $(shell sh -c 'pkg-config $(1) && echo y')
-+pkg-config-check = $(shell sh -c '$(PKG_CONFIG) $(1) && echo y')
- ifeq ($(call pkg-config-check,libbpf),y)
- LIBSRC += bpfmap_zdtm.c
- endif
-diff --git a/test/zdtm/static/Makefile b/test/zdtm/static/Makefile
-index e60fe6dc2d66..c5f3c98be3ed 100644
---- a/test/zdtm/static/Makefile
-+++ b/test/zdtm/static/Makefile
-@@ -241,7 +241,7 @@ TST_NOFILE := \
- sigtrap01 \
- # jobctl00 \
-
--pkg-config-check = $(shell sh -c 'pkg-config $(1) && echo y')
-+pkg-config-check = $(shell sh -c '$(PKG_CONFIG) $(1) && echo y')
- ifeq ($(call pkg-config-check,libbpf),y)
- TST_NOFILE += \
- bpf_hash \
---
-2.31.1
-
diff --git a/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch b/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
deleted file mode 100644
index 86d9cd31724d..000000000000
--- a/sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-https://bugs.gentoo.org/809092
-https://bugs.gentoo.org/814056
-https://github.com/checkpoint-restore/criu/commit/1c25914a5dd1eb385937dffdd85901c3f5e39b8c
-https://github.com/checkpoint-restore/criu/commit/6a15dbdefa5c23a75eb3d1137681404588a16efa
-
-From 1c25914a5dd1eb385937dffdd85901c3f5e39b8c Mon Sep 17 00:00:00 2001
-From: Zeyad Yasser <zeyady98@gmail.com>
-Date: Thu, 22 Jul 2021 11:39:34 +0200
-Subject: [PATCH] protobuf: remove leading underscores from protobuf structs
-
-Fixes: #1560
-
-The latest protobuf-c compiler breaks CRIU because they removed
-leading underscores from structs in 1.4.0.
-
-This replaces those definitions with the standard generated structs.
-
-v2: remove struct _VmaEntry, struct _CredsEntry and struct _CoreEntry
-
-Signed-off-by: Zeyad Yasser <zeyady98@gmail.com>
----
- criu/include/irmap.h | 8 +++++---
- criu/include/parasite-syscall.h | 8 +++-----
- criu/include/pstree.h | 2 +-
- criu/include/rst_info.h | 5 ++---
- criu/include/shmem.h | 1 -
- criu/mem.c | 2 +-
- lib/c/criu.h | 3 ++-
- 7 files changed, 14 insertions(+), 15 deletions(-)
-
-diff --git a/criu/include/irmap.h b/criu/include/irmap.h
-index 033f71e372..188d753f4d 100644
---- a/criu/include/irmap.h
-+++ b/criu/include/irmap.h
-@@ -1,13 +1,15 @@
- #ifndef __CR_IRMAP__H__
- #define __CR_IRMAP__H__
-+
-+#include "images/fh.pb-c.h"
-+
- char *irmap_lookup(unsigned int s_dev, unsigned long i_ino);
--struct _FhEntry;
- int irmap_queue_cache(unsigned int dev, unsigned long ino,
-- struct _FhEntry *fh);
-+ FhEntry *fh);
- int irmap_predump_prep(void);
- int irmap_predump_run(void);
- int check_open_handle(unsigned int s_dev, unsigned long i_ino,
-- struct _FhEntry *f_handle);
-+ FhEntry *f_handle);
- int irmap_load_cache(void);
- int irmap_scan_path_add(char *path);
- #endif
-diff --git a/criu/include/parasite-syscall.h b/criu/include/parasite-syscall.h
-index c86a724fd1..afba95a9e7 100644
---- a/criu/include/parasite-syscall.h
-+++ b/criu/include/parasite-syscall.h
-@@ -11,8 +11,6 @@ struct parasite_dump_misc;
- struct parasite_drain_fd;
- struct vm_area_list;
- struct pstree_item;
--struct _CredsEntry;
--struct _CoreEntry;
- struct list_head;
- struct cr_imgset;
- struct fd_opts;
-@@ -31,11 +29,11 @@ extern int parasite_dump_posix_timers_seized(struct proc_posix_timers_stat *proc
- struct parasite_ctl *ctl, struct pstree_item *);
-
- extern int parasite_dump_misc_seized(struct parasite_ctl *ctl, struct parasite_dump_misc *misc);
--extern int parasite_dump_creds(struct parasite_ctl *ctl, struct _CredsEntry *ce);
--extern int parasite_dump_thread_leader_seized(struct parasite_ctl *ctl, int pid, struct _CoreEntry *core);
-+extern int parasite_dump_creds(struct parasite_ctl *ctl, CredsEntry *ce);
-+extern int parasite_dump_thread_leader_seized(struct parasite_ctl *ctl, int pid, CoreEntry *core);
- extern int parasite_dump_thread_seized(struct parasite_thread_ctl *tctl,
- struct parasite_ctl *ctl, int id,
-- struct pid *tid, struct _CoreEntry *core);
-+ struct pid *tid, CoreEntry *core);
- extern int dump_thread_core(int pid, CoreEntry *core,
- const struct parasite_dump_thread *dt);
-
-diff --git a/criu/include/pstree.h b/criu/include/pstree.h
-index 61ab0ce0eb..17d22e791e 100644
---- a/criu/include/pstree.h
-+++ b/criu/include/pstree.h
-@@ -113,7 +113,7 @@ extern int prepare_task_entries(void);
- extern int prepare_dummy_task_state(struct pstree_item *pi);
-
- extern int get_task_ids(struct pstree_item *);
--extern struct _TaskKobjIdsEntry *root_ids;
-+extern TaskKobjIdsEntry *root_ids;
-
- extern void core_entry_free(CoreEntry *core);
- extern CoreEntry *core_entry_alloc(int alloc_thread_info, int alloc_tc);
-diff --git a/criu/include/rst_info.h b/criu/include/rst_info.h
-index 3283849e44..3dc119a931 100644
---- a/criu/include/rst_info.h
-+++ b/criu/include/rst_info.h
-@@ -5,6 +5,7 @@
- #include "common/list.h"
- #include "vma.h"
- #include "kerndat.h"
-+#include "images/mm.pb-c.h"
-
- struct task_entries {
- int nr_threads, nr_tasks, nr_helpers;
-@@ -25,8 +26,6 @@ struct fdt {
- futex_t fdt_lock;
- };
-
--struct _MmEntry;
--
- struct rst_info {
- struct list_head fds;
-
-@@ -40,7 +39,7 @@ struct rst_info {
- struct fdt *fdt;
-
- struct vm_area_list vmas;
-- struct _MmEntry *mm;
-+ MmEntry *mm;
- struct list_head vma_io;
- unsigned int pages_img_id;
-
-diff --git a/criu/include/shmem.h b/criu/include/shmem.h
-index 9afdb799af..798e28f347 100644
---- a/criu/include/shmem.h
-+++ b/criu/include/shmem.h
-@@ -5,7 +5,6 @@
- #include "common/lock.h"
- #include "images/vma.pb-c.h"
-
--struct _VmaEntry;
- struct vma_area;
-
- extern int collect_shmem(int pid, struct vma_area *vma);
-diff --git a/criu/mem.c b/criu/mem.c
-index 9fabe4c470..b0a76e4da9 100644
---- a/criu/mem.c
-+++ b/criu/mem.c
-@@ -1230,7 +1230,7 @@ static int restore_priv_vma_content(struct pstree_item *t, struct page_read *pr)
-
- static int maybe_disable_thp(struct pstree_item *t, struct page_read *pr)
- {
-- struct _MmEntry *mm = rsti(t)->mm;
-+ MmEntry *mm = rsti(t)->mm;
-
- /*
- * There is no need to disable it if the page read doesn't
-diff --git a/lib/c/criu.h b/lib/c/criu.h
-index 3d64939584..d2bfbf958c 100644
---- a/lib/c/criu.h
-+++ b/lib/c/criu.h
-@@ -22,6 +22,7 @@
- #include <stdbool.h>
-
- #include "version.h"
-+#include "rpc.pb-c.h"
-
- #ifdef __GNUG__
- extern "C" {
-@@ -112,7 +113,7 @@ void criu_set_pidfd_store_sk(int sk);
- * some non-existing one is reported.
- */
-
--typedef struct _CriuNotify *criu_notify_arg_t;
-+typedef CriuNotify *criu_notify_arg_t;
- void criu_set_notify_cb(int (*cb)(char *action, criu_notify_arg_t na));
-
- /* Get pid of root task. 0 if not available */
-From: Radostin Stoyanov <radostin@redhat.com>
-Date: Fri, 3 Sep 2021 14:14:41 +0100
-Subject: [PATCH] lib: install images/rpc.pb-c.h
-
-Since commit 1c25914 compiling crun with libcriu also requires
-/usr/include/criu/rpc.pb-c.h
-
-Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
----
- lib/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/Makefile b/lib/Makefile
-index f9b66701e0..575a7bad3f 100644
---- a/lib/Makefile
-+++ b/lib/Makefile
-@@ -1,6 +1,6 @@
- CRIU_SO := libcriu.so
- CRIU_A := libcriu.a
--UAPI_HEADERS := lib/c/criu.h images/rpc.proto criu/include/version.h
-+UAPI_HEADERS := lib/c/criu.h images/rpc.proto images/rpc.pb-c.h criu/include/version.h
-
- #
- # File to keep track of files installed by setup.py
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/
@ 2024-02-22 18:38 Patrick McLean
0 siblings, 0 replies; 13+ messages in thread
From: Patrick McLean @ 2024-02-22 18:38 UTC (permalink / raw
To: gentoo-commits
commit: 41f8984d9a016a06ada5379333d02ecab48b0b47
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 22 18:38:04 2024 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Feb 22 18:38:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41f8984d
sys-process/criu: add 3.19
Closes: https://bugs.gentoo.org/910304
Closes: https://bugs.gentoo.org/887179
Closes: https://bugs.gentoo.org/832081
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-process/criu/Manifest | 1 +
sys-process/criu/criu-3.19.ebuild | 196 +++++++++++++++++++++
sys-process/criu/files/criu-3.19-buildsystem.patch | 33 ++++
3 files changed, 230 insertions(+)
diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
index 8c033e463e65..4fd5b7cfc5d1 100644
--- a/sys-process/criu/Manifest
+++ b/sys-process/criu/Manifest
@@ -1,2 +1,3 @@
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.19.ebuild b/sys-process/criu/criu-3.19.ebuild
new file mode 100644
index 000000000000..2b1575bbe858
--- /dev/null
+++ b/sys-process/criu/criu-3.19.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit fcaps flag-o-matic 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[${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.19-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-force-bfd
+
+ # the build system is quite sensitive to weird cflags
+ strip-unsupported-flags
+ filter-flags
+
+ # CRIUs doesn't like LTO https://bugs.gentoo.org/910304
+ filter-lto
+
+ # 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%.*}" \
+ PYTHON_EXTERNALLY_MANAGED=1 \
+ V=1 WERROR=0 DEBUG=0 \
+ "${emake_opts[@]}" \
+ "${@}"
+}
+
+src_compile() {
+ local -a targets=(
+ all
+ $(usex video_cards_amdgpu 'amdgpu_plugin' '')
+ $(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.19-buildsystem.patch b/sys-process/criu/files/criu-3.19-buildsystem.patch
new file mode 100644
index 000000000000..2b439ad01d2b
--- /dev/null
+++ b/sys-process/criu/files/criu-3.19-buildsystem.patch
@@ -0,0 +1,33 @@
+diff --git a/Makefile.config b/Makefile.config
+index 8f2b5208e..19f6f72d3 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)
^ permalink raw reply related [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-02-22 18:38 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-05 5:57 [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/, sys-process/criu/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2024-02-22 18:38 Patrick McLean
2023-05-01 12:49 Sam James
2022-09-03 0:33 Sam James
2022-05-19 3:33 Sam James
2021-12-02 0:17 Patrick McLean
2021-12-01 20:34 Sam James
2021-11-04 21:10 Sam James
2020-04-25 11:29 Sergei Trofimovich
2019-07-29 2:43 Matthias Maier
2016-12-07 5:28 Mike Frysinger
2016-11-23 10:04 Yixun Lan
2015-12-08 11:39 Yixun Lan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox