summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Kjellerstedt <peter.kjellerstedt@axis.com>2021-05-07 22:38:30 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-15 17:18:21 +0100
commit6b5baa4a297e6d2042fc48d2ac8672903403dd87 (patch)
treecf834843abca837282b56d8bea069c1dea60054c
parent900aae50c98719619eedfa26d3cbc2e63d847e85 (diff)
downloadpoky-6b5baa4a297e6d2042fc48d2ac8672903403dd87.tar.gz
libcap: Configure Make variables correctly without a horrible hack
Occasionally, the build would fail with: make[2]: execvp: mkdir: Argument list too long This turned out to be due to a hacky solution used in the recipe to modify the Makefile, which resulted in one more $(BUILD_CFLAGS) being added to the immediately expanded BUILD_CFLAGS Make variable each time do_configure was executed. After a couple of times, this lead to an environment with a 140 kB BUILD_CFLAGS when mkdir should execute, which resulted in the E2BIG. (From OE-Core rev: 44900610bea76ab8983a899599f78790f6c5f659) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 116e6b61c585c6f0f7ae6f010bd490bb39914348) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-support/libcap/libcap_2.48.bb21
1 files changed, 8 insertions, 13 deletions
diff --git a/meta/recipes-support/libcap/libcap_2.48.bb b/meta/recipes-support/libcap/libcap_2.48.bb
index a12738d63a..2f83acf966 100644
--- a/meta/recipes-support/libcap/libcap_2.48.bb
+++ b/meta/recipes-support/libcap/libcap_2.48.bb
@@ -20,15 +20,6 @@ UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs
20 20
21inherit lib_package 21inherit lib_package
22 22
23# do NOT pass target cflags to host compilations
24#
25do_configure() {
26 # libcap uses := for compilers, fortunately, it gives us a hint
27 # on what should be replaced with ?=
28 sed -e 's,:=,?=,g' -i Make.Rules
29 sed -e 's,^BUILD_CFLAGS ?= ,BUILD_CFLAGS := $(BUILD_CFLAGS) ,' -i Make.Rules
30}
31
32PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" 23PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
33PACKAGECONFIG_class-native ??= "" 24PACKAGECONFIG_class-native ??= ""
34 25
@@ -44,11 +35,15 @@ EXTRA_OEMAKE = " \
44 35
45EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}" 36EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}"
46 37
47# these are present in the libcap defaults, so include in our CFLAGS too
48CFLAGS += "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
49
50do_compile() { 38do_compile() {
51 oe_runmake ${PACKAGECONFIG_CONFARGS} 39 unset CFLAGS BUILD_CFLAGS
40 oe_runmake \
41 ${PACKAGECONFIG_CONFARGS} \
42 AR="${AR}" \
43 CC="${CC}" \
44 RANLIB="${RANLIB}" \
45 COPTS="${CFLAGS}" \
46 BUILD_COPTS="${BUILD_CFLAGS}"
52} 47}
53 48
54do_install() { 49do_install() {