Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org --- python-setuptools/python-setuptools.nm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/python-setuptools/python-setuptools.nm b/python-setuptools/python-setuptools.nm index 8f1823aea..ffef974cf 100644 --- a/python-setuptools/python-setuptools.nm +++ b/python-setuptools/python-setuptools.nm @@ -4,7 +4,7 @@ ###############################################################################
name = python-setuptools -version = 28.2.0 +version = 40.4.3 release = 1 arch = noarch thisapp = setuptools-%{version} @@ -21,6 +21,8 @@ description especially ones that have dependencies on other packages. end
+source_dl = https://github.com/pypa/setuptools/archive/v%%7Bversion%7D.tar.gz#/ + build requires pakfire-builder >= 0.9.23-2 @@ -36,9 +38,11 @@ build
build pushd %{DIR_APP3} + %{python3} bootstrap.py CFLAGS="%{CFLAGS}" %{python3} setup.py build popd
+ %{python} bootstrap.py CFLAGS="%{CFLAGS}" %{python} setup.py build end
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org --- python-lxml/python-lxml.nm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/python-lxml/python-lxml.nm b/python-lxml/python-lxml.nm index 82c07c57a..94938c027 100644 --- a/python-lxml/python-lxml.nm +++ b/python-lxml/python-lxml.nm @@ -4,7 +4,7 @@ ###############################################################################
name = python-lxml -version = 3.4.4 +version = 4.2.5 release = 1 thisapp = lxml-%{version}
@@ -43,11 +43,6 @@ build
# Run tests. %{python3} test.py -p -v - - # Launch more tests. - export PYTHONPATH=src - %{python3} selftest.py - %{python3} selftest2.py end
install
--- ninja/ninja.nm | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 ninja/ninja.nm
diff --git a/ninja/ninja.nm b/ninja/ninja.nm new file mode 100644 index 000000000..e0793d8a0 --- /dev/null +++ b/ninja/ninja.nm @@ -0,0 +1,69 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = ninja +version = 1.8.2 +release = 1 + +groups = Applications/System +url = http://martine.github.com/ninja/ +license = ASL 2.0 +summary = A small build system with a focus on speed + +description + Ninja is a small build system with a focus on speed. It differs from other + build systems in two major respects: it is designed to have its input files + generated by a higher-level build system, and it is designed to run builds as + fast as possible. +end + +source_dl = https://github.com/martine/ninja/archive/v%%7Bversion%7D/ + +build + requires + asciidoc + python3-devel + end + + build + # Configure and bootstrap the build environment. + %{python3} configure.py --bootstrap --verbose + + # Build ninja. + ./ninja -v all + + # Build manual. + ./ninja -v manual + end + + check + # Run testsuite - filter SubprocessTest + ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots + end + + install + # Install ninja. + install -Dpm0755 ninja -t %{BUILDROOT}%{bindir}/ + + # Create compatibliy symlink. + ln -s ninja %{BUILDROOT}%{bindir}/ninja-build + + # Install bash-comletion. + install -Dpm0644 misc/bash-completion %{BUILDROOT}%{datadir}/bash-completion/completions/ninja + + # Install ninja syntax highlighting for vim. + install -Dpm0644 misc/ninja.vim %{BUILDROOT}%{datadir}/vim/vimfiles/syntax/ninja.vim + end +end + +packages + package %{name} + provides += ninja-build + end + + package %{name}-debuginfo + template DEBUGINFO + end +end
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org --- meson/meson.nm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 meson/meson.nm
diff --git a/meson/meson.nm b/meson/meson.nm new file mode 100644 index 000000000..208966a79 --- /dev/null +++ b/meson/meson.nm @@ -0,0 +1,52 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = meson +version = 0.48.1 +release = 1 +arch = noarch + +groups = Applications/System +url = http://mesonbuild.com/ +license = ASL 2.0 +summary = High productivity build system + +description + Meson is a build system designed to optimize programmer + productivity. It aims to do this by providing simple, out-of-the-box + support for modern software development tools and practices, such as + unit tests, coverage reports, Valgrind, CCache and the like. +end + +source_dl = https://github.com/mesonbuild/meson/archive/%%7Bversion%7D/ + +build + requires + bison + boost-devel + flex + gcc-c++ + gettext + ninja-build >= 1.5 + python3-devel >= 3.5 + python3-setuptools + end + + build + %{python3} setup.py build + end + + install + %{python3} setup.py install -O1 --skip-build --root %{BUILDROOT} + end +end + +packages + package %{name} + requires + python3-setuptools + end + end +end
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org --- ...-whether-struct-statx-is-defined-in-.patch | 105 ++++++++++++++++++ ...-meson-rename-Ddebug-to-Ddebug-extra.patch | 43 +++++++ ...ine_begins-to-accept-word-matching-f.patch | 48 ++++++++ .../systemd-231-ipfire-disable-tests.patch | 58 ---------- systemd/systemd.nm | 65 ++++++----- 5 files changed, 234 insertions(+), 85 deletions(-) create mode 100644 systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch create mode 100644 systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch create mode 100644 systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch delete mode 100644 systemd/patches/systemd-231-ipfire-disable-tests.patch
diff --git a/systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch b/systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch new file mode 100644 index 000000000..5a2cf2372 --- /dev/null +++ b/systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch @@ -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/28cb5d31fc1e5887912283c889689c470... + +glibc upstream commit: +https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fd70af45528d59a00eb31... +--- + 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> diff --git a/systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch b/systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch new file mode 100644 index 000000000..81402af55 --- /dev/null +++ b/systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch @@ -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 + diff --git a/systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch b/systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch new file mode 100644 index 000000000..1b9df6dfc --- /dev/null +++ b/systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch @@ -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 + diff --git a/systemd/patches/systemd-231-ipfire-disable-tests.patch b/systemd/patches/systemd-231-ipfire-disable-tests.patch deleted file mode 100644 index cd4bbe928..000000000 --- a/systemd/patches/systemd-231-ipfire-disable-tests.patch +++ /dev/null @@ -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 diff --git a/systemd/systemd.nm b/systemd/systemd.nm index a95228f15..368ecdf0e 100644 --- a/systemd/systemd.nm +++ b/systemd/systemd.nm @@ -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 + + build + # Call meson and pass configure options. + meson --buildtype=plain %{configure_options} . build
- ./autogen.sh + # 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
Hey Stefan,
thank you for working on this so urgently.
This builds on my system and I merged the patches.
Best, -Michael
On Sun, 2018-10-21 at 21:35 +0200, Stefan Schantl wrote:
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org
...-whether-struct-statx-is-defined-in-.patch | 105 ++++++++++++++++++ ...-meson-rename-Ddebug-to-Ddebug-extra.patch | 43 +++++++ ...ine_begins-to-accept-word-matching-f.patch | 48 ++++++++ .../systemd-231-ipfire-disable-tests.patch | 58 ---------- systemd/systemd.nm | 65 ++++++----- 5 files changed, 234 insertions(+), 85 deletions(-) create mode 100644 systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch create mode 100644 systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch create mode 100644 systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch delete mode 100644 systemd/patches/systemd-231-ipfire-disable-tests.patch
diff --git a/systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch b/systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch new file mode 100644 index 000000000..5a2cf2372 --- /dev/null +++ b/systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch @@ -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/28cb5d31fc1e5887912283c889689c470...
+glibc upstream commit: +https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fd70af45528d59a00eb31... +---
- 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>
diff --git a/systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch b/systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch new file mode 100644 index 000000000..81402af55 --- /dev/null +++ b/systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch @@ -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
diff --git a/systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch b/systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch new file mode 100644 index 000000000..1b9df6dfc --- /dev/null +++ b/systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch @@ -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
diff --git a/systemd/patches/systemd-231-ipfire-disable-tests.patch b/systemd/patches/systemd-231-ipfire-disable-tests.patch deleted file mode 100644 index cd4bbe928..000000000 --- a/systemd/patches/systemd-231-ipfire-disable-tests.patch +++ /dev/null @@ -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
diff --git a/systemd/systemd.nm b/systemd/systemd.nm index a95228f15..368ecdf0e 100644 --- a/systemd/systemd.nm +++ b/systemd/systemd.nm @@ -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
attr-devel cryptsetup-luks-devel >= 1.4.2 dbus-develautomake
@@ -55,9 +53,10 @@ build libcap-devel libgcrypt-devel libmount-devel
libuuid-devel m4libtool
meson
pam-devel pciutils-devel python3-develninja >= 1.5
@@ -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
build
# Call meson and pass configure options.
meson --buildtype=plain %{configure_options} . build
./autogen.sh
# 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
endninja test -v %{PARALLELISMFLAGS} -C build || true
- 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