systemd: Update to version 239

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Stefan Schantl 2018-10-21 21:35:34 +02:00 committed by Michael Tremer
parent 1b7991e266
commit aaa616e7d5
5 changed files with 234 additions and 85 deletions

View File

@ -0,0 +1,105 @@
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 dd904c7148..68423bdfa5 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 71a07d0574..14ad3d4914 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 c5c55ea846..0ee0979837 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>

View File

@ -0,0 +1,43 @@
From 8f6b442a78d0b485f044742ad90b2e8271b4e68e 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 f79ac4b12..2209c935a 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 e3140c8c1..7b1f61bf4 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')
--
2.14.4

View File

@ -0,0 +1,48 @@
From 3f10c66270b74530339b3f466c43874bb40c210f Mon Sep 17 00:00:00 2001
From: Filipe Brandenburger <filbranden@google.com>
Date: Tue, 17 Jul 2018 11:32:40 -0700
Subject: [PATCH] bus-socket: Fix line_begins() to accept word matching full
string
The switch to memory_startswith() changed the logic to only look for a space or
NUL byte after the matched word, but matching the full size should also be
acceptable.
This changed the behavior of parsing of "AUTH\r\n", where m will be set to 4,
since even though the word will match, the check for it being followed by ' '
or NUL will make line_begins() return false.
Tested:
- Using netcat to connect to the private socket directly:
$ echo -ne '\0AUTH\r\n' | sudo nc -U /run/systemd/private
REJECTED EXTERNAL ANONYMOUS
- Running the Ignition blackbox test:
$ sudo sh -c 'PATH=$PWD/bin/amd64:$PATH ./tests.test'
PASS
Fixes: d27b725abf64a19a6b2f99332b663f17ad046771
---
src/libsystemd/sd-bus/bus-socket.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
index be491c957..a785a247c 100644
--- a/src/libsystemd/sd-bus/bus-socket.c
+++ b/src/libsystemd/sd-bus/bus-socket.c
@@ -246,10 +246,7 @@ static bool line_begins(const char *s, size_t m, const char *word) {
const char *p;
p = memory_startswith(s, m, word);
- if (!p)
- return false;
-
- return IN_SET(*p, 0, ' ');
+ return p && (p == (s + m) || *p == ' ');
}
static int verify_anonymous_token(sd_bus *b, const char *p, size_t l) {
--
2.14.4

View File

@ -1,58 +0,0 @@
diff -Nur a/Makefile.am b/Makefile.am
--- a/Makefile.am 2016-07-25 21:49:47.000000000 +0200
+++ b/Makefile.am 2016-09-23 08:34:47.924257243 +0200
@@ -1480,9 +1480,7 @@
test-job-type \
test-env-util \
test-strbuf \
- test-strv \
test-path \
- test-path-util \
test-strxcpyx \
test-siphash24 \
test-unit-name \
@@ -1541,7 +1539,6 @@
test-capability \
test-async \
test-ratelimit \
- test-condition \
test-uid-range \
test-locale-util \
test-execute \
@@ -3586,11 +3583,9 @@
tests += \
test-dhcp-option \
- test-dhcp-client \
test-dhcp-server \
test-ipv4ll \
test-ndisc-rs \
- test-dhcp6-client \
test-lldp
# ------------------------------------------------------------------------------
@@ -4298,16 +4293,11 @@
catalog-remove-hook
tests += \
- test-journal \
test-journal-enum \
test-journal-send \
test-journal-syslog \
test-journal-match \
- test-journal-stream \
test-journal-init \
- test-journal-verify \
- test-journal-interleaving \
- test-journal-flush \
test-mmap-cache \
test-catalog \
test-audit-type
@@ -6518,7 +6508,6 @@
test-libudev-sym.c
tests += \
- test-libsystemd-sym \
test-libudev-sym
.PHONY: cppcheck

View File

@ -4,8 +4,8 @@
###############################################################################
name = systemd
version = 233
release = 3
version = 239
release = 1
maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
groups = System/Base
@ -35,8 +35,6 @@ build
/usr/bin/tree
/usr/bin/umount
autoconf
automake
attr-devel
cryptsetup-luks-devel >= 1.4.2
dbus-devel
@ -55,9 +53,10 @@ build
libcap-devel
libgcrypt-devel
libmount-devel
libtool
libuuid-devel
m4
meson
ninja >= 1.5
pam-devel
pciutils-devel
python3-devel
@ -70,30 +69,36 @@ build
export LD_LIBRARY_PATH = %{DIR_APP}/.libs
configure_options += \
PYTHON=%{python3} \
--with-sysvinit-path= \
--with-sysvrcnd-path= \
--enable-zlib \
--disable-smack \
--disable-backlight \
--disable-firstboot \
--disable-hibernate \
--disable-importd \
--disable-libiptc \
--disable-machined \
--disable-networkd \
--disable-resolved \
--disable-sysusers \
--disable-timesyncd \
--disable-timedated \
--disable-polkit \
--disable-static
configure_options = \
-Dsysvinit-path= \
-Dsysvrcnd-path= \
-Dzlib=true \
-Dsmack=false \
-Dbacklight=false \
-Dfirstboot=false \
-Dhibernate=false \
-Dimportd=false \
-Dlibiptc=false \
-Dmachined=false \
-Dnetworkd=false \
-Dresolve=false \
-Dportabled=false \
-Dsysusers=false \
-Dtimesyncd=false \
-Dtimedated=false \
-Dpolkit=false \
-Dstatic=false
prepare_cmds
%{create_groups}
end
./autogen.sh
build
# Call meson and pass configure options.
meson --buildtype=plain %{configure_options} . build
# Call ninja to start build
ninja -v %{PARALLELISMFLAGS} -C build
end
test
@ -104,10 +109,16 @@ build
systemd-machine-id-setup
# Run the testsuite.
make check || true
ninja test -v %{PARALLELISMFLAGS} -C build || true
end
install_cmds
install
# Export destdir.
export DESTDIR=%{BUILDROOT}
# Call ninja to perform installation
ninja install -v %{PARALLELISMFLAGS} -C build
# Create folder in log to store the journal.
mkdir -pv %{BUILDROOT}/var/log/journal