* [PATCH] systemd: fix remaining issues with statx and glibc 2.28+
@ 2018-12-17 12:59 Ruslan Bilovol
2018-12-17 13:33 ` ✗ patchtest: failure for " Patchwork
0 siblings, 1 reply; 2+ messages in thread
From: Ruslan Bilovol @ 2018-12-17 12:59 UTC (permalink / raw)
To: openembedded-core, xe-linux-external
Commit 776d14db9589 "systemd: Detect if statx struct is
defined in sys/stat.h" did only a part of work, and systemd
build fails on src/basic/chattr-util.c compilation due to
same statx redefinition issue.
Backport additional patch from systemd master
Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
---
...-linux-stat.h-check-with-other-checks-and.patch | 76 ++++++++++++++++++++++
meta/recipes-core/systemd/systemd_239.bb | 1 +
2 files changed, 77 insertions(+)
create mode 100644 meta/recipes-core/systemd/systemd/0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch
diff --git a/meta/recipes-core/systemd/systemd/0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch b/meta/recipes-core/systemd/systemd/0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch
new file mode 100644
index 0000000..24c3433
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch
@@ -0,0 +1,76 @@
+From 9c869d08d82c73f62ab3527567858ce4b0cf1257 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Wed, 18 Jul 2018 17:26:17 +0200
+Subject: [PATCH] meson: unify linux/stat.h check with other checks and use
+ _GNU_SOURCE
+
+Using _GNU_SOURCE is better because that's how we include the headers in the
+actual build, and some headers define different stuff when it is defined.
+sys/stat.h for example defines 'struct statx' conditionally.
+
+Upstream-Status: Backport
+---
+ meson.build | 20 ++++++++++++++------
+ src/basic/missing.h | 2 +-
+ 2 files changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 68423bd..99035d2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -421,11 +421,9 @@ decl_headers = '''
+ #include <uchar.h>
+ #include <linux/ethtool.h>
+ #include <linux/fib_rules.h>
+-#include <linux/stat.h>
+ #include <sys/stat.h>
+ '''
+ # FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
+-# FIXME: these should use -D_GNU_SOURCE, since that is defined at build time
+
+ foreach decl : ['char16_t',
+ 'char32_t',
+@@ -436,13 +434,23 @@ foreach decl : ['char16_t',
+ ]
+
+ # We get -1 if the size cannot be determined
+- have = cc.sizeof(decl, prefix : decl_headers) > 0
++ have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0
++
++ if decl == 'struct statx'
++ if have
++ want_linux_stat_h = false
++ else
++ have = cc.sizeof(decl,
++ prefix : decl_headers + '#include <linux/stat.h>',
++ args : '-D_GNU_SOURCE') > 0
++ want_linux_stat_h = have
++ endif
++ endif
++
+ conf.set10('HAVE_' + decl.underscorify().to_upper(), have)
+ endforeach
+
+-conf.set10('HAVE_STRUCT_STATX_IN_SYS_STAT_H', cc.sizeof('struct statx', prefix : '''
+-#include <sys/stat.h>
+-''', args : '-D_GNU_SOURCE') > 0)
++conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h)
+
+ foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'],
+ ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
+diff --git a/src/basic/missing.h b/src/basic/missing.h
+index 14ad3d4..9044683 100644
+--- a/src/basic/missing.h
++++ b/src/basic/missing.h
+@@ -24,7 +24,7 @@
+ #include <uchar.h>
+ #include <unistd.h>
+
+-#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H
++#if WANT_LINUX_STAT_H
+ #include <linux/stat.h>
+ #endif
+
+--
+1.9.1
+
diff --git a/meta/recipes-core/systemd/systemd_239.bb b/meta/recipes-core/systemd/systemd_239.bb
index c53ce0d..2d5f94b 100644
--- a/meta/recipes-core/systemd/systemd_239.bb
+++ b/meta/recipes-core/systemd/systemd_239.bb
@@ -34,6 +34,7 @@ SRC_URI += "file://touchscreen.rules \
file://0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch \
file://0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch \
file://0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch \
+ file://0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch \
"
# patches made for musl are only applied on TCLIBC is musl
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* ✗ patchtest: failure for systemd: fix remaining issues with statx and glibc 2.28+
2018-12-17 12:59 [PATCH] systemd: fix remaining issues with statx and glibc 2.28+ Ruslan Bilovol
@ 2018-12-17 13:33 ` Patchwork
0 siblings, 0 replies; 2+ messages in thread
From: Patchwork @ 2018-12-17 13:33 UTC (permalink / raw)
To: Andrii Bordunov via Openembedded-core; +Cc: openembedded-core
== Series Details ==
Series: systemd: fix remaining issues with statx and glibc 2.28+
Revision: 1
URL : https://patchwork.openembedded.org/series/15376/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:
* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch master (currently at 20aea61385)
* Issue A patch file has been added, but does not have a Signed-off-by tag [test_signed_off_by_presence]
Suggested fix Sign off the added patch file (meta/recipes-core/systemd/systemd/0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch)
If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).
---
Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-12-17 13:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-17 12:59 [PATCH] systemd: fix remaining issues with statx and glibc 2.28+ Ruslan Bilovol
2018-12-17 13:33 ` ✗ patchtest: failure for " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox