summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2019-02-26 09:20:16 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-03-03 15:38:13 +0000
commit4eb2b3f1503a41474d0c40ada296a9800840267c (patch)
treea8115d141b07b7d064f434dbaa237676abb517b1 /meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
parentf1c766fc4e51ada80c022a63176aafd9b40ef07c (diff)
downloadpoky-4eb2b3f1503a41474d0c40ada296a9800840267c.tar.gz
systemd: upgrade to 241
PATCH REBASED: ============== 0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch 0004-rules-whitelist-hd-devices.patch 0007-rules-watch-metadata-changes-in-ide-devices.patch 0001-Use-getenv-when-secure-versions-are-not-available.patch 0002-don-t-use-glibc-specific-qsort_r.patch 0004-add-fallback-parse_printf_format-implementation.patch 0006-src-basic-missing.h-check-for-missing-strndupa.patch 0007-Include-netinet-if_ether.h.patch 0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch 0009-add-missing-FTW_-macros-for-musl.patch 0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch 0013-Use-uintmax_t-for-handling-rlim_t.patch 0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch 0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch PATCH DROPPED: ============== 0005-Make-root-s-home-directory-configurable.patch systemd has its hardcoded assumption about /home and /, and it also respects $HOME environment var, so this patch is somehow useless. This patch was originally added but in fact had no real runtime effect except messing up some hardcoded assumptions, and it was accidently manipulated during systemd upgrade. We have in fact not used the orignal patch for more than two releases and things were working out well. 0006-remove-nobody-user-group-checking.patch The issue has been fixed upstream by the following commit. "check nobody user/group validity only when not cross compiling" 0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch 0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch The issue has been fixed upstream by the following commit. "meson: allow building resolved and machined without nss modules" 0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch 0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch Backport 0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch Merged 0023-resolvconf-fixes-for-the-compatibility-interface.patch 0001-core-when-deserializing-state-always-use-read_line-L.patch 0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch 0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch 0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch 0001-timesync-changes-type-of-drift_freq-to-int64_t.patch Backport 0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch 0002-core-Fix-use-after-free-case-in-load_from_path.patch Merged 0001-meson-rename-Ddebug-to-Ddebug-extra.patch 0024-journald-do-not-store-the-iovec-entry-for-process-co.patch 0025-journald-set-a-limit-on-the-number-of-fields.patch 0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch CVE-2019-6454.patch sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch 0005-basic-user-util-properly-protect-use-of-gshadow.patch 0022-Use-if-instead-of-ifdef-for-ENABLE_GSHADOW.patch Backport 0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch No build failure for qemux86/qemuppc + musl PATCH ADDED: ============ 0020-missing_type.h-add-__compar_d_fn_t-definition.patch 0021-avoid-redefinition-of-prctl_mm_map-structure.patch 0022-include-sys-wait.h-to-avoid-compile-failure.patch 0023-socket-util.h-include-string.h.patch 0024-test-json.c-define-M_PIl.patch 0001-do-not-disable-buffer-in-writing-files.patch PATCH OTHERS: ============= 0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch 0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch are combined into one patch: 0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch Add two more PACKAGECONFIG, nss-mymachines and nss-resolve which are introduced by the following commit. meson: allow building resolved and machined without nss modules (From OE-Core rev: 816e08c18dbcf6e84dedc7a4bd96ddfbf2f86ebc) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch')
-rw-r--r--meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch154
1 files changed, 154 insertions, 0 deletions
diff --git a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
new file mode 100644
index 0000000000..765e4767fd
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
@@ -0,0 +1,154 @@
1From f8a239b182158ca0a537ba053cb0e6bad9c3a2fb Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 14:56:21 +0800
4Subject: [PATCH 07/24] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
5 defined
6
7If the standard library doesn't provide brace
8expansion users just won't get it.
9
10Dont use GNU GLOB extentions on non-glibc systems
11
12Conditionalize use of GLOB_ALTDIRFUNC
13
14Upstream-Status: Inappropriate [musl specific]
15
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
18---
19 src/basic/glob-util.c | 12 +++++++++++-
20 src/test/test-glob-util.c | 17 +++++++++++++++--
21 src/tmpfiles/tmpfiles.c | 9 +++++++++
22 3 files changed, 35 insertions(+), 3 deletions(-)
23
24diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
25index 9fac676..962d8b9 100644
26--- a/src/basic/glob-util.c
27+++ b/src/basic/glob-util.c
28@@ -10,6 +10,11 @@
29 #include "macro.h"
30 #include "path-util.h"
31 #include "strv.h"
32+/* Don't fail if the standard library
33+ * doesn't provide brace expansion */
34+#ifndef GLOB_BRACE
35+#define GLOB_BRACE 0
36+#endif
37
38 static void closedir_wrapper(void* v) {
39 (void) closedir(v);
40@@ -18,6 +23,7 @@ static void closedir_wrapper(void* v) {
41 int safe_glob(const char *path, int flags, glob_t *pglob) {
42 int k;
43
44+#ifdef GLOB_ALTDIRFUNC
45 /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
46 assert(!(flags & GLOB_ALTDIRFUNC));
47
48@@ -31,10 +37,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
49 pglob->gl_lstat = lstat;
50 if (!pglob->gl_stat)
51 pglob->gl_stat = stat;
52+#endif
53
54 errno = 0;
55+#ifdef GLOB_ALTDIRFUNC
56 k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob);
57-
58+#else
59+ k = glob(path, flags, NULL, pglob);
60+#endif
61 if (k == GLOB_NOMATCH)
62 return -ENOENT;
63 if (k == GLOB_NOSPACE)
64diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
65index b4f4144..955b3ba 100644
66--- a/src/test/test-glob-util.c
67+++ b/src/test/test-glob-util.c
68@@ -12,6 +12,11 @@
69 #include "macro.h"
70 #include "rm-rf.h"
71 #include "tmpfile-util.h"
72+/* Don't fail if the standard library
73+ * doesn't provide brace expansion */
74+#ifndef GLOB_BRACE
75+#define GLOB_BRACE 0
76+#endif
77
78 static void test_glob_exists(void) {
79 char name[] = "/tmp/test-glob_exists.XXXXXX";
80@@ -38,25 +43,33 @@ static void closedir_wrapper(void* v) {
81 static void test_glob_no_dot(void) {
82 char template[] = "/tmp/test-glob-util.XXXXXXX";
83 const char *fn;
84-
85 _cleanup_globfree_ glob_t g = {
86+#ifdef GLOB_ALTDIRFUNC
87 .gl_closedir = closedir_wrapper,
88 .gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot,
89 .gl_opendir = (void *(*)(const char *)) opendir,
90 .gl_lstat = lstat,
91 .gl_stat = stat,
92+#endif
93 };
94-
95 int r;
96
97 assert_se(mkdtemp(template));
98
99 fn = strjoina(template, "/*");
100+#ifdef GLOB_ALTDIRFUNC
101 r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
102+#else
103+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
104+#endif
105 assert_se(r == GLOB_NOMATCH);
106
107 fn = strjoina(template, "/.*");
108+#ifdef GLOB_ALTDIRFUNC
109 r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
110+#else
111+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
112+#endif
113 assert_se(r == GLOB_NOMATCH);
114
115 (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
116diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
117index b66765b..11dbbf4 100644
118--- a/src/tmpfiles/tmpfiles.c
119+++ b/src/tmpfiles/tmpfiles.c
120@@ -60,6 +60,11 @@
121 #include "umask-util.h"
122 #include "user-util.h"
123 #include "util.h"
124+/* Don't fail if the standard library
125+ * doesn't provide brace expansion */
126+#ifndef GLOB_BRACE
127+#define GLOB_BRACE 0
128+#endif
129
130 /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
131 * them in the file system. This is intended to be used to create
132@@ -1853,7 +1858,9 @@ finish:
133
134 static int glob_item(Item *i, action_t action) {
135 _cleanup_globfree_ glob_t g = {
136+#ifdef GLOB_ALTDIRFUNC
137 .gl_opendir = (void *(*)(const char *)) opendir_nomod,
138+#endif
139 };
140 int r = 0, k;
141 char **fn;
142@@ -1873,7 +1880,9 @@ static int glob_item(Item *i, action_t action) {
143
144 static int glob_item_recursively(Item *i, fdaction_t action) {
145 _cleanup_globfree_ glob_t g = {
146+#ifdef GLOB_ALTDIRFUNC
147 .gl_opendir = (void *(*)(const char *)) opendir_nomod,
148+#endif
149 };
150 int r = 0, k;
151 char **fn;
152--
1532.7.4
154