summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2022-12-20 20:14:27 -0800
committerKhem Raj <raj.khem@gmail.com>2022-12-23 08:52:23 -0800
commite661eb0b3b4e8c77c4f25cfa4d6f67dfa11c142b (patch)
tree2db2d4b01a370dd131398b73b84cfb2b74c52a32 /meta-oe
parent562413e6863b6bab8563389b0ace91aa450ee50d (diff)
downloadmeta-openembedded-e661eb0b3b4e8c77c4f25cfa4d6f67dfa11c142b.tar.gz
sdbus-c++-libsystemd: Upgrade to 250.9 systemd release
Fix build with latest musl Drop upstreamed patches Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-dirent-util-Remove-asserts-on-dirent64-dirent.patch38
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch74
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-pass-correct-parameters-to-getdents64.patch50
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.9.bb (renamed from meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb)5
4 files changed, 40 insertions, 127 deletions
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-dirent-util-Remove-asserts-on-dirent64-dirent.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-dirent-util-Remove-asserts-on-dirent64-dirent.patch
new file mode 100644
index 000000000..517886c72
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-dirent-util-Remove-asserts-on-dirent64-dirent.patch
@@ -0,0 +1,38 @@
1From 19cc68d4a89b59889be442d2997ff030cdc3de73 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 20 Dec 2022 20:11:17 -0800
4Subject: [PATCH] dirent-util: Remove asserts on dirent64 == dirent
5
6We already have assert_cc(_FILE_OFFSET_BITS == 64) which ensures that 64bit LFS functions are same as their original counterparts
7
8Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/25809]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 src/basic/dirent-util.h | 11 -----------
12 1 file changed, 11 deletions(-)
13
14diff --git a/src/basic/dirent-util.h b/src/basic/dirent-util.h
15index 04bc53003f..4cb317184d 100644
16--- a/src/basic/dirent-util.h
17+++ b/src/basic/dirent-util.h
18@@ -35,17 +35,6 @@ struct dirent *readdir_no_dot(DIR *dirp);
19 /* Only if 64bit off_t is enabled struct dirent + struct dirent64 are actually the same. We require this, and
20 * we want them to be interchangeable to make getdents64() work, hence verify that. */
21 assert_cc(_FILE_OFFSET_BITS == 64);
22-assert_cc(sizeof(struct dirent) == sizeof(struct dirent64));
23-assert_cc(offsetof(struct dirent, d_ino) == offsetof(struct dirent64, d_ino));
24-assert_cc(sizeof_field(struct dirent, d_ino) == sizeof_field(struct dirent64, d_ino));
25-assert_cc(offsetof(struct dirent, d_off) == offsetof(struct dirent64, d_off));
26-assert_cc(sizeof_field(struct dirent, d_off) == sizeof_field(struct dirent64, d_off));
27-assert_cc(offsetof(struct dirent, d_reclen) == offsetof(struct dirent64, d_reclen));
28-assert_cc(sizeof_field(struct dirent, d_reclen) == sizeof_field(struct dirent64, d_reclen));
29-assert_cc(offsetof(struct dirent, d_type) == offsetof(struct dirent64, d_type));
30-assert_cc(sizeof_field(struct dirent, d_type) == sizeof_field(struct dirent64, d_type));
31-assert_cc(offsetof(struct dirent, d_name) == offsetof(struct dirent64, d_name));
32-assert_cc(sizeof_field(struct dirent, d_name) == sizeof_field(struct dirent64, d_name));
33
34 #define FOREACH_DIRENT_IN_BUFFER(de, buf, sz) \
35 for (void *_end = (uint8_t*) ({ (de) = (buf); }) + (sz); \
36--
372.39.0
38
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch
deleted file mode 100644
index 01afd37a3..000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch
+++ /dev/null
@@ -1,74 +0,0 @@
1From b0933e76c6f0594c10cf8a9a70b34e15b68066d1 Mon Sep 17 00:00:00 2001
2From: Rudi Heitbaum <rudi@heitbaum.com>
3Date: Sat, 23 Jul 2022 10:38:49 +0000
4Subject: [PATCH] glibc: Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36
5
6Upstream-Status: Backport [https://github.com/systemd/systemd/pull/23992/commits/21c03ad5e9d8d0350e30dae92a5e15da318a1539]
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 meson.build | 13 ++++++++++++-
10 src/basic/fd-util.c | 2 ++
11 src/core/namespace.c | 2 ++
12 src/shared/mount-util.c | 2 ++
13 4 files changed, 18 insertions(+), 1 deletion(-)
14
15--- a/meson.build
16+++ b/meson.build
17@@ -474,7 +474,6 @@ decl_headers = '''
18 #include <uchar.h>
19 #include <sys/mount.h>
20 #include <sys/stat.h>
21-#include <linux/fs.h>
22 '''
23
24 foreach decl : ['char16_t',
25@@ -486,6 +485,17 @@ foreach decl : ['char16_t',
26 # We get -1 if the size cannot be determined
27 have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0
28
29+ if decl == 'struct mount_attr'
30+ if have
31+ want_linux_fs_h = false
32+ else
33+ have = cc.sizeof(decl,
34+ prefix : decl_headers + '#include <linux/fs.h>',
35+ args : '-D_GNU_SOURCE') > 0
36+ want_linux_fs_h = have
37+ endif
38+ endif
39+
40 if decl == 'struct statx'
41 if have
42 want_linux_stat_h = false
43@@ -501,6 +511,7 @@ foreach decl : ['char16_t',
44 endforeach
45
46 conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h)
47+conf.set10('WANT_LINUX_FS_H', want_linux_fs_h)
48
49 foreach ident : ['secure_getenv', '__secure_getenv']
50 conf.set10('HAVE_' + ident.to_upper(), cc.has_function(ident))
51--- a/src/core/namespace.c
52+++ b/src/core/namespace.c
53@@ -6,7 +6,9 @@
54 #include <stdio.h>
55 #include <sys/mount.h>
56 #include <unistd.h>
57+#if WANT_LINUX_FS_H
58 #include <linux/fs.h>
59+#endif
60
61 #include "alloc-util.h"
62 #include "base-filesystem.h"
63--- a/src/shared/mount-util.c
64+++ b/src/shared/mount-util.c
65@@ -7,7 +7,9 @@
66 #include <sys/statvfs.h>
67 #include <unistd.h>
68 #include <linux/loop.h>
69+#if WANT_LINUX_FS_H
70 #include <linux/fs.h>
71+#endif
72
73 #include "alloc-util.h"
74 #include "chase-symlinks.h"
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-pass-correct-parameters-to-getdents64.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-pass-correct-parameters-to-getdents64.patch
deleted file mode 100644
index 03a29b532..000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-pass-correct-parameters-to-getdents64.patch
+++ /dev/null
@@ -1,50 +0,0 @@
1From fbc10748c7c59d82024a4d35146b8dfef8d52927 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 21 Jan 2022 15:15:11 -0800
4Subject: [PATCH 1/2] pass correct parameters to getdents64
5
6Fixes
7../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
8 n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
9 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10
11../git/src/basic/stat-util.c:102:28: error: incompatible pointer types passing 'union (unnamed union at ../git/src/basic/stat-util.c:78:9) *' to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
12 n = getdents64(fd, &buffer, sizeof(buffer));
13 ^~~~~~~
14
15Upstream-Status: Pending
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 src/basic/recurse-dir.c | 2 +-
19 src/basic/stat-util.c | 2 +-
20 2 files changed, 2 insertions(+), 2 deletions(-)
21
22diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c
23index efa1797b7b..797285e3be 100644
24--- a/src/basic/recurse-dir.c
25+++ b/src/basic/recurse-dir.c
26@@ -54,7 +54,7 @@ int readdir_all(int dir_fd,
27 bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX);
28 assert(bs > de->buffer_size);
29
30- n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
31+ n = getdents64(dir_fd, de->buffer + de->buffer_size, bs - de->buffer_size);
32 if (n < 0)
33 return -errno;
34 if (n == 0)
35diff --git a/src/basic/stat-util.c b/src/basic/stat-util.c
36index efac7b002e..9e1fe7f5a0 100644
37--- a/src/basic/stat-util.c
38+++ b/src/basic/stat-util.c
39@@ -99,7 +99,7 @@ int dir_is_empty_at(int dir_fd, const char *path) {
40 return fd;
41 }
42
43- n = getdents64(fd, &buffer, sizeof(buffer));
44+ n = getdents64(fd, (struct dirent *)&buffer, sizeof(buffer));
45 if (n < 0)
46 return -errno;
47
48--
492.34.1
50
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.9.bb
index 853cc20b6..14e927d07 100644
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.9.bb
@@ -10,11 +10,11 @@ inherit meson pkgconfig
10 10
11DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native" 11DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native"
12 12
13SRCREV = "73be9643910c3f7f3ff84765d63060846c110016" 13SRCREV = "1d5e0e9910500f3c3584485f77bfc35e601036e3"
14SRCBRANCH = "v250-stable" 14SRCBRANCH = "v250-stable"
15SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \ 15SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
16 file://static-libsystemd-pkgconfig.patch \ 16 file://static-libsystemd-pkgconfig.patch \
17 file://0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch \ 17 file://0001-dirent-util-Remove-asserts-on-dirent64-dirent.patch \
18 " 18 "
19 19
20# patches needed by musl 20# patches needed by musl
@@ -44,7 +44,6 @@ SRC_URI_MUSL = "\
44 file://0025-Handle-__cpu_mask-usage.patch \ 44 file://0025-Handle-__cpu_mask-usage.patch \
45 file://0026-Handle-missing-gshadow.patch \ 45 file://0026-Handle-missing-gshadow.patch \
46 file://0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ 46 file://0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \
47 file://0001-pass-correct-parameters-to-getdents64.patch \
48 file://0002-Add-sys-stat.h-for-S_IFDIR.patch \ 47 file://0002-Add-sys-stat.h-for-S_IFDIR.patch \
49 file://0001-Adjust-for-musl-headers.patch \ 48 file://0001-Adjust-for-musl-headers.patch \
50 " 49 "