mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
systemd: drop patches
This commit is contained in:
parent
33a9e93a8b
commit
f308199746
@ -1,105 +0,0 @@
|
|||||||
From 75720bff62a84896e9a0654afc7cf9408cf89a38 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Filipe Brandenburger <filbranden@google.com>
|
|
||||||
Date: Sun, 15 Jul 2018 22:43:35 -0700
|
|
||||||
Subject: [PATCH] build-sys: Detect whether struct statx is defined in
|
|
||||||
sys/stat.h
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Starting with glibc 2.27.9000-36.fc29, include file sys/stat.h will have a
|
|
||||||
definition for struct statx, in which case include file linux/stat.h should be
|
|
||||||
avoided, in order to prevent a duplicate definition.
|
|
||||||
|
|
||||||
In file included from ../src/basic/missing.h:18,
|
|
||||||
from ../src/basic/util.h:28,
|
|
||||||
from ../src/basic/hashmap.h:10,
|
|
||||||
from ../src/shared/bus-util.h:12,
|
|
||||||
from ../src/libsystemd/sd-bus/bus-creds.c:11:
|
|
||||||
/usr/include/linux/stat.h:99:8: error: redefinition of ‘struct statx’
|
|
||||||
struct statx {
|
|
||||||
^~~~~
|
|
||||||
In file included from /usr/include/sys/stat.h:446,
|
|
||||||
from ../src/basic/util.h:19,
|
|
||||||
from ../src/basic/hashmap.h:10,
|
|
||||||
from ../src/shared/bus-util.h:12,
|
|
||||||
from ../src/libsystemd/sd-bus/bus-creds.c:11:
|
|
||||||
/usr/include/bits/statx.h:36:8: note: originally defined here
|
|
||||||
struct statx
|
|
||||||
^~~~~
|
|
||||||
|
|
||||||
Extend our meson.build to look for struct statx when only sys/stat.h is
|
|
||||||
included and, in that case, do not include linux/stat.h anymore.
|
|
||||||
|
|
||||||
Tested that systemd builds correctly when using a glibc version that includes a
|
|
||||||
definition for struct statx.
|
|
||||||
|
|
||||||
glibc Fedora RPM update:
|
|
||||||
https://src.fedoraproject.org/rpms/glibc/c/28cb5d31fc1e5887912283c889689c47076278ae
|
|
||||||
|
|
||||||
glibc upstream commit:
|
|
||||||
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fd70af45528d59a00eb3190ef6706cb299488fcd
|
|
||||||
---
|
|
||||||
meson.build | 5 +++++
|
|
||||||
src/basic/missing.h | 5 ++++-
|
|
||||||
src/basic/xattr-util.c | 1 -
|
|
||||||
3 files changed, 9 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index dd904c71487..68423bdfa5e 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -425,6 +425,7 @@ decl_headers = '''
|
|
||||||
#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',
|
|
||||||
@@ -439,6 +440,10 @@ foreach decl : ['char16_t',
|
|
||||||
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)
|
|
||||||
+
|
|
||||||
foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'],
|
|
||||||
['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
|
|
||||||
['IFLA_VRF_TABLE', 'linux/if_link.h'],
|
|
||||||
diff --git a/src/basic/missing.h b/src/basic/missing.h
|
|
||||||
index 71a07d05747..14ad3d49140 100644
|
|
||||||
--- a/src/basic/missing.h
|
|
||||||
+++ b/src/basic/missing.h
|
|
||||||
@@ -15,7 +15,6 @@
|
|
||||||
#include <linux/neighbour.h>
|
|
||||||
#include <linux/oom.h>
|
|
||||||
#include <linux/rtnetlink.h>
|
|
||||||
-#include <linux/stat.h>
|
|
||||||
#include <net/ethernet.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/resource.h>
|
|
||||||
@@ -25,6 +24,10 @@
|
|
||||||
#include <uchar.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
+#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H
|
|
||||||
+#include <linux/stat.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#if HAVE_AUDIT
|
|
||||||
#include <libaudit.h>
|
|
||||||
#endif
|
|
||||||
diff --git a/src/basic/xattr-util.c b/src/basic/xattr-util.c
|
|
||||||
index c5c55ea8461..0ee0979837c 100644
|
|
||||||
--- a/src/basic/xattr-util.c
|
|
||||||
+++ b/src/basic/xattr-util.c
|
|
||||||
@@ -2,7 +2,6 @@
|
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
-#include <linux/stat.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
@ -1,124 +0,0 @@
|
|||||||
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 1/2] 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.
|
|
||||||
---
|
|
||||||
meson.build | 20 ++++++++++++++------
|
|
||||||
src/basic/missing.h | 2 +-
|
|
||||||
2 files changed, 15 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index 68423bdfa5e..99035d2306c 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 14ad3d49140..9044683b15f 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
|
|
||||||
|
|
||||||
|
|
||||||
From 1d7aedf11a22d0c1aca40905e953a25f03252cde 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:42:06 +0200
|
|
||||||
Subject: [PATCH 2/2] meson: remove false check for key_serial_t
|
|
||||||
|
|
||||||
key_serial_t is defined in keyutil.h, which wasn't included in the header list
|
|
||||||
in the test, so the test always failed. We were always compiling stuff with
|
|
||||||
!HAVE_KEY_SERIAL_T.
|
|
||||||
|
|
||||||
We could try to add keyutil.h to the test, but then we'd have to first check if
|
|
||||||
it is available, which just doesn't seem worth the trouble.
|
|
||||||
|
|
||||||
key_serial_t should always be defined as int32_t. Let's keep the uncoditional
|
|
||||||
define, since repeated compatible typedefs are not a problem, and it allows us
|
|
||||||
to compile even if the header file is missing. If there's ever a change in the
|
|
||||||
definition, we'll have to adjust the code for the different type anyway, and
|
|
||||||
our compiler will tell us.
|
|
||||||
---
|
|
||||||
meson.build | 2 --
|
|
||||||
src/basic/missing.h | 2 --
|
|
||||||
2 files changed, 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index 99035d2306c..84656cdc7e8 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -423,11 +423,9 @@ decl_headers = '''
|
|
||||||
#include <linux/fib_rules.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
'''
|
|
||||||
-# FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
|
|
||||||
|
|
||||||
foreach decl : ['char16_t',
|
|
||||||
'char32_t',
|
|
||||||
- 'key_serial_t',
|
|
||||||
'struct ethtool_link_settings',
|
|
||||||
'struct fib_rule_uid_range',
|
|
||||||
'struct statx',
|
|
||||||
diff --git a/src/basic/missing.h b/src/basic/missing.h
|
|
||||||
index 9044683b15f..477992fbcba 100644
|
|
||||||
--- a/src/basic/missing.h
|
|
||||||
+++ b/src/basic/missing.h
|
|
||||||
@@ -1183,9 +1183,7 @@ struct input_mask {
|
|
||||||
#define KEY_ALS_TOGGLE 0x230
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if ! HAVE_KEY_SERIAL_T
|
|
||||||
typedef int32_t key_serial_t;
|
|
||||||
-#endif
|
|
||||||
|
|
||||||
#ifndef KEYCTL_JOIN_SESSION_KEYRING
|
|
||||||
#define KEYCTL_JOIN_SESSION_KEYRING 1
|
|
@ -1,40 +0,0 @@
|
|||||||
From 1c04c791e85f9dd5e16ae846d0c0b0a99a47076e Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
|
||||||
Date: Sun, 19 Aug 2018 19:11:30 +0200
|
|
||||||
Subject: [PATCH] meson: rename -Ddebug to -Ddebug-extra
|
|
||||||
|
|
||||||
Meson added -Doptimization and -Ddebug options, which obviously causes
|
|
||||||
a conflict with our -Ddebug options. Let's rename it.
|
|
||||||
|
|
||||||
Fixes #9883.
|
|
||||||
---
|
|
||||||
meson.build | 2 +-
|
|
||||||
meson_options.txt | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index f79ac4b12e7..2209c935ad6 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -763,7 +763,7 @@ substs.set('DEBUGTTY', get_option('debug-tty'))
|
|
||||||
|
|
||||||
enable_debug_hashmap = false
|
|
||||||
enable_debug_mmap_cache = false
|
|
||||||
-foreach name : get_option('debug')
|
|
||||||
+foreach name : get_option('debug-extra')
|
|
||||||
if name == 'hashmap'
|
|
||||||
enable_debug_hashmap = true
|
|
||||||
elif name == 'mmap-cache'
|
|
||||||
diff --git a/meson_options.txt b/meson_options.txt
|
|
||||||
index e3140c8c110..7b1f61bf464 100644
|
|
||||||
--- a/meson_options.txt
|
|
||||||
+++ b/meson_options.txt
|
|
||||||
@@ -45,7 +45,7 @@ option('debug-shell', type : 'string', value : '/bin/sh',
|
|
||||||
description : 'path to debug shell binary')
|
|
||||||
option('debug-tty', type : 'string', value : '/dev/tty9',
|
|
||||||
description : 'specify the tty device for debug shell')
|
|
||||||
-option('debug', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
|
|
||||||
+option('debug-extra', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
|
|
||||||
description : 'enable extra debugging')
|
|
||||||
option('memory-accounting-default', type : 'boolean',
|
|
||||||
description : 'enable MemoryAccounting= by default')
|
|
Loading…
x
Reference in New Issue
Block a user