mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility
@ 2018-09-21 16:08 Clemens Gruber
  2018-09-21 16:08 ` [ptxdist] [PATCH 2/3] busybox: version bump 1.28.3 -> 1.29.3 Clemens Gruber
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Clemens Gruber @ 2018-09-21 16:08 UTC (permalink / raw)
  To: ptxdist; +Cc: Clemens Gruber

Taken from systemd upstream.

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
 ...-whether-struct-statx-is-defined-in-.patch | 104 ++++++++++++++++++
 patches/systemd-239/series                    |   4 +
 2 files changed, 108 insertions(+)
 create mode 100644 patches/systemd-239/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
 create mode 100644 patches/systemd-239/series

diff --git a/patches/systemd-239/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch b/patches/systemd-239/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
new file mode 100644
index 000000000..44a4b7504
--- /dev/null
+++ b/patches/systemd-239/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
@@ -0,0 +1,104 @@
+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 04331dd41a19..a0e724070874 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 71a07d057474..14ad3d49140f 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 c5c55ea8461a..0ee0979837cd 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/patches/systemd-239/series b/patches/systemd-239/series
new file mode 100644
index 000000000..c75fbeb9a
--- /dev/null
+++ b/patches/systemd-239/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
+# 54d194f090a373e4c969c7c584a671c4  - git-ptx-patches magic
-- 
2.19.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [ptxdist] [PATCH 2/3] busybox: version bump 1.28.3 -> 1.29.3
  2018-09-21 16:08 [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility Clemens Gruber
@ 2018-09-21 16:08 ` Clemens Gruber
  2018-09-21 16:08 ` [ptxdist] [PATCH 3/3] iproute2: add busybox guard dependency Clemens Gruber
  2018-09-22 17:50 ` [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility Roland Hieber
  2 siblings, 0 replies; 5+ messages in thread
From: Clemens Gruber @ 2018-09-21 16:08 UTC (permalink / raw)
  To: ptxdist; +Cc: Clemens Gruber

Drop upstreamed patch and update configs.

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
 config/busybox/Config.in                      | 10 ++-
 config/busybox/archival/Config.in             | 19 +++-
 config/busybox/console-tools/Config.in        |  2 +-
 config/busybox/coreutils/Config.in            | 18 ++--
 config/busybox/debianutils/Config.in          |  2 +-
 config/busybox/e2fsprogs/Config.in            |  2 +-
 config/busybox/editors/Config.in              |  2 +-
 config/busybox/findutils/Config.in            |  2 +-
 config/busybox/init/Config.in                 | 13 ++-
 config/busybox/klibc-utils/Config.in          |  8 +-
 config/busybox/libbb/Config.in                | 19 +++-
 config/busybox/loginutils/Config.in           |  2 +-
 config/busybox/miscutils/Config.in            | 22 ++++-
 config/busybox/modutils/Config.in             |  2 +-
 config/busybox/networking/Config.in           | 23 ++++-
 config/busybox/networking/udhcp/Config.in     | 12 ++-
 config/busybox/printutils/Config.in           |  2 +-
 config/busybox/procps/Config.in               |  2 +-
 config/busybox/runit/Config.in                | 13 ++-
 config/busybox/selinux/Config.in              |  2 +-
 config/busybox/shell/Config.in                | 35 +++++++-
 config/busybox/sysklogd/Config.in             |  2 +-
 config/busybox/util-linux/Config.in           |  4 +-
 config/busybox/util-linux/volume_id/Config.in | 12 ++-
 ...d-system-fix-parallel-building-issue.patch | 88 -------------------
 .../0200-reactivate-check-for-tty.patch       |  0
 ...arning-when-building-applets-usage_p.patch |  0
 ...-only-pass-real-libs-to-SELINUX_LIBS.patch |  0
 ...honour-SKIP_STRIP-and-don-t-strip-if.patch |  0
 .../{busybox-1.28.3 => busybox-1.29.3}/series |  3 +-
 rules/busybox.make                            |  4 +-
 31 files changed, 195 insertions(+), 130 deletions(-)
 delete mode 100644 patches/busybox-1.28.3/0100-build-system-fix-parallel-building-issue.patch
 rename patches/{busybox-1.28.3 => busybox-1.29.3}/0200-reactivate-check-for-tty.patch (100%)
 rename patches/{busybox-1.28.3 => busybox-1.29.3}/0201-Fix-the-format-warning-when-building-applets-usage_p.patch (100%)
 rename patches/{busybox-1.28.3 => busybox-1.29.3}/0202-build-system-only-pass-real-libs-to-SELINUX_LIBS.patch (100%)
 rename patches/{busybox-1.28.3 => busybox-1.29.3}/0203-scripts-trylink-honour-SKIP_STRIP-and-don-t-strip-if.patch (100%)
 rename patches/{busybox-1.28.3 => busybox-1.29.3}/series (77%)

diff --git a/config/busybox/Config.in b/config/busybox/Config.in
index bd838f379..507a522c1 100644
--- a/config/busybox/Config.in
+++ b/config/busybox/Config.in
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 # mainmenu "Configuration"
@@ -518,6 +518,14 @@ config BUSYBOX_USE_PORTABLE_CODE
 	compiler other than gcc.
 	If you do use gcc, this option may needlessly increase code size.
 
+config BUSYBOX_STACK_OPTIMIZATION_386
+	bool "Use -mpreferred-stack-boundary=2 on i386 arch"
+	default y
+	help
+	This option makes for smaller code, but some libc versions
+	do not work with it (they use SSE instructions without
+	ensuring stack alignment).
+
 comment 'Installation Options ("make install" behavior)'
 
 choice
diff --git a/config/busybox/archival/Config.in b/config/busybox/archival/Config.in
index 6cfee89e2..c152d0910 100644
--- a/config/busybox/archival/Config.in
+++ b/config/busybox/archival/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Archival Utilities"
@@ -151,6 +151,23 @@ config BUSYBOX_BZIP2
 	Unless you have a specific application which requires bzip2, you
 	should probably say N here.
 
+config BUSYBOX_BZIP2_SMALL
+	int "Trade bytes for speed (0:fast, 9:small)"
+	default 8  # all "fast or small" options default to small
+	range 0 9
+	depends on BUSYBOX_BZIP2
+	help
+	Trade code size versus speed.
+	Approximate values with gcc-6.3.0 "bzip -9" compressing
+	linux-4.15.tar were:
+	value         time (sec)  code size (386)
+	9 (smallest)       70.11             7687
+	8                  67.93             8091
+	7                  67.88             8405
+	6                  67.78             8624
+	5                  67.05             9427
+	4-0 (fastest)      64.14            12083
+
 config BUSYBOX_FEATURE_BZIP2_DECOMPRESS
 	bool "Enable decompression"
 	default y
diff --git a/config/busybox/console-tools/Config.in b/config/busybox/console-tools/Config.in
index c311e36fe..c3a9e1f19 100644
--- a/config/busybox/console-tools/Config.in
+++ b/config/busybox/console-tools/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Console Utilities"
diff --git a/config/busybox/coreutils/Config.in b/config/busybox/coreutils/Config.in
index 49793ab98..633a3fd78 100644
--- a/config/busybox/coreutils/Config.in
+++ b/config/busybox/coreutils/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Coreutils"
@@ -160,7 +160,7 @@ config BUSYBOX_FEATURE_DD_THIRD_STATUS_LINE
 	elapsed time and speed.
 
 config BUSYBOX_FEATURE_DD_IBS_OBS
-	bool "Enable ibs, obs and conv options"
+	bool "Enable ibs, obs, iflag and conv options"
 	default y
 	depends on BUSYBOX_DD
 	help
@@ -405,7 +405,7 @@ config BUSYBOX_MD5SUM
 	bool "md5sum (6.8 kb)"
 	default y
 	help
-	md5sum is used to print or check MD5 checksums.
+	Compute and check MD5 message digest
 
 config BUSYBOX_SHA1SUM
 	bool "sha1sum (6 kb)"
@@ -594,16 +594,24 @@ config BUSYBOX_SORT
 	sort is used to sort lines of text in specified files.
 
 config BUSYBOX_FEATURE_SORT_BIG
-	bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)"
+	bool "Full SuSv3 compliant sort (support -ktcbdfiogM)"
 	default y
 	depends on BUSYBOX_SORT
 	help
-	Without this, sort only supports -r, -u, and an integer version
+	Without this, sort only supports -rusz, and an integer version
 	of -n. Selecting this adds sort keys, floating point support, and
 	more. This adds a little over 3k to a nonstatic build on x86.
 
 	The SuSv3 sort standard is available at:
 	http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
+
+config BUSYBOX_FEATURE_SORT_OPTIMIZE_MEMORY
+	bool "Use less memory (but might be slower)"
+	default n   # defaults to N since we are size-paranoid tribe
+	depends on BUSYBOX_SORT
+	help
+	Attempt to use less memory (by storing only one copy
+	of duplicated lines, and such). Useful if you work on huge files.
 config BUSYBOX_SPLIT
 	bool "split (5.4 kb)"
 	default y
diff --git a/config/busybox/debianutils/Config.in b/config/busybox/debianutils/Config.in
index 5720e8d0c..f064648db 100644
--- a/config/busybox/debianutils/Config.in
+++ b/config/busybox/debianutils/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Debian Utilities"
diff --git a/config/busybox/e2fsprogs/Config.in b/config/busybox/e2fsprogs/Config.in
index 1aceb053e..920496d68 100644
--- a/config/busybox/e2fsprogs/Config.in
+++ b/config/busybox/e2fsprogs/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Linux Ext2 FS Progs"
diff --git a/config/busybox/editors/Config.in b/config/busybox/editors/Config.in
index 36ce65970..ff6fa7231 100644
--- a/config/busybox/editors/Config.in
+++ b/config/busybox/editors/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Editors"
diff --git a/config/busybox/findutils/Config.in b/config/busybox/findutils/Config.in
index 10c52cf85..0f65ed991 100644
--- a/config/busybox/findutils/Config.in
+++ b/config/busybox/findutils/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Finding Utilities"
diff --git a/config/busybox/init/Config.in b/config/busybox/init/Config.in
index 74a2147a2..60aed11ac 100644
--- a/config/busybox/init/Config.in
+++ b/config/busybox/init/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Init Utilities"
@@ -62,6 +62,17 @@ config BUSYBOX_REBOOT
 	help
 	Stop all processes and reboot the system.
 
+config BUSYBOX_FEATURE_WAIT_FOR_INIT
+	bool "Before signaling init, make sure it is ready for it"
+	default y
+	depends on BUSYBOX_HALT || BUSYBOX_POWEROFF || BUSYBOX_REBOOT
+	help
+	In rare cases, poweroff may be commanded by firmware to OS
+	even before init process exists. On Linux, this spawns
+	"/sbin/poweroff" very early. This option adds code
+	which checks that init is ready to receive poweroff
+	commands. Code size increase of ~80 bytes.
+
 config BUSYBOX_FEATURE_CALL_TELINIT
 	bool "Call telinit on shutdown and reboot"
 	default y
diff --git a/config/busybox/klibc-utils/Config.in b/config/busybox/klibc-utils/Config.in
index 76264d245..86d249e65 100644
--- a/config/busybox/klibc-utils/Config.in
+++ b/config/busybox/klibc-utils/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "klibc-utils"
@@ -12,17 +12,17 @@ config BUSYBOX_MINIPS
 	help
 	Alias to "ps".
 config BUSYBOX_NUKE
-	bool "nuke"
+	bool "nuke (2.4 kb)"
 	default y
 	help
 	Alias to "rm -rf".
 config BUSYBOX_RESUME
-	bool "resume"
+	bool "resume (3.3 kb)"
 	default y
 	help
 	Resume from saved "suspend-to-disk" image
 config BUSYBOX_RUN_INIT
-	bool "run-init"
+	bool "run-init (7.5 kb)"
 	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
diff --git a/config/busybox/libbb/Config.in b/config/busybox/libbb/Config.in
index ed57cdce2..49bf216b1 100644
--- a/config/busybox/libbb/Config.in
+++ b/config/busybox/libbb/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 comment "Library Tuning"
@@ -115,6 +115,18 @@ config BUSYBOX_FEATURE_ETC_NETWORKS
 	a rarely used feature which allows you to use names
 	instead of IP/mask pairs in route command.
 
+config BUSYBOX_FEATURE_ETC_SERVICES
+	bool "Consult /etc/services even for well-known ports"
+	default n
+	help
+	Look up e.g. "telnet" and "http" in /etc/services file
+	instead of assuming ports 23 and 80.
+	This is almost never necessary (everybody uses standard ports),
+	and it makes sense to avoid reading this file.
+	If you disable this option, in the cases where port is explicitly
+	specified as a service name (e.g. "telnet HOST PORTNAME"),
+	it will still be looked up in /etc/services.
+
 config BUSYBOX_FEATURE_EDITING
 	bool "Command line editing"
 	default y
@@ -188,6 +200,11 @@ config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT
 	Setting this option allows for prompts to use things like \w and
 	\$ and escape codes.
 
+config BUSYBOX_FEATURE_EDITING_WINCH
+	bool "Enable automatic tracking of window size changes"
+	default y
+	depends on BUSYBOX_FEATURE_EDITING
+
 config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL
 	bool "Query cursor position from terminal"
 	default n
diff --git a/config/busybox/loginutils/Config.in b/config/busybox/loginutils/Config.in
index 6c8617a77..bb9f60058 100644
--- a/config/busybox/loginutils/Config.in
+++ b/config/busybox/loginutils/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Login/Password Management Utilities"
diff --git a/config/busybox/miscutils/Config.in b/config/busybox/miscutils/Config.in
index 15f31a0cc..9c5a6aeb2 100644
--- a/config/busybox/miscutils/Config.in
+++ b/config/busybox/miscutils/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Miscellaneous Utilities"
@@ -366,7 +366,7 @@ config BUSYBOX_FEATURE_HDPARM_HDIO_GETSET_DMA
 	help
 	Enable the 'hdparm -d' option to get/set using_dma flag.
 config BUSYBOX_HEXEDIT
-	bool "hexedit"
+	bool "hexedit (20 kb)"
 	default y
 	help
 	Edit file in hexadecimal.
@@ -484,6 +484,22 @@ config BUSYBOX_FEATURE_LESS_LINENUMS
 	bool "Enable -N (dynamic switching of line numbers)"
 	default y
 	depends on BUSYBOX_FEATURE_LESS_DASHCMD
+
+config BUSYBOX_FEATURE_LESS_RAW
+	bool "Enable -R ('raw control characters')"
+	default y
+	depends on BUSYBOX_FEATURE_LESS_DASHCMD
+	help
+	This is essential for less applet to work with tools that use colors
+	and paging, such as git, systemd tools or nmcli.
+
+config BUSYBOX_FEATURE_LESS_ENV
+	bool "Take options from $LESS environment variable"
+	default y
+	depends on BUSYBOX_FEATURE_LESS_DASHCMD
+	help
+	This is essential for less applet to work with tools that use colors
+	and paging, such as git, systemd tools or nmcli.
 config BUSYBOX_LSSCSI
 	bool "lsscsi (2.4 kb)"
 	default y
@@ -612,7 +628,7 @@ config BUSYBOX_RX
 	help
 	Receive files using the Xmodem protocol.
 config BUSYBOX_SETFATTR
-	bool "setfattr"
+	bool "setfattr (3.6 kb)"
 	default y
 	help
 	Set/delete extended attributes on files
diff --git a/config/busybox/modutils/Config.in b/config/busybox/modutils/Config.in
index 27c285a87..2d46ccd18 100644
--- a/config/busybox/modutils/Config.in
+++ b/config/busybox/modutils/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Linux Module Utilities"
diff --git a/config/busybox/networking/Config.in b/config/busybox/networking/Config.in
index 1238c0342..8dccd1051 100644
--- a/config/busybox/networking/Config.in
+++ b/config/busybox/networking/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Networking Utilities"
@@ -59,7 +59,6 @@ config BUSYBOX_ARPING
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	Ping hosts by ARP packets.
-
 config BUSYBOX_BRCTL
 	bool "brctl (4.7 kb)"
 	default y
@@ -727,6 +726,16 @@ config BUSYBOX_NSLOOKUP
 	default y
 	help
 	nslookup is a tool to query Internet name servers.
+
+config BUSYBOX_FEATURE_NSLOOKUP_BIG
+	bool "Use internal resolver code instead of libc"
+	depends on BUSYBOX_NSLOOKUP
+	default y
+
+config BUSYBOX_FEATURE_NSLOOKUP_LONG_OPTIONS
+	bool "Enable long options"
+	default y
+	depends on BUSYBOX_FEATURE_NSLOOKUP_BIG && BUSYBOX_LONG_OPTS
 config BUSYBOX_NTPD
 	bool "ntpd (17 kb)"
 	default y
@@ -795,6 +804,16 @@ config BUSYBOX_SSL_CLIENT
 	select BUSYBOX_TLS
 	help
 	This tool pipes data to/from a socket, TLS-encrypting it.
+config BUSYBOX_TC
+	bool "tc (3.1 kb)"
+	default y
+	help
+	Show / manipulate traffic control settings
+
+config BUSYBOX_FEATURE_TC_INGRESS
+	bool "Enable ingress"
+	default y
+	depends on BUSYBOX_TC
 config BUSYBOX_TCPSVD
 	bool "tcpsvd (13 kb)"
 	default y
diff --git a/config/busybox/networking/udhcp/Config.in b/config/busybox/networking/udhcp/Config.in
index 7f05c38f8..dd20a5bd0 100644
--- a/config/busybox/networking/udhcp/Config.in
+++ b/config/busybox/networking/udhcp/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 config BUSYBOX_UDHCPD
@@ -95,7 +95,7 @@ config BUSYBOX_FEATURE_UDHCPC_SANITIZEOPT
 config BUSYBOX_UDHCPC_DEFAULT_SCRIPT
 	string "Absolute path to config script"
 	default "/usr/share/udhcpc/default.script"
-	depends on BUSYBOX_UDHCPC
+	depends on BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6
 	help
 	This script is called after udhcpc receives an answer. See
 	examples/udhcp for a working example. Normally it is safe
@@ -133,6 +133,14 @@ config BUSYBOX_FEATURE_UDHCPC6_RFC4833
 	You can request POSIX timezone with "-O tz" and timezone name
 	with "-O timezone".
 
+config BUSYBOX_FEATURE_UDHCPC6_RFC5970
+	bool "Support RFC 5970 (Network Boot)"
+	default y
+	depends on BUSYBOX_UDHCPC6
+	help
+	You can request bootfile-url with "-O bootfile_url" and
+	bootfile-params with "-O bootfile_params".
+
 comment "Common options for DHCP applets"
         depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6 || BUSYBOX_DHCPRELAY
 
diff --git a/config/busybox/printutils/Config.in b/config/busybox/printutils/Config.in
index ad4f09968..a846ad838 100644
--- a/config/busybox/printutils/Config.in
+++ b/config/busybox/printutils/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Print Utilities"
diff --git a/config/busybox/procps/Config.in b/config/busybox/procps/Config.in
index b5ed25906..2c1a1578e 100644
--- a/config/busybox/procps/Config.in
+++ b/config/busybox/procps/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Process Utilities"
diff --git a/config/busybox/runit/Config.in b/config/busybox/runit/Config.in
index 23eeea141..a10b1a57b 100644
--- a/config/busybox/runit/Config.in
+++ b/config/busybox/runit/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Runit Utilities"
@@ -69,7 +69,7 @@ config BUSYBOX_SV
 config BUSYBOX_SV_DEFAULT_SERVICE_DIR
 	string "Default directory for services"
 	default "/var/service"
-	depends on BUSYBOX_SV
+	depends on BUSYBOX_SV || BUSYBOX_SVC || BUSYBOX_SVOK
 	help
 	Default directory for services.
 	Defaults to "/var/service"
@@ -79,7 +79,14 @@ config BUSYBOX_SVC
 	default y
 	help
 	svc controls the state of services monitored by the runsv supervisor.
-	It is comaptible with daemontools command with the same name.
+	It is compatible with daemontools command with the same name.
+
+config BUSYBOX_SVOK
+	bool "svok"
+	default y
+	help
+	svok checks whether runsv supervisor is running.
+	It is compatible with daemontools command with the same name.
 config BUSYBOX_SVLOGD
 	bool "svlogd (15 kb)"
 	default y
diff --git a/config/busybox/selinux/Config.in b/config/busybox/selinux/Config.in
index 17b34d25f..ab2d8a206 100644
--- a/config/busybox/selinux/Config.in
+++ b/config/busybox/selinux/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "SELinux Utilities"
diff --git a/config/busybox/shell/Config.in b/config/busybox/shell/Config.in
index f89db4299..ab95e2fb8 100644
--- a/config/busybox/shell/Config.in
+++ b/config/busybox/shell/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Shells"
@@ -114,6 +114,22 @@ config BUSYBOX_ASH_BASH_COMPAT
 	default y
 	depends on BUSYBOX_ASH || BUSYBOX_SH_IS_ASH || BUSYBOX_BASH_IS_ASH
 
+config BUSYBOX_ASH_BASH_SOURCE_CURDIR
+	bool "'source' and '.' builtins search current directory after $PATH"
+	default n   # do not encourage non-standard behavior
+	depends on BUSYBOX_ASH_BASH_COMPAT
+	help
+	This is not compliant with standards. Avoid if possible.
+
+config BUSYBOX_ASH_BASH_NOT_FOUND_HOOK
+	bool "command_not_found_handle hook support"
+	default y
+	depends on BUSYBOX_ASH_BASH_COMPAT
+	help
+	Enable support for the 'command_not_found_handle' hook function,
+	from GNU bash, which allows for alternative command not found
+	handling.
+
 config BUSYBOX_ASH_JOB_CONTROL
 	bool "Job control"
 	default y
@@ -265,6 +281,18 @@ config BUSYBOX_HUSH_BRACE_EXPANSION
 	help
 	Enable {abc,def} extension.
 
+config BUSYBOX_HUSH_LINENO_VAR
+	bool "$LINENO variable"
+	default y
+	depends on BUSYBOX_HUSH_BASH_COMPAT
+
+config BUSYBOX_HUSH_BASH_SOURCE_CURDIR
+	bool "'source' and '.' builtins search current directory after $PATH"
+	default n   # do not encourage non-standard behavior
+	depends on BUSYBOX_HUSH_BASH_COMPAT
+	help
+	This is not compliant with standards. Avoid if possible.
+
 config BUSYBOX_HUSH_INTERACTIVE
 	bool "Interactive mode"
 	default y
@@ -394,6 +422,11 @@ config BUSYBOX_HUSH_WAIT
 	default y
 	depends on BUSYBOX_HUSH || BUSYBOX_SH_IS_HUSH || BUSYBOX_BASH_IS_HUSH
 
+config BUSYBOX_HUSH_COMMAND
+	bool "command builtin"
+	default y
+	depends on BUSYBOX_HUSH || BUSYBOX_SH_IS_HUSH || BUSYBOX_BASH_IS_HUSH
+
 config BUSYBOX_HUSH_TRAP
 	bool "trap builtin"
 	default y
diff --git a/config/busybox/sysklogd/Config.in b/config/busybox/sysklogd/Config.in
index 14f969b63..218e9f13a 100644
--- a/config/busybox/sysklogd/Config.in
+++ b/config/busybox/sysklogd/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "System Logging Utilities"
diff --git a/config/busybox/util-linux/Config.in b/config/busybox/util-linux/Config.in
index f74c33165..d603c4f51 100644
--- a/config/busybox/util-linux/Config.in
+++ b/config/busybox/util-linux/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Linux System Utilities"
@@ -62,7 +62,7 @@ config BUSYBOX_CHRT
 	bool "chrt (4.4 kb)"
 	default y
 	help
-	manipulate real-time attributes of a process.
+	Manipulate real-time attributes of a process.
 	This requires sched_{g,s}etparam support in your libc.
 config BUSYBOX_DMESG
 	bool "dmesg (3.5 kb)"
diff --git a/config/busybox/util-linux/volume_id/Config.in b/config/busybox/util-linux/volume_id/Config.in
index 6d903a141..f71425874 100644
--- a/config/busybox/util-linux/volume_id/Config.in
+++ b/config/busybox/util-linux/volume_id/Config.in
@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 config BUSYBOX_VOLUMEID
@@ -60,6 +60,16 @@ config BUSYBOX_FEATURE_VOLUMEID_JFS
 	bool "jfs filesystem"
 	default y
 	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_LFS
+	bool "LittleFS filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID && BUSYBOX_FEATURE_BLKID_TYPE
+	help
+	LittleFS is a small fail-safe filesystem designed for embedded
+	systems. It has strong copy-on-write guarantees and storage on disk
+	is always kept in a valid state. It also provides a form of dynamic
+	wear levelling for systems that can not fit a full flash translation
+	layer.
 config BUSYBOX_FEATURE_VOLUMEID_LINUXRAID
 	bool "linuxraid"
 	default y
diff --git a/patches/busybox-1.28.3/0100-build-system-fix-parallel-building-issue.patch b/patches/busybox-1.28.3/0100-build-system-fix-parallel-building-issue.patch
deleted file mode 100644
index f23f0833e..000000000
--- a/patches/busybox-1.28.3/0100-build-system-fix-parallel-building-issue.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Thu, 12 Apr 2018 10:36:54 +0200
-Subject: [PATCH] build system: fix parallel building issue
-
-The files generated by the include/config/MARKER target are in the
-dependency list for applets/applet_tables.
-If applets/applet_tables is created first during applets_dir then it will
-be created again later as part of $(busybox-dirs).
-As a result include/applet_tables.h is created again. This time while other
-build commands may need it.
-
-Let applets_dir depend on include/config/MARKER to avoid this particular
-race condition and create the header files atomically to ensure that the
-compiler never sees incomplete files.
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- Makefile                |  2 +-
- applets/applet_tables.c | 16 ++++++++++++++--
- 2 files changed, 15 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 75881665e0fe..bc93031e6006 100644
---- a/Makefile
-+++ b/Makefile
-@@ -368,7 +368,7 @@ gen_build_files: $(wildcard $(srctree)/*/*.c) $(wildcard $(srctree)/*/*/*.c)
- # we depend on scripts_basic, since scripts/basic/fixdep
- # must be built before any other host prog
- PHONY += applets_dir
--applets_dir: scripts_basic gen_build_files
-+applets_dir: scripts_basic gen_build_files include/config/MARKER
- 	$(Q)$(MAKE) $(build)=applets
- 
- applets/%: applets_dir ;
-diff --git a/applets/applet_tables.c b/applets/applet_tables.c
-index ef911a43b36d..e3d10c83f1b9 100644
---- a/applets/applet_tables.c
-+++ b/applets/applet_tables.c
-@@ -10,6 +10,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-+#include <limits.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
-@@ -61,6 +62,7 @@ static int str_isalnum_(const char *s)
- int main(int argc, char **argv)
- {
- 	int i, j;
-+	char tmp1[PATH_MAX], tmp2[PATH_MAX];
- 
- 	// In find_applet_by_name(), before linear search, narrow it down
- 	// by looking at N "equidistant" names. With ~350 applets:
-@@ -84,7 +86,8 @@ int main(int argc, char **argv)
- 
- 	if (!argv[1])
- 		return 1;
--	i = open(argv[1], O_WRONLY | O_TRUNC | O_CREAT, 0666);
-+	snprintf(tmp1, PATH_MAX, "%s.%u.new", argv[1], (int) getpid());
-+	i = open(tmp1, O_WRONLY | O_TRUNC | O_CREAT, 0666);
- 	if (i < 0)
- 		return 1;
- 	dup2(i, 1);
-@@ -209,12 +212,21 @@ int main(int argc, char **argv)
- //			fclose(fp);
- //		}
- //		if (strcmp(line_old, line_new) != 0) {
--			fp = fopen(argv[2], "w");
-+			snprintf(tmp2, PATH_MAX, "%s.%u.new", argv[2], (int) getpid());
-+			fp = fopen(tmp2, "w");
- 			if (!fp)
- 				return 1;
- 			fputs(line_new, fp);
-+			if (fclose(fp))
-+				return 1;
- //		}
- 	}
- 
-+	if (fclose(stdout))
-+		return 1;
-+	if (rename(tmp1, argv[1]))
-+		return 1;
-+	if (rename(tmp2, argv[2]))
-+		return 1;
- 	return 0;
- }
diff --git a/patches/busybox-1.28.3/0200-reactivate-check-for-tty.patch b/patches/busybox-1.29.3/0200-reactivate-check-for-tty.patch
similarity index 100%
rename from patches/busybox-1.28.3/0200-reactivate-check-for-tty.patch
rename to patches/busybox-1.29.3/0200-reactivate-check-for-tty.patch
diff --git a/patches/busybox-1.28.3/0201-Fix-the-format-warning-when-building-applets-usage_p.patch b/patches/busybox-1.29.3/0201-Fix-the-format-warning-when-building-applets-usage_p.patch
similarity index 100%
rename from patches/busybox-1.28.3/0201-Fix-the-format-warning-when-building-applets-usage_p.patch
rename to patches/busybox-1.29.3/0201-Fix-the-format-warning-when-building-applets-usage_p.patch
diff --git a/patches/busybox-1.28.3/0202-build-system-only-pass-real-libs-to-SELINUX_LIBS.patch b/patches/busybox-1.29.3/0202-build-system-only-pass-real-libs-to-SELINUX_LIBS.patch
similarity index 100%
rename from patches/busybox-1.28.3/0202-build-system-only-pass-real-libs-to-SELINUX_LIBS.patch
rename to patches/busybox-1.29.3/0202-build-system-only-pass-real-libs-to-SELINUX_LIBS.patch
diff --git a/patches/busybox-1.28.3/0203-scripts-trylink-honour-SKIP_STRIP-and-don-t-strip-if.patch b/patches/busybox-1.29.3/0203-scripts-trylink-honour-SKIP_STRIP-and-don-t-strip-if.patch
similarity index 100%
rename from patches/busybox-1.28.3/0203-scripts-trylink-honour-SKIP_STRIP-and-don-t-strip-if.patch
rename to patches/busybox-1.29.3/0203-scripts-trylink-honour-SKIP_STRIP-and-don-t-strip-if.patch
diff --git a/patches/busybox-1.28.3/series b/patches/busybox-1.29.3/series
similarity index 77%
rename from patches/busybox-1.28.3/series
rename to patches/busybox-1.29.3/series
index c2aa4b7ee..84c80aa6e 100644
--- a/patches/busybox-1.28.3/series
+++ b/patches/busybox-1.29.3/series
@@ -2,10 +2,9 @@
 #tag:base --start-number 1
 #tag:upstream-stable --start-number 1
 #tag:upstream-master --start-number 100
-0100-build-system-fix-parallel-building-issue.patch
 #tag:ptx --start-number 200
 0200-reactivate-check-for-tty.patch
 0201-Fix-the-format-warning-when-building-applets-usage_p.patch
 0202-build-system-only-pass-real-libs-to-SELINUX_LIBS.patch
 0203-scripts-trylink-honour-SKIP_STRIP-and-don-t-strip-if.patch
-# fe7bceb52030b92043493f4992f8ff7f  - git-ptx-patches magic
+# 0036b420b1a49106a872780e90251289  - git-ptx-patches magic
diff --git a/rules/busybox.make b/rules/busybox.make
index 28d61f5ef..05bd397c6 100644
--- a/rules/busybox.make
+++ b/rules/busybox.make
@@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_BUSYBOX) += busybox
 #
 # Paths and names
 #
-BUSYBOX_VERSION	:= 1.28.3
-BUSYBOX_MD5	:= 82e5ad09ae4a07c266fc179492b51757
+BUSYBOX_VERSION	:= 1.29.3
+BUSYBOX_MD5	:= 0a367e19cdfd157e8258d87f893ee516
 BUSYBOX		:= busybox-$(BUSYBOX_VERSION)
 BUSYBOX_SUFFIX	:= tar.bz2
 BUSYBOX_URL	:= https://www.busybox.net/downloads/$(BUSYBOX).$(BUSYBOX_SUFFIX)
-- 
2.19.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [ptxdist] [PATCH 3/3] iproute2: add busybox guard dependency
  2018-09-21 16:08 [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility Clemens Gruber
  2018-09-21 16:08 ` [ptxdist] [PATCH 2/3] busybox: version bump 1.28.3 -> 1.29.3 Clemens Gruber
@ 2018-09-21 16:08 ` Clemens Gruber
  2018-09-22 17:50 ` [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility Roland Hieber
  2 siblings, 0 replies; 5+ messages in thread
From: Clemens Gruber @ 2018-09-21 16:08 UTC (permalink / raw)
  To: ptxdist; +Cc: Clemens Gruber

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
 rules/iproute2.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/rules/iproute2.in b/rules/iproute2.in
index 888b59546..6e9f022d3 100644
--- a/rules/iproute2.in
+++ b/rules/iproute2.in
@@ -133,10 +133,14 @@ config IPROUTE2_SS
 
 config IPROUTE2_TC
 	bool
+	depends on !BUSYBOX_TC || ALLYES
 	prompt "tc"
 	help
 	  tc is used to configure Traffic Control in the Linux Kernel, which
 	  consists of Shaping, Scheduling, Policing and Dropping.
 	  Processing of traffic is controlled by qdiscs, classes and filters.
 
+comment "busybox' tc is selected"
+	depends on BUSYBOX_TC
+
 endif
-- 
2.19.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility
  2018-09-21 16:08 [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility Clemens Gruber
  2018-09-21 16:08 ` [ptxdist] [PATCH 2/3] busybox: version bump 1.28.3 -> 1.29.3 Clemens Gruber
  2018-09-21 16:08 ` [ptxdist] [PATCH 3/3] iproute2: add busybox guard dependency Clemens Gruber
@ 2018-09-22 17:50 ` Roland Hieber
  2018-09-23 14:35   ` Clemens Gruber
  2 siblings, 1 reply; 5+ messages in thread
From: Roland Hieber @ 2018-09-22 17:50 UTC (permalink / raw)
  To: ptxdist; +Cc: Clemens Gruber

On Fri, Sep 21, 2018 at 06:08:56PM +0200, Clemens Gruber wrote:
> Taken from systemd upstream.

It would be good to include the upstream commit ID here.

 - Roland

> 
> Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
> ---
>  ...-whether-struct-statx-is-defined-in-.patch | 104 ++++++++++++++++++
>  patches/systemd-239/series                    |   4 +
>  2 files changed, 108 insertions(+)
>  create mode 100644 patches/systemd-239/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
>  create mode 100644 patches/systemd-239/series
> 
> diff --git a/patches/systemd-239/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch b/patches/systemd-239/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
> new file mode 100644
> index 000000000..44a4b7504
> --- /dev/null
> +++ b/patches/systemd-239/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
> @@ -0,0 +1,104 @@
> +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 04331dd41a19..a0e724070874 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 71a07d057474..14ad3d49140f 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 c5c55ea8461a..0ee0979837cd 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/patches/systemd-239/series b/patches/systemd-239/series
> new file mode 100644
> index 000000000..c75fbeb9a
> --- /dev/null
> +++ b/patches/systemd-239/series
> @@ -0,0 +1,4 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
> +# 54d194f090a373e4c969c7c584a671c4  - git-ptx-patches magic
> -- 
> 2.19.0
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Roland Hieber                     | r.hieber@pengutronix.de     |
Pengutronix e.K.                  | https://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 |
Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility
  2018-09-22 17:50 ` [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility Roland Hieber
@ 2018-09-23 14:35   ` Clemens Gruber
  0 siblings, 0 replies; 5+ messages in thread
From: Clemens Gruber @ 2018-09-23 14:35 UTC (permalink / raw)
  To: ptxdist

Hi,

On Sat, Sep 22, 2018 at 07:50:54PM +0200, Roland Hieber wrote:
> On Fri, Sep 21, 2018 at 06:08:56PM +0200, Clemens Gruber wrote:
> > Taken from systemd upstream.
> 
> It would be good to include the upstream commit ID here.

Yes. Maybe Michael can amend the commit message?

The commit ID is 75720bff62a84896e9a0654afc7cf9408cf89a38

Clemens

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-09-23 14:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-21 16:08 [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility Clemens Gruber
2018-09-21 16:08 ` [ptxdist] [PATCH 2/3] busybox: version bump 1.28.3 -> 1.29.3 Clemens Gruber
2018-09-21 16:08 ` [ptxdist] [PATCH 3/3] iproute2: add busybox guard dependency Clemens Gruber
2018-09-22 17:50 ` [ptxdist] [PATCH 1/3] systemd: add patch for glibc 2.28 compatibility Roland Hieber
2018-09-23 14:35   ` Clemens Gruber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox