summaryrefslogtreecommitdiff
path: root/sys-process/criu
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-05 02:47:11 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-05 02:47:11 +0000
commit2771f79232c273bc2a57d23bf335dd81ccf6af28 (patch)
treec8af0fd04194aed03cf067d44e53c7edd3e9ab84 /sys-process/criu
parente9d044d4b9b71200a96adfa280848858c0f468c9 (diff)
gentoo resync : 05.12.2021
Diffstat (limited to 'sys-process/criu')
-rw-r--r--sys-process/criu/Manifest9
-rw-r--r--sys-process/criu/criu-3.15-r3.ebuild (renamed from sys-process/criu/criu-3.15-r2.ebuild)0
-rw-r--r--sys-process/criu/criu-3.16.1.ebuild162
-rw-r--r--sys-process/criu/files/criu-3.15-protobuf-c-1.4.0.patch24
-rw-r--r--sys-process/criu/files/criu-3.16.1-buildsystem.patch56
-rw-r--r--sys-process/criu/metadata.xml4
6 files changed, 251 insertions, 4 deletions
diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
index 55f1808bcefb..8a6afaf31639 100644
--- a/sys-process/criu/Manifest
+++ b/sys-process/criu/Manifest
@@ -2,10 +2,13 @@ AUX 2.2/criu-2.2-flags.patch 259 BLAKE2B 6e62d8e96ba9b2beaa4a525f14ebca1a198dae7
AUX 2.3/criu-2.3-no-git.patch 651 BLAKE2B 76d7bd15f67789a72cd0d58c854da5601cfdc42e657cc819acecd52653b2b3699db3f00cb5916148c9a1a8013159716d8607bfd6443d24a2f98bd6e0abe21f90 SHA512 9010b79a01f7bab35ca23749d6e61706404cca89d5cdacd31fc32aba82b088becd9997f9a82db460e16bd84d9f38b1b35e90d3c49ad04b0f141d037e9ebafdd8
AUX criu-3.12-automagic-libbsd.patch 457 BLAKE2B bd16c9e84ba67d0968371844c7b8121d1defea93371b17124130685c1d55969e3f472349f4e4f5ac211cd659980bfdecaa06b38a2fc6037d486d15dee6850884 SHA512 b535792caf39c9e8c21ed313551b9fc0f8675c494586c66d5caba17c67bb432c27c9ff3cbf5a7d2248c99fc438174c0daea355d89ef9d4ce1a8a26e688fdf7c3
AUX criu-3.15-pkg-config.patch 5131 BLAKE2B 3b4cc0a2ae3dac24eb5f76a20478844e10b601a9584e8ae7bdd6a0167add2ba715c606fd7ee00aea9893c9e99a9ee42f031b85b37c7f4fc5d4b1fcf9ecff78e7 SHA512 e424d3ee684463dfab504da234c7e178a8060a83efd743d940ad8c8ebc58f5c07de7a48cd3fc333fcc67a0947ad8c9b838e48163045a2093afe5923ca6ff1399
-AUX criu-3.15-protobuf-c-1.4.0.patch 5627 BLAKE2B 8d60f73680d1da9390cc8dab92ca17c9fce85f551ef8983a0e2187d0581b4371b065e419e7ad0393743580f51242ebe5281d8784772073aa562b4f26d82d5d1e SHA512 941df22505fe48a0b504e8fda0c97aa6b615670c2419721b2cba2ce0e4e5f9dffd2f4b83691f220ede960c59dda242013aee04dfd999132eb4c83f330cb800b6
+AUX criu-3.15-protobuf-c-1.4.0.patch 6377 BLAKE2B bbfce0a7feecf2886cb5fbfff3d79ac47e28e1cd6d5d5133323c5d89be005120e38de5378f31faaf83f0698170ca4b8d5d795faaca190802d2102539032b193a SHA512 50f1e6a5cb2b69d0fbbbe1013d4d2b91af6800dfcfc2d73d83cd389118ab85dea1d2b32fb4152b56ef58373da3e8cd6e962f9c111359e6e76e399c3e84f3030e
+AUX criu-3.16.1-buildsystem.patch 2164 BLAKE2B aaa5e47ca5c822407693c795015e25b9db5208bf0c25026030c5b776769d27c4513707865fdd37eb4acd14beca4eecdcb83fe77c6c9479df2519dc0c49e912b5 SHA512 a36932081ed1aa058a60f93ec4a2c434a3ec6cad6ac221f2db22f3d01025e7de074ef3f3feda206ed50b1ed921b87cfa5e3d07e6cfc50ab1c527a2821ad33e1d
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
EBUILD criu-3.14-r2.ebuild 3189 BLAKE2B e999b7fc1a7bd8bfeff3c090aa9c6eb02b6755bcf4a0927d3478589f1ca24cc3e6bac2e0bde300e3212ae287c08ed9f13577801169a348bede5c29e1e2e14e44 SHA512 d49d449c807e00b37f1621118ce90e629c1ba5882d4c7a73ac49cee8230ba3be1960ffa0aaea68e11596e8582b729f2633dba01caea66e828b0ec33ec21f8ffe
-EBUILD criu-3.15-r2.ebuild 3301 BLAKE2B 737d3a455a8d50f44c08e6ab58c275dc8642b105efe3b8b72c0584f2bb787eb10bc5844c3c2a66e04d2de73653b920db58251fdaf7b0a2d5c38b4c4ecb8d5b5e SHA512 0c36f4ecafe7420db49e1da2359a5cdfd05a29f443cc52cc22e97d399e0d35ab8b4595bdfce24941caefd22b4a7f5eb0aa40d09d271d96678376ad0a554fe39e
+EBUILD criu-3.15-r3.ebuild 3301 BLAKE2B 737d3a455a8d50f44c08e6ab58c275dc8642b105efe3b8b72c0584f2bb787eb10bc5844c3c2a66e04d2de73653b920db58251fdaf7b0a2d5c38b4c4ecb8d5b5e SHA512 0c36f4ecafe7420db49e1da2359a5cdfd05a29f443cc52cc22e97d399e0d35ab8b4595bdfce24941caefd22b4a7f5eb0aa40d09d271d96678376ad0a554fe39e
EBUILD criu-3.15.ebuild 3231 BLAKE2B a0958fac51d7daa641f33974a98a33cfcdee066a6e0e38c0f208b22ec398f2b90eeaf4056577c01121b08045efce1a46e80322ceb2dbcd64b2de4d42f16eee37 SHA512 ff3006e68f1fa48a7eda167d5152d61d7e6166303ae14fecbe14fce0f3646e1e36385298801d8c7dbe3a72507f9de44010ba0bc79d1d736f26b6ea4f8f60a1ba
-MISC metadata.xml 490 BLAKE2B f38231e005bdb486428d6f2bb57fe791d0785877a5900edb6453243456451ed109dd5b4fa6271dc863465ee000a177649a0262ad804997468cb77ce092a25ae7 SHA512 464f6178d6546c44b602bde809c74509381ec90b074204e0820396cd8405391d6d48ca435d0bbcb280d9650e1285b84651ae9f81d3d7e9b126e39956b3659873
+EBUILD criu-3.16.1.ebuild 3552 BLAKE2B 93ac2b433ca3b6587d13a912a1b31ab1b405579353f6e6a1f2223c6ef2cc07288c2897ed958eeb80143faa057b69f55d1d8b991337ecd86538224d8556274333 SHA512 8314b275397adb3af19a1f3fec4c9e1fb9fc98f98d3759b0ce27c843f09dd73720a19a09860fa604b135c6a8b87faf238443d0347e1441e5eee72b4dab319a73
+MISC metadata.xml 690 BLAKE2B d39aa87ec4e0470cb5864776d802cc06be21866123a8db69ace61af3f686cf9b034cf6790d2a5fd5777bb02531db78ea72eb03c0f3f18195b56ea4b85205c87e SHA512 385296a53d274252d796563346bd999dbe4afa5c02b5f00ce42459ad995ce004f593a039c54f1e91fb572b849199e2669077ffda3affd031e23f4b4d1db9ff0e
diff --git a/sys-process/criu/criu-3.15-r2.ebuild b/sys-process/criu/criu-3.15-r3.ebuild
index bb76d9a19d33..bb76d9a19d33 100644
--- a/sys-process/criu/criu-3.15-r2.ebuild
+++ b/sys-process/criu/criu-3.15-r3.ebuild
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.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
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>