From patchwork Mon Apr 29 16:38:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 42932 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA591C25B10 for ; Mon, 29 Apr 2024 16:39:09 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.26353.1714408745271397220 for ; Mon, 29 Apr 2024 09:39:05 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 768152F4; Mon, 29 Apr 2024 09:39:31 -0700 (PDT) Received: from cesw-amp-gbt-1s-m12830-04.oss.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3E9083F762; Mon, 29 Apr 2024 09:39:04 -0700 (PDT) From: Ross Burton To: meta-arm@lists.yoctoproject.org Cc: nd@arm.com Subject: [PATCH v2 2/5] CI: temporarily backport the procps fix Date: Mon, 29 Apr 2024 16:38:56 +0000 Message-Id: <20240429163859.507226-2-ross.burton@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240429163859.507226-1-ross.burton@arm.com> References: <20240429163859.507226-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 29 Apr 2024 16:39:09 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/5627 This patch will be merged upstream soon, apply it locally to unblock CI. Signed-off-by: Ross Burton --- ...-with-new-glibc-but-old-kernel-heade.patch | 79 +++++++++++++++++++ ci/base.yml | 4 + 2 files changed, 83 insertions(+) create mode 100644 0001-procps-fix-build-with-new-glibc-but-old-kernel-heade.patch diff --git a/0001-procps-fix-build-with-new-glibc-but-old-kernel-heade.patch b/0001-procps-fix-build-with-new-glibc-but-old-kernel-heade.patch new file mode 100644 index 00000000..3ab3dea3 --- /dev/null +++ b/0001-procps-fix-build-with-new-glibc-but-old-kernel-heade.patch @@ -0,0 +1,79 @@ +From 42358d889ed652a8c386862f8c65e5fbe7484de2 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Fri, 26 Apr 2024 10:38:28 +0000 +Subject: [PATCH] procps: fix build with new glibc but old kernel headers + +If you're building procps with a newer glibc (with pidfd_open()) but +older kernel headers (say 4.x, before __NR_pidfd_open) then procps will +fail to build because of a typo in configure.ac. + +Signed-off-by: Ross Burton +--- + .../procps/procps/pidfd.patch | 42 +++++++++++++++++++ + meta/recipes-extended/procps/procps_4.0.4.bb | 1 + + 2 files changed, 43 insertions(+) + create mode 100644 meta/recipes-extended/procps/procps/pidfd.patch + +diff --git a/meta/recipes-extended/procps/procps/pidfd.patch b/meta/recipes-extended/procps/procps/pidfd.patch +new file mode 100644 +index 00000000000..f5e8183e547 +--- /dev/null ++++ b/meta/recipes-extended/procps/procps/pidfd.patch +@@ -0,0 +1,42 @@ ++From c8f625e085b8249cc009e8b19c3a19100217eb35 Mon Sep 17 00:00:00 2001 ++From: Ross Burton ++Date: Thu, 25 Apr 2024 13:33:15 +0000 ++Subject: [PATCH] Fix pidfd_open detection ++ ++This check for pidfd_open uses AC_CHECK_FUNC which just runs the specified code, but ++src/pgrep.c checks HAVE_PIDFD_OPEN which will only be defined by AC_CHECK_FUNCS. ++ ++Also pidfd_open is defined in sys/pidfd.h so that needs including. ++ ++Upstream-Status: Pending ++Signed-off-by: Ross Burton ++--- ++ ++diff --git a/configure.ac b/configure.ac ++index fec27e3f..024731c7 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -170,7 +170,7 @@ AC_TRY_COMPILE([#include ], ++ AC_MSG_RESULT(yes), ++ AC_MSG_RESULT(no)) ++ ++-AC_CHECK_FUNC([pidfd_open], [enable_pidwait=yes], [ +++AC_CHECK_FUNCS([pidfd_open], [enable_pidwait=yes], [ ++ AC_MSG_CHECKING([for __NR_pidfd_open]) ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ ++ #include ++diff --git a/src/pgrep.c b/src/pgrep.c ++index d8e57dff..c5211aec 100644 ++--- a/src/pgrep.c +++++ b/src/pgrep.c ++@@ -44,7 +44,9 @@ ++ ++ #ifdef ENABLE_PIDWAIT ++ #include ++-#ifndef HAVE_PIDFD_OPEN +++#ifdef HAVE_PIDFD_OPEN +++#include +++#else ++ #include ++ #endif /* !HAVE_PIDFD_OPEN */ ++ #endif +diff --git a/meta/recipes-extended/procps/procps_4.0.4.bb b/meta/recipes-extended/procps/procps_4.0.4.bb +index 800384f22f7..ec8c4b0261b 100644 +--- a/meta/recipes-extended/procps/procps_4.0.4.bb ++++ b/meta/recipes-extended/procps/procps_4.0.4.bb +@@ -14,6 +14,7 @@ inherit autotools gettext pkgconfig update-alternatives + + SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \ + file://sysctl.conf \ ++ file://pidfd.patch \ + " + SRCREV = "4ddcef2fd843170c8e2d59a83042978f41037a2b" + +-- +2.34.1 + diff --git a/ci/base.yml b/ci/base.yml index a3e2c68b..863159e1 100644 --- a/ci/base.yml +++ b/ci/base.yml @@ -21,6 +21,10 @@ repos: layers: meta: meta-poky: + patches: + procps: + path: 0001-procps-fix-build-with-new-glibc-but-old-kernel-heade.patch + repo: meta-arm env: BB_LOGCONFIG: ""