From 1e153f5e3ce504af9cf586c9b819e4f0bc919f3b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 22 Feb 2024 23:40:36 +0000 Subject: gentoo auto-resync : 22:02:2024 - 23:40:35 --- sys-process/Manifest.gz | Bin 10142 -> 10149 bytes sys-process/criu/Manifest | 3 + sys-process/criu/criu-3.19.ebuild | 196 +++++++++++++++++++++ sys-process/criu/files/criu-3.19-buildsystem.patch | 33 ++++ 4 files changed, 232 insertions(+) create mode 100644 sys-process/criu/criu-3.19.ebuild create mode 100644 sys-process/criu/files/criu-3.19-buildsystem.patch (limited to 'sys-process') diff --git a/sys-process/Manifest.gz b/sys-process/Manifest.gz index e8868d6807c3..98f5b3b12749 100644 Binary files a/sys-process/Manifest.gz and b/sys-process/Manifest.gz differ diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest index 5ae41a03a07e..783700633967 100644 --- a/sys-process/criu/Manifest +++ b/sys-process/criu/Manifest @@ -6,8 +6,11 @@ AUX criu-3.17-amdgpu-build-fixes.patch 3069 BLAKE2B 21bf7ce7bfa8a1d07e2160a7dd8b AUX criu-3.17-glibc-2.36-deux.patch 5484 BLAKE2B 63605200e43064e67686ef823032de9c27316800d2097721bd7143e371703e52803c03b6cc695491ca3326f27a44e177a3fe946868577805b3242ba08a00465f SHA512 3dd0d28bd8591d857f927539bb578337e60fcaf7f83890315fd25f4944a72f097374a4423955187673328ca32491d5f585391f21565df53d666f761ccd552a0e AUX criu-3.17-glibc-2.36.patch 7344 BLAKE2B 4b42e4b524807fed9277eaafbbe9c77bc4dd6e0993d8f801898e2c2a3d4c0aca58d58e34285f23a7d5f1778f8f952f27c7b6a323313103b6444d07287431d9b8 SHA512 d7e6768c26a0f27e11f639d17ccdb62ba7543cbcfdc7a940e39c0ad4f338dce9996129c41904df667633282fb954ec79ffe88879dc61a39658ed7c821fa8f1ba AUX criu-3.18-buildsystem.patch 2286 BLAKE2B a083bf7e3a18e53788b438b6f7d802be13cce23d3f4d9a60ba48556d08ab1e1ac65e2753f64229b6c9fc94b0d50f02055509289e5d842ab8be98114ae117a4de SHA512 7b56949588503fea34fbbb496dbef58a3cfb8b3fda471053622ea1ec312b864d34ee3d8dadb4b5b44cefac6eb0dc92e395a92f16b09d0783e3d147e242377e99 +AUX criu-3.19-buildsystem.patch 1277 BLAKE2B 87b81ef7b3cdc33d8f58a9c607fe1210d8e38d8d89c888aa501d3ee9dd13602bdfd6311e469829420d11a19492a4d987b96b910bd669cf18e4961c01d52a7814 SHA512 963de94c25c02946dcbbabcd280d295ea55851fb21279976bb5ceb1c8887f5373438ef6e865d205dc483f873d7a4d42ffc7c6e74ab0bad2dcbc79780c04eeb44 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 EBUILD criu-3.17-r1.ebuild 3809 BLAKE2B a65fc63000fa79fc0ddd0c670ad2f812778c0c1ce9ef25f073e412f39e997ae7d92671c729d4840289c4eee9cff2637faa7bed781d6dd511b695e09810802e51 SHA512 140743b4976b2d82b8735b6ca9ae14fe2bb96eaeb3efd1f4a51533fe0386cf0345fc7eb38dc571bea6f17e254c58996084810716029799cbebb8b5a171db875a EBUILD criu-3.18-r1.ebuild 4124 BLAKE2B ad13dadda79d35b6755bfcaaa4251f767e085ef27b22f94ecb34386df97dbda1503f25f82970c0028a7a7da753ce6cea1499ce19db0326ff87848ea0e25c4cdb SHA512 3bf80091ea3b4ac899bd0ece8b263839448d4eac78028e2ca16ec4ffe6f80152776e0829d295272a954c38c8845b45fa41bff1349cf7d337cd236fb10a880571 +EBUILD criu-3.19.ebuild 4386 BLAKE2B 5c71fb1e62603aa45dd64de356b4db2b891735ccdb9de9311e4df4e430df043b1a44097f171290b7616cf63d8812fca47db0698ab4fff007d642e71ea8836b73 SHA512 de4957171008303f4c5844a684f7d5b7c44727c286c2f3946f96c45fe9318d4f91bc4a5b2a7abb07593a858ba9fa502ffd2e0b5872a196f63ad64bcda4208c07 MISC metadata.xml 883 BLAKE2B a98393c9fa0c19efaa51f1c6bb9b36d9b8d51c0f36edd1032b612713e4ce71555f0c735e670086189caca2404e28511ff86d67dd9af0857a5945e69807ed7623 SHA512 aebea63b1c29f3e2ed62fb19c0cbba19434b84730c0178169f0703e4d4512112efa91f098a379fed33aab0ab5a44032287e9c24bcc86bb56b05f02242743ae19 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) -- cgit v1.2.3