Skip to contentSkip to conversation

package/util-linux: fix build with old glibc

PATCH Superseded Norbert Lange 2 participants 5 messages Sep 4, 2023 – Sep 6, 2023

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/util-linux: fix build with old glibc

The build still fails with older glibc versions (2.28 for example). Apply an upstream fix from
https://github.com/util-linux/util-linux/issues/2448.

---
 .../0001-libmount-fix-statx-includes.patch    | 127 ++++++++++++++++++
 .../0001-libmount-fix-statx-includes.patch    |   1 +
 2 files changed, 128 insertions(+)
 create mode 100644 package/util-linux/0001-libmount-fix-statx-includes.patch
 create mode 120000 package/util-linux/util-linux-libs/0001-libmount-fix-statx-includes.patch
package/util-linux/0001-libmount-fix-statx-includes.patch new file +127 -0
new file mode 100644
index 0000000000..c818423769
@@ -0,0 +1,127 @@
+From 7d679f29aee9f56b07bd792e07b5b4e1ca2f3fa7 Mon Sep 17 00:00:00 2001
+From: Karel Zak <[email protected]>
+Date: Wed, 23 Aug 2023 11:50:37 +0200
+Subject: [PATCH] libmount: fix statx() includes
+
+Using sys/stat.h and linux/stat is too tricky.h together. It seems
+better to rely on libc and use sys/stat.h only. Users affected
+by old libc must update to use recent util-linux.
+
+Fixes: https://github.com/util-linux/util-linux/issues/2448
+Signed-off-by: Karel Zak <[email protected]>
+Signed-off-by: Norbert Lange <[email protected]>
+---
+ configure.ac              | 5 ++---
+ include/fileutils.h       | 4 ++--
+ libmount/src/hook_mount.c | 2 +-
+ libmount/src/utils.c      | 2 +-
+ meson.build               | 5 ++---
+ 5 files changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 738b369ee8..e6114aac36 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -326,7 +326,6 @@ AC_CHECK_HEADERS([ \
+ 	linux/nsfs.h \
+ 	linux/pr.h \
+ 	linux/raw.h \
+-	linux/stat.h \
+ 	linux/securebits.h \
+ 	linux/tiocl.h \
+ 	linux/version.h \
+@@ -518,7 +517,6 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ ])
+ 
+ AC_CHECK_TYPES([struct mount_attr], [], [], [[#include <linux/mount.h>]])
+-AC_CHECK_TYPES([struct statx], [], [], [[#include <linux/stat.h>]])
+ AC_CHECK_TYPES([enum fsconfig_command], [], [], [[#include <linux/mount.h>]])
+ 
+ AC_CHECK_MEMBERS([struct termios.c_line],,,
+@@ -527,8 +525,9 @@ AC_CHECK_MEMBERS([struct termios.c_line],,,
+ AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
+     [[#include <sys/stat.h>]])
+ 
++AC_CHECK_TYPES([struct statx], [], [], [[#include <sys/stat.h>]])
+ AC_CHECK_MEMBERS([struct statx.stx_mnt_id],,,
+-    [[#include <linux/stat.h>]])
++    [[#include <sys/stat.h>]])
+ 
+ AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
+ 
+diff --git a/include/fileutils.h b/include/fileutils.h
+index a5fe517266..538eab0b74 100644
+--- a/include/fileutils.h
++++ b/include/fileutils.h
+@@ -94,13 +94,13 @@ static inline int close_range(unsigned int first, unsigned int last, int flags)
+ #  define HAVE_CLOSE_RANGE 1
+ # endif	/* SYS_close_range */
+ 
+-# if !defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(SYS_statx) && defined(HAVE_LINUX_STAT_H)
+-#  include <linux/stat.h>
++# if !defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(SYS_statx)
+ static inline int statx(int fd, const char *restrict path, int flags,
+ 		    unsigned int mask, struct statx *stx)
+ {
+ 	return syscall(SYS_statx, fd, path, flags, mask, stx);
+ }
++#  define HAVE_STATX 1
+ # endif /* SYS_statx */
+ 
+ #endif	/* HAVE_SYS_SYSCALL_H */
+diff --git a/libmount/src/hook_mount.c b/libmount/src/hook_mount.c
+index 056338c491..0ebb829985 100644
+--- a/libmount/src/hook_mount.c
++++ b/libmount/src/hook_mount.c
+@@ -294,7 +294,7 @@ static int hook_create_mount(struct libmnt_context *cxt,
+ 		/* cleanup after fail (libmount may only try the FS type) */
+ 		close_sysapi_fds(api);
+ 
+-#if defined(HAVE_STRUCT_STATX) && defined(HAVE_STRUCT_STATX_STX_MNT_ID)
++#if defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(HAVE_STRUCT_STATX_STX_MNT_ID)
+ 	if (!rc && cxt->fs) {
+ 		struct statx st;
+ 
+diff --git a/libmount/src/utils.c b/libmount/src/utils.c
+index 1d3f4abcec..3817b39271 100644
+--- a/libmount/src/utils.c
++++ b/libmount/src/utils.c
+@@ -111,7 +111,7 @@ static int safe_stat(const char *target, struct stat *st, int nofollow)
+ 
+ 	memset(st, 0, sizeof(struct stat));
+ 
+-#if defined(AT_STATX_DONT_SYNC) && defined (HAVE_STRUCT_STATX)
++#if defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(AT_STATX_DONT_SYNC)
+ 	{
+ 		int rc;
+ 		struct statx stx = { 0 };
+diff --git a/meson.build b/meson.build
+index 221ae373b6..6beb9dbaba 100644
+--- a/meson.build
++++ b/meson.build
+@@ -79,7 +79,7 @@ have_mountfd_api = cc.sizeof('struct mount_attr', prefix : '#include <linux/moun
+ conf.set('HAVE_STRUCT_MOUNT_ATTR', have_mountfd_api ? 1 : false)
+ conf.set('HAVE_MOUNTFD_API', have_mountfd_api ? 1 : false)
+ 
+-have_struct_statx = cc.sizeof('struct statx', prefix : '#include <linux/stat.h>') > 0
++have_struct_statx = cc.sizeof('struct statx', prefix : '#include <sys/stat.h>') > 0
+ conf.set('HAVE_STRUCT_STATX', have_struct_statx ? 1 : false)
+ 
+ build_libmount = not get_option('build-libmount').disabled()
+@@ -177,7 +177,6 @@ headers = '''
+         linux/nsfs.h
+         linux/mount.h
+         linux/pr.h
+-        linux/stat.h
+         linux/securebits.h
+         linux/tiocl.h
+         linux/version.h
+@@ -640,7 +639,7 @@ have = cc.has_member('struct stat', 'st_mtim.tv_nsec',
+ conf.set('HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC', have ? 1 : false)
+ 
+ have = cc.has_member('struct statx', 'stx_mnt_id',
+-                     prefix : '#include <linux/stat.h>')
++                     prefix : '#include <sys/stat.h>')
+ conf.set('HAVE_STRUCT_STATX_STX_MNT_ID', have ? 1 : false)
+ 
+ # replacement for AC_STRUCT_TIMEZONE
package/util-linux/util-linux-libs/0001-libmount-fix-statx-includes.patch new file +1 -0
new file mode 120000
index 0000000000..bc21ebedb7
@@ -0,0 +1 @@
+../0001-libmount-fix-statx-includes.patch
\ No newline at end of file
Signature · 6 lines
2.39.2

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#1 lore raw

Am Mo., 4. Sept. 2023 um 14:46 Uhr schrieb Norbert Lange <[email protected]>:

Quoted 155 lines

The build still fails with older glibc versions (2.28 for example). Apply an upstream fix from
https://github.com/util-linux/util-linux/issues/2448.

---
 .../0001-libmount-fix-statx-includes.patch    | 127 ++++++++++++++++++
 .../0001-libmount-fix-statx-includes.patch    |   1 +
 2 files changed, 128 insertions(+)
 create mode 100644 package/util-linux/0001-libmount-fix-statx-includes.patch
 create mode 120000 package/util-linux/util-linux-libs/0001-libmount-fix-statx-includes.patch
package/util-linux/0001-libmount-fix-statx-includes.patch new file +127 -0
new file mode 100644
index 0000000000..c818423769
@@ -0,0 +1,127 @@
+From 7d679f29aee9f56b07bd792e07b5b4e1ca2f3fa7 Mon Sep 17 00:00:00 2001
+From: Karel Zak <[email protected]>
+Date: Wed, 23 Aug 2023 11:50:37 +0200
+Subject: [PATCH] libmount: fix statx() includes
+
+Using sys/stat.h and linux/stat is too tricky.h together. It seems
+better to rely on libc and use sys/stat.h only. Users affected
+by old libc must update to use recent util-linux.
+
+Fixes: https://github.com/util-linux/util-linux/issues/2448
+Signed-off-by: Karel Zak <[email protected]>
+Signed-off-by: Norbert Lange <[email protected]>
+---
+ configure.ac              | 5 ++---
+ include/fileutils.h       | 4 ++--
+ libmount/src/hook_mount.c | 2 +-
+ libmount/src/utils.c      | 2 +-
+ meson.build               | 5 ++---
+ 5 files changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 738b369ee8..e6114aac36 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -326,7 +326,6 @@ AC_CHECK_HEADERS([ \
+       linux/nsfs.h \
+       linux/pr.h \
+       linux/raw.h \
+-      linux/stat.h \
+       linux/securebits.h \
+       linux/tiocl.h \
+       linux/version.h \
+@@ -518,7 +517,6 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ ])
+
+ AC_CHECK_TYPES([struct mount_attr], [], [], [[#include <linux/mount.h>]])
+-AC_CHECK_TYPES([struct statx], [], [], [[#include <linux/stat.h>]])
+ AC_CHECK_TYPES([enum fsconfig_command], [], [], [[#include <linux/mount.h>]])
+
+ AC_CHECK_MEMBERS([struct termios.c_line],,,
+@@ -527,8 +525,9 @@ AC_CHECK_MEMBERS([struct termios.c_line],,,
+ AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
+     [[#include <sys/stat.h>]])
+
++AC_CHECK_TYPES([struct statx], [], [], [[#include <sys/stat.h>]])
+ AC_CHECK_MEMBERS([struct statx.stx_mnt_id],,,
+-    [[#include <linux/stat.h>]])
++    [[#include <sys/stat.h>]])
+
+ AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
+
+diff --git a/include/fileutils.h b/include/fileutils.h
+index a5fe517266..538eab0b74 100644
+--- a/include/fileutils.h
++++ b/include/fileutils.h
+@@ -94,13 +94,13 @@ static inline int close_range(unsigned int first, unsigned int last, int flags)
+ #  define HAVE_CLOSE_RANGE 1
+ # endif       /* SYS_close_range */
+
+-# if !defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(SYS_statx) && defined(HAVE_LINUX_STAT_H)
+-#  include <linux/stat.h>
++# if !defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(SYS_statx)
+ static inline int statx(int fd, const char *restrict path, int flags,
+                   unsigned int mask, struct statx *stx)
+ {
+       return syscall(SYS_statx, fd, path, flags, mask, stx);
+ }
++#  define HAVE_STATX 1
+ # endif /* SYS_statx */
+
+ #endif        /* HAVE_SYS_SYSCALL_H */
+diff --git a/libmount/src/hook_mount.c b/libmount/src/hook_mount.c
+index 056338c491..0ebb829985 100644
+--- a/libmount/src/hook_mount.c
++++ b/libmount/src/hook_mount.c
+@@ -294,7 +294,7 @@ static int hook_create_mount(struct libmnt_context *cxt,
+               /* cleanup after fail (libmount may only try the FS type) */
+               close_sysapi_fds(api);
+
+-#if defined(HAVE_STRUCT_STATX) && defined(HAVE_STRUCT_STATX_STX_MNT_ID)
++#if defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(HAVE_STRUCT_STATX_STX_MNT_ID)
+       if (!rc && cxt->fs) {
+               struct statx st;
+
+diff --git a/libmount/src/utils.c b/libmount/src/utils.c
+index 1d3f4abcec..3817b39271 100644
+--- a/libmount/src/utils.c
++++ b/libmount/src/utils.c
+@@ -111,7 +111,7 @@ static int safe_stat(const char *target, struct stat *st, int nofollow)
+
+       memset(st, 0, sizeof(struct stat));
+
+-#if defined(AT_STATX_DONT_SYNC) && defined (HAVE_STRUCT_STATX)
++#if defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(AT_STATX_DONT_SYNC)
+       {
+               int rc;
+               struct statx stx = { 0 };
+diff --git a/meson.build b/meson.build
+index 221ae373b6..6beb9dbaba 100644
+--- a/meson.build
++++ b/meson.build
+@@ -79,7 +79,7 @@ have_mountfd_api = cc.sizeof('struct mount_attr', prefix : '#include <linux/moun
+ conf.set('HAVE_STRUCT_MOUNT_ATTR', have_mountfd_api ? 1 : false)
+ conf.set('HAVE_MOUNTFD_API', have_mountfd_api ? 1 : false)
+
+-have_struct_statx = cc.sizeof('struct statx', prefix : '#include <linux/stat.h>') > 0
++have_struct_statx = cc.sizeof('struct statx', prefix : '#include <sys/stat.h>') > 0
+ conf.set('HAVE_STRUCT_STATX', have_struct_statx ? 1 : false)
+
+ build_libmount = not get_option('build-libmount').disabled()
+@@ -177,7 +177,6 @@ headers = '''
+         linux/nsfs.h
+         linux/mount.h
+         linux/pr.h
+-        linux/stat.h
+         linux/securebits.h
+         linux/tiocl.h
+         linux/version.h
+@@ -640,7 +639,7 @@ have = cc.has_member('struct stat', 'st_mtim.tv_nsec',
+ conf.set('HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC', have ? 1 : false)
+
+ have = cc.has_member('struct statx', 'stx_mnt_id',
+-                     prefix : '#include <linux/stat.h>')
++                     prefix : '#include <sys/stat.h>')
+ conf.set('HAVE_STRUCT_STATX_STX_MNT_ID', have ? 1 : false)
+
+ # replacement for AC_STRUCT_TIMEZONE
package/util-linux/util-linux-libs/0001-libmount-fix-statx-includes.patch new file +1 -1
new file mode 120000
index 0000000000..bc21ebedb7
@@ -0,0 +1 @@
+../0001-libmount-fix-statx-includes.patch
\ No newline at end of file
--
Quoted 2 lines

2.39.2

I think this, together with the version bugfix bump to 2.39.2 should end up in BR 2023.08.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#2 lore raw
Quoted 159 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Norbert" == Norbert Lange <[email protected]> writes:

Am Mo., 4. Sept. 2023 um 14:46 Uhr schrieb Norbert Lange <[email protected]>:

Quoted 156 lines

The build still fails with older glibc versions (2.28 for example). Apply an upstream fix from
https://github.com/util-linux/util-linux/issues/2448.

---
.../0001-libmount-fix-statx-includes.patch | 127 ++++++++++++++++++
.../0001-libmount-fix-statx-includes.patch | 1 +

2 files changed, 128 insertions(+)

create mode 100644 package/util-linux/0001-libmount-fix-statx-includes.patch create mode 120000 package/util-linux/util-linux-libs/0001-libmount-fix-statx-includes.patch

diff --git a/package/util-linux/0001-libmount-fix-statx-includes.patch b/package/util-linux/0001-libmount-fix-statx-includes.patch new file mode 100644
index 0000000000..c818423769

package/util-linux/0001-libmount-fix-statx-includes.patch new file +127 -0
@@ -0,0 +1,127 @@
+From 7d679f29aee9f56b07bd792e07b5b4e1ca2f3fa7 Mon Sep 17 00:00:00 2001
+From: Karel Zak <[email protected]>
+Date: Wed, 23 Aug 2023 11:50:37 +0200
+Subject: [PATCH] libmount: fix statx() includes
+
+Using sys/stat.h and linux/stat is too tricky.h together. It seems
+better to rely on libc and use sys/stat.h only. Users affected
+by old libc must update to use recent util-linux.
+
+Fixes: https://github.com/util-linux/util-linux/issues/2448
+Signed-off-by: Karel Zak <[email protected]>
+Signed-off-by: Norbert Lange <[email protected]>
+---
+ configure.ac              | 5 ++---
+ include/fileutils.h       | 4 ++--
+ libmount/src/hook_mount.c | 2 +-
+ libmount/src/utils.c      | 2 +-
+ meson.build               | 5 ++---
+ 5 files changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 738b369ee8..e6114aac36 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -326,7 +326,6 @@ AC_CHECK_HEADERS([ \
+       linux/nsfs.h \
+       linux/pr.h \
+       linux/raw.h \
+-      linux/stat.h \
+       linux/securebits.h \
+       linux/tiocl.h \
+       linux/version.h \
+@@ -518,7 +517,6 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ ])
+
+ AC_CHECK_TYPES([struct mount_attr], [], [], [[#include <linux/mount.h>]])
+-AC_CHECK_TYPES([struct statx], [], [], [[#include <linux/stat.h>]])
+ AC_CHECK_TYPES([enum fsconfig_command], [], [], [[#include <linux/mount.h>]])
+
+ AC_CHECK_MEMBERS([struct termios.c_line],,,
+@@ -527,8 +525,9 @@ AC_CHECK_MEMBERS([struct termios.c_line],,,
+ AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
+     [[#include <sys/stat.h>]])
+
++AC_CHECK_TYPES([struct statx], [], [], [[#include <sys/stat.h>]])
+ AC_CHECK_MEMBERS([struct statx.stx_mnt_id],,,
+-    [[#include <linux/stat.h>]])
++    [[#include <sys/stat.h>]])
+
+ AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
+
+diff --git a/include/fileutils.h b/include/fileutils.h
+index a5fe517266..538eab0b74 100644
+--- a/include/fileutils.h
++++ b/include/fileutils.h
+@@ -94,13 +94,13 @@ static inline int close_range(unsigned int first, unsigned int last, int flags)
+ #  define HAVE_CLOSE_RANGE 1
+ # endif       /* SYS_close_range */
+
+-# if !defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(SYS_statx) && defined(HAVE_LINUX_STAT_H)
+-#  include <linux/stat.h>
++# if !defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(SYS_statx)
+ static inline int statx(int fd, const char *restrict path, int flags,
+                   unsigned int mask, struct statx *stx)
+ {
+       return syscall(SYS_statx, fd, path, flags, mask, stx);
+ }
++#  define HAVE_STATX 1
+ # endif /* SYS_statx */
+
+ #endif        /* HAVE_SYS_SYSCALL_H */
+diff --git a/libmount/src/hook_mount.c b/libmount/src/hook_mount.c
+index 056338c491..0ebb829985 100644
+--- a/libmount/src/hook_mount.c
++++ b/libmount/src/hook_mount.c
+@@ -294,7 +294,7 @@ static int hook_create_mount(struct libmnt_context *cxt,
+               /* cleanup after fail (libmount may only try the FS type) */
+               close_sysapi_fds(api);
+
+-#if defined(HAVE_STRUCT_STATX) && defined(HAVE_STRUCT_STATX_STX_MNT_ID)
++#if defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(HAVE_STRUCT_STATX_STX_MNT_ID)
+       if (!rc && cxt->fs) {
+               struct statx st;
+
+diff --git a/libmount/src/utils.c b/libmount/src/utils.c
+index 1d3f4abcec..3817b39271 100644
+--- a/libmount/src/utils.c
++++ b/libmount/src/utils.c
+@@ -111,7 +111,7 @@ static int safe_stat(const char *target, struct stat *st, int nofollow)
+
+       memset(st, 0, sizeof(struct stat));
+
+-#if defined(AT_STATX_DONT_SYNC) && defined (HAVE_STRUCT_STATX)
++#if defined(HAVE_STATX) && defined(HAVE_STRUCT_STATX) && defined(AT_STATX_DONT_SYNC)
+       {
+               int rc;
+               struct statx stx = { 0 };
+diff --git a/meson.build b/meson.build
+index 221ae373b6..6beb9dbaba 100644
+--- a/meson.build
++++ b/meson.build
+@@ -79,7 +79,7 @@ have_mountfd_api = cc.sizeof('struct mount_attr', prefix : '#include <linux/moun
+ conf.set('HAVE_STRUCT_MOUNT_ATTR', have_mountfd_api ? 1 : false)
+ conf.set('HAVE_MOUNTFD_API', have_mountfd_api ? 1 : false)
+
+-have_struct_statx = cc.sizeof('struct statx', prefix : '#include <linux/stat.h>') > 0
++have_struct_statx = cc.sizeof('struct statx', prefix : '#include <sys/stat.h>') > 0
+ conf.set('HAVE_STRUCT_STATX', have_struct_statx ? 1 : false)
+
+ build_libmount = not get_option('build-libmount').disabled()
+@@ -177,7 +177,6 @@ headers = '''
+         linux/nsfs.h
+         linux/mount.h
+         linux/pr.h
+-        linux/stat.h
+         linux/securebits.h
+         linux/tiocl.h
+         linux/version.h
+@@ -640,7 +639,7 @@ have = cc.has_member('struct stat', 'st_mtim.tv_nsec',
+ conf.set('HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC', have ? 1 : false)
+
+ have = cc.has_member('struct statx', 'stx_mnt_id',
+-                     prefix : '#include <linux/stat.h>')
++                     prefix : '#include <sys/stat.h>')
+ conf.set('HAVE_STRUCT_STATX_STX_MNT_ID', have ? 1 : false)
+
+ # replacement for AC_STRUCT_TIMEZONE

diff --git a/package/util-linux/util-linux-libs/0001-libmount-fix-statx-includes.patch b/package/util-linux/util-linux-libs/0001-libmount-fix-statx-includes.patch new file mode 120000
index 0000000000..bc21ebedb7

package/util-linux/util-linux-libs/0001-libmount-fix-statx-includes.patch new file +0 -0
@@ -0,0 +1 @@
Quoted 8 lines
Quoted 5 lines
package/util-linux/util-linux-libs/0001-libmount-fix-statx-includes.patch new file +1 -1
+../0001-libmount-fix-statx-includes.patch
\ No newline at end of file
--

2.39.2

I think this, together with the version bugfix bump to 2.39.2 should end up in BR 2023.08.

Can you give some more details about why? Is this a fix for a new issue in 2.39.2 or already in 2.39.1? What is the relation between this and commit 898bdbca1f11f (package/util-linux: fix compile issue with older kernel headers)?

Signature · 5 lines
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#3 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Peter" == Peter Korsgaard <[email protected]> writes:

Hi,

Quoted 7 lines
Quoted 2 lines

I think this, together with the version bugfix bump to 2.39.2 should end up in BR 2023.08.

Can you give some more details about why? Is this a fix for a new issue in 2.39.2 or already in 2.39.1? What is the relation between this and commit 898bdbca1f11f (package/util-linux: fix compile issue with older kernel headers)?

Apparently not in 2.39.1?

Quoted 1 line
Quoted 1 line
Quoted 1 line

util-linux 2.39.1 Patching

Applying 0001-libmount-fix-statx-includes.patch using patch:
patching file configure.ac
Hunk #1 succeeded at 315 (offset -11 lines).
Hunk #2 FAILED at 517.
Hunk #3 FAILED at 526.
2 out of 3 hunks FAILED -- saving rejects to file configure.ac.rej patching file include/fileutils.h
Hunk #1 FAILED at 94.
1 out of 1 hunk FAILED -- saving rejects to file include/fileutils.h.rej patching file libmount/src/hook_mount.c
Hunk #1 FAILED at 294.
1 out of 1 hunk FAILED -- saving rejects to file libmount/src/hook_mount.c.rej patching file libmount/src/utils.c
Hunk #1 FAILED at 111.
1 out of 1 hunk FAILED -- saving rejects to file libmount/src/utils.c.rej patching file meson.build
Hunk #1 FAILED at 79.
Hunk #2 succeeded at 175 with fuzz 2 (offset -2 lines).
Hunk #3 FAILED at 639.
2 out of 3 hunks FAILED -- saving rejects to file meson.build.rej

Signature · 5 lines
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#4 lore raw

Am Mi., 6. Sept. 2023 um 21:17 Uhr schrieb Peter Korsgaard <[email protected]>:

Quoted 12 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

"Peter" == Peter Korsgaard <[email protected]> writes:

Hi,

Quoted 7 lines
Quoted 2 lines

I think this, together with the version bugfix bump to 2.39.2 should end up in BR 2023.08.

Can you give some more details about why? Is this a fix for a new issue in 2.39.2 or already in 2.39.1? What is the relation between this and commit 898bdbca1f11f (package/util-linux: fix compile issue with older kernel headers)?

The problem persists in 2.39.1 and 2.39.2 (atleast), has a few attempts to solve it. Both BR master/next would not compile if the kernel-headers statx struct
disagrees with the one from glibc (misses some newer members).

This patch is for 2.39.2 / next and should finally solve it completely, I don't see the value in hacking together a solution for 2.39.1 so I would highly recommend picking the commits from next into master, and this patch on top.

You have a few autobuild failures related to it, like b1933b2dabea1fb49e9fce8e19f0532857d3b4c7

Quoted 26 lines

Apparently not in 2.39.1?

Quoted 1 line
Quoted 1 line
Quoted 1 line

util-linux 2.39.1 Patching

Applying 0001-libmount-fix-statx-includes.patch using patch:
patching file configure.ac
Hunk #1 succeeded at 315 (offset -11 lines).
Hunk #2 FAILED at 517.
Hunk #3 FAILED at 526.
2 out of 3 hunks FAILED -- saving rejects to file configure.ac.rej patching file include/fileutils.h
Hunk #1 FAILED at 94.
1 out of 1 hunk FAILED -- saving rejects to file include/fileutils.h.rej patching file libmount/src/hook_mount.c
Hunk #1 FAILED at 294.
1 out of 1 hunk FAILED -- saving rejects to file libmount/src/hook_mount.c.rej patching file libmount/src/utils.c
Hunk #1 FAILED at 111.
1 out of 1 hunk FAILED -- saving rejects to file libmount/src/utils.c.rej patching file meson.build
Hunk #1 FAILED at 79.
Hunk #2 succeeded at 175 with fuzz 2 (offset -2 lines).
Hunk #3 FAILED at 639.
2 out of 3 hunks FAILED -- saving rejects to file meson.build.rej

Quoted 2 lines

--
Bye, Peter Korsgaard

Norbert
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot