From 0b213d5a38361408dd82b3c61bf31e6d7efee61e Mon Sep 17 00:00:00 2001 From: Adam Duskett Date: Sat, 22 Dec 2018 20:12:08 -0500 Subject: [PATCH] package/systemd: bump to v240 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit In addition: - Remove unused option -Dkill-path. (See commit 9a85778412fa3e3f8d4561064131ba69f3259b28) - Change option -Dmyhostname to -Dnss-myhostname. - Remove patches from upstream. - Update hash of README file. The changes are unrelated to licensing. Signed-off-by: Adam Duskett Tested-by: Jérémy Rosen [Thomas: update the hash of the README file.] Signed-off-by: Thomas Petazzoni --- .../0002-install-don-t-use-ln-relative.patch | 2 +- ...-whether-struct-statx-is-defined-in-.patch | 111 ------------------ ...x-stat.h-check-with-other-checks-and.patch | 77 ------------ ...we-have-enough-space-for-the-DHCP6-o.patch | 30 ----- ...build-fix-detection-of-Werror-shadow.patch | 34 ------ package/systemd/systemd.hash | 4 +- package/systemd/systemd.mk | 7 +- 7 files changed, 6 insertions(+), 259 deletions(-) delete mode 100644 package/systemd/0003-build-sys-Detect-whether-struct-statx-is-defined-in-.patch delete mode 100644 package/systemd/0004-meson-unify-linux-stat.h-check-with-other-checks-and.patch delete mode 100644 package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch delete mode 100644 package/systemd/0006-meson.build-fix-detection-of-Werror-shadow.patch diff --git a/package/systemd/0002-install-don-t-use-ln-relative.patch b/package/systemd/0002-install-don-t-use-ln-relative.patch index a024ac4a23..7933207780 100644 --- a/package/systemd/0002-install-don-t-use-ln-relative.patch +++ b/package/systemd/0002-install-don-t-use-ln-relative.patch @@ -33,7 +33,7 @@ diff --git a/meson.build b/meson.build index 04331dd41..359042c04 100644 --- a/meson.build +++ b/meson.build -@@ -559,7 +559,7 @@ endforeach +@@ -628,7 +628,7 @@ endforeach conf.set_quoted('TELINIT', get_option('telinit-path')) if run_command('ln', '--relative', '--help').returncode() != 0 diff --git a/package/systemd/0003-build-sys-Detect-whether-struct-statx-is-defined-in-.patch b/package/systemd/0003-build-sys-Detect-whether-struct-statx-is-defined-in-.patch deleted file mode 100644 index d849659c77..0000000000 --- a/package/systemd/0003-build-sys-Detect-whether-struct-statx-is-defined-in-.patch +++ /dev/null @@ -1,111 +0,0 @@ -From ebe5606eadb1241796ba9747d8e357bd6b3e912e Mon Sep 17 00:00:00 2001 -From: Filipe Brandenburger -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 - -(cherry picked from commit 75720bff62a84896e9a0654afc7cf9408cf89a38) -Signed-off-by: Romain Naour ---- - 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 04331dd41..a0e724070 100644 ---- a/meson.build -+++ b/meson.build -@@ -425,6 +425,7 @@ decl_headers = ''' - #include - ''' - # 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 -+''', 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 71a07d057..14ad3d491 100644 ---- a/src/basic/missing.h -+++ b/src/basic/missing.h -@@ -15,7 +15,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -25,6 +24,10 @@ - #include - #include - -+#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H -+#include -+#endif -+ - #if HAVE_AUDIT - #include - #endif -diff --git a/src/basic/xattr-util.c b/src/basic/xattr-util.c -index c5c55ea84..0ee097983 100644 ---- a/src/basic/xattr-util.c -+++ b/src/basic/xattr-util.c -@@ -2,7 +2,6 @@ - - #include - #include --#include - #include - #include - #include --- -2.14.4 - diff --git a/package/systemd/0004-meson-unify-linux-stat.h-check-with-other-checks-and.patch b/package/systemd/0004-meson-unify-linux-stat.h-check-with-other-checks-and.patch deleted file mode 100644 index 70c35c66e2..0000000000 --- a/package/systemd/0004-meson-unify-linux-stat.h-check-with-other-checks-and.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 17bd864a04a0583cfb343c5621b591bdd76d79ad Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -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. - -(cherry picked from commit 9c869d08d82c73f62ab3527567858ce4b0cf1257) -Signed-off-by: Romain Naour ---- - meson.build | 20 ++++++++++++++------ - src/basic/missing.h | 2 +- - 2 files changed, 15 insertions(+), 7 deletions(-) - -diff --git a/meson.build b/meson.build -index a0e724070..5dcabdc6c 100644 ---- a/meson.build -+++ b/meson.build -@@ -421,11 +421,9 @@ decl_headers = ''' - #include - #include - #include --#include - #include - ''' - # 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 ', -+ 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 --''', 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 14ad3d491..9044683b1 100644 ---- a/src/basic/missing.h -+++ b/src/basic/missing.h -@@ -24,7 +24,7 @@ - #include - #include - --#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H -+#if WANT_LINUX_STAT_H - #include - #endif - --- -2.14.4 - diff --git a/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch b/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch deleted file mode 100644 index 6a72a38988..0000000000 --- a/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 49653743f69658aeeebdb14faf1ab158f1f2cb20 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 19 Oct 2018 12:12:33 +0200 -Subject: [PATCH] dhcp6: make sure we have enough space for the DHCP6 option - header - -Fixes CVE-2018-15688: -https://security-tracker.debian.org/tracker/CVE-2018-15688 - -Patch downloaded from upstream commit: -https://github.com/systemd/systemd/commit/49653743f69658aeeebdb14faf1ab158f1f2cb20 - -Signed-off-by: Bernd Kuhls ---- - src/libsystemd-network/dhcp6-option.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libsystemd-network/dhcp6-option.c b/src/libsystemd-network/dhcp6-option.c -index cbd4bc7a2a3..2806415100c 100644 ---- a/src/libsystemd-network/dhcp6-option.c -+++ b/src/libsystemd-network/dhcp6-option.c -@@ -106,7 +106,7 @@ int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, const DHCP6IA *ia) { - return -EINVAL; - } - -- if (*buflen < len) -+ if (*buflen < offsetof(DHCP6Option, data) + len) - return -ENOBUFS; - - ia_hdr = *buf; diff --git a/package/systemd/0006-meson.build-fix-detection-of-Werror-shadow.patch b/package/systemd/0006-meson.build-fix-detection-of-Werror-shadow.patch deleted file mode 100644 index 0aa3189206..0000000000 --- a/package/systemd/0006-meson.build-fix-detection-of-Werror-shadow.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7bd6e6db3dbb980c099b444c61d9aff7fcc636cf Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 29 Nov 2018 13:22:08 +0100 -Subject: [PATCH] meson.build: fix detection of -Werror=shadow - -Pass -Werror=shadow in args of cc.compiles otherwise test will always -succeed -This fix a build failure with gcc 4.7.3 - -Fixes: - - http://autobuild.buildroot.org/results/ffd71c473d3b29618c18cd2e04705370266696f2 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/systemd/systemd/pull/10993] ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 37ae27b4a..980150ac8 100644 ---- a/meson.build -+++ b/meson.build -@@ -396,7 +396,7 @@ if cc.compiles(''' - struct timespec now; - return 0; - } --''', name : '-Werror=shadow with local shadowing') -+''', args: '-Werror=shadow', name : '-Werror=shadow with local shadowing') - add_project_arguments('-Werror=shadow', language : 'c') - endif - --- -2.14.1 - diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index 012f1e595e..9c1a512ce7 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 8a11b1b07d620f4c06a16e95bba4dd2a97e90efdf2a5ba47ed0a935085787a14 systemd-239.tar.gz +sha256 8f15aec1ac926e13a21a04d0ca3fe371f7004951448142a6f8952075c5b5f0b5 systemd-240.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 -sha256 37ab495827a3cdbbc35ceaba3066764d69b6490e514e0c8a1acdb3c2fdb9e921 README +sha256 a693f8f654fdf016e2aefe6b30aa6e1211728b8269ab325408a152c6c9b6ebe8 README diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index e53f0b699a..15db1969e5 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSTEMD_VERSION = 239 +SYSTEMD_VERSION = 240 SYSTEMD_SITE = $(call github,systemd,systemd,v$(SYSTEMD_VERSION)) SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README) SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README @@ -34,7 +34,6 @@ SYSTEMD_CONF_OPTS += \ -Dsystem-uid-max=999 \ -Dsystem-gid-max=999 \ -Dtelinit-path=$(TARGET_DIR)/sbin/telinit \ - -Dkill-path=/usr/bin/kill \ -Dkmod-path=/usr/bin/kmod \ -Dkexec-path=/usr/sbin/kexec \ -Dsulogin-path=/usr/sbin/sulogin \ @@ -251,9 +250,9 @@ SYSTEMD_CONF_OPTS += -Dhostnamed=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_MYHOSTNAME),y) -SYSTEMD_CONF_OPTS += -Dmyhostname=true +SYSTEMD_CONF_OPTS += -Dnss-myhostname=true else -SYSTEMD_CONF_OPTS += -Dmyhostname=false +SYSTEMD_CONF_OPTS += -Dnss-myhostname=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_TIMEDATED),y) -- 2.30.2