From cd73ce1d3249c9259abfc8a8b9a74e29a8b3cfa7 Mon Sep 17 00:00:00 2001 From: Brahmajit Das Date: Tue, 5 Sep 2023 04:21:04 +0000 Subject: sys-fs/lxcfs: Fix incompatible integer to pointer conversion Closes: https://bugs.gentoo.org/894348 Signed-off-by: Brahmajit Das Closes: https://github.com/gentoo/gentoo/pull/32616 Signed-off-by: Joonas Niilola --- ...5.0.4-fix-incompatible-pointer-conversion.patch | 19 +++++ sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild | 84 ++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch create mode 100644 sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild diff --git a/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch b/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch new file mode 100644 index 000000000000..bead63bd52dd --- /dev/null +++ b/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch @@ -0,0 +1,19 @@ +Bug: https://bugs.gentoo.org/894348 +Upstream PR: https://github.com/lxc/lxcfs/pull/610 +--- a/src/proc_loadavg.c ++++ b/src/proc_loadavg.c +@@ -603,12 +603,12 @@ pthread_t load_daemon(int load_use) + + ret = init_load(); + if (ret == -1) +- return log_error(0, "Initialize hash_table fails in load_daemon!"); ++ return (pthread_t) log_error(0, "Initialize hash_table fails in load_daemon!"); + + ret = pthread_create(&pid, NULL, load_begin, NULL); + if (ret != 0) { + load_free(); +- return log_error(0, "Create pthread fails in load_daemon!"); ++ return (pthread_t) log_error(0, "Create pthread fails in load_daemon!"); + } + + /* use loadavg, here loadavg = 1*/ diff --git a/sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild b/sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild new file mode 100644 index 000000000000..6d2a14c5eb13 --- /dev/null +++ b/sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild @@ -0,0 +1,84 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..12} ) + +inherit cmake meson python-any-r1 systemd verify-sig + +DESCRIPTION="FUSE filesystem for LXC" +HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/" +SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )" + +LICENSE="Apache-2.0 LGPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="doc test" + +DEPEND="sys-fs/fuse:3" +RDEPEND="${DEPEND}" +BDEPEND="${PYTHON_DEPS} + virtual/pkgconfig + $(python_gen_any_dep ' + dev-python/jinja[${PYTHON_USEDEP}] + ') + doc? ( sys-apps/help2man ) + verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" + +# Needs some black magic to work inside container/chroot. +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc + +PATCHES=( + "${FILESDIR}"/${PN}-5.0.4-fix-incompatible-pointer-conversion.patch +) + +python_check_deps() { + python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + default + + # Fix python shebangs for python-exec[-native-symlinks], #851480 + local shebangs=($(grep -rl "#!/usr/bin/env python3" || die)) + python_fix_shebang -q ${shebangs[*]} +} + +src_configure() { + local emesonargs=( + --localstatedir "${EPREFIX}/var" + + $(meson_use doc docs) + $(meson_use test tests) + + -Dfuse-version=3 + -Dinit-script="" + -Dwith-init-script="" + ) + + meson_src_configure +} + +src_test() { + cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory." + ./main.sh || die +} + +src_install() { + meson_src_install + + newconfd "${FILESDIR}"/lxcfs-5.0.2.confd lxcfs + newinitd "${FILESDIR}"/lxcfs-5.0.2.initd lxcfs + + # Provide our own service file (copy of upstream) due to paths being different from upstream, + # #728470 + systemd_newunit "${FILESDIR}"/lxcfs-5.0.2.service lxcfs.service +} -- cgit v1.2.3-65-gdbad