From b72823fc09674f78ad452250f453f6e47d9444de Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Tue, 4 Mar 2025 10:11:05 -0300 Subject: [PATCH] mtd-utils: Upgrade to 2.3.0 Upgrade to mtd-utils 2.3.0. Details about the 2.3.0 release: https://lore.kernel.org/linux-mtd/1b7a55a6-1c5b-4e86-8006-e2010e54367e@sigma-star.at/T/#u [RP: Tweak SRC_URI formatting] Signed-off-by: Fabio Estevam Signed-off-by: Richard Purdie --- ...-ubifs-utils-ubifs.h-Include-fcntl.h.patch | 53 +++++++++++++++ ...ifs-utils-journal-Include-sys-stat.h.patch | 41 ++++++++++++ ...-libmissing.a-in-case-execinfo.h-isn.patch | 66 +++++++++++++++++++ ...extract_files-Include-linux-limits.h.patch | 41 ++++++++++++ ...{mtd-utils_2.2.1.bb => mtd-utils_2.3.0.bb} | 8 ++- 5 files changed, 207 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-devtools/mtd/files/0001-ubifs-utils-ubifs.h-Include-fcntl.h.patch create mode 100644 meta/recipes-devtools/mtd/files/0002-ubifs-utils-journal-Include-sys-stat.h.patch create mode 100644 meta/recipes-devtools/mtd/files/0003-ubifs-utils-link-libmissing.a-in-case-execinfo.h-isn.patch create mode 100644 meta/recipes-devtools/mtd/files/0004-ubifs-utils-extract_files-Include-linux-limits.h.patch rename meta/recipes-devtools/mtd/{mtd-utils_2.2.1.bb => mtd-utils_2.3.0.bb} (90%) diff --git a/meta/recipes-devtools/mtd/files/0001-ubifs-utils-ubifs.h-Include-fcntl.h.patch b/meta/recipes-devtools/mtd/files/0001-ubifs-utils-ubifs.h-Include-fcntl.h.patch new file mode 100644 index 00000000000..a9ececc14c6 --- /dev/null +++ b/meta/recipes-devtools/mtd/files/0001-ubifs-utils-ubifs.h-Include-fcntl.h.patch @@ -0,0 +1,53 @@ +From 2fc872697f72214e1e3efc6c2523e374fa5d681d Mon Sep 17 00:00:00 2001 +From: Fabio Estevam +Date: Mon, 17 Feb 2025 16:02:04 -0300 +Subject: [PATCH v4 mtd-utils 1/4] ubifs-utils: ubifs.h: Include + +Include the header file to fix the following error +when building with musl: + +| In file included from ../git/ubifs-utils/common/compr.c:42: +| ../git/ubifs-utils/libubifs/ubifs.h:313:9: error: unknown type name 'loff_t'; did you mean 'off_t'? +| 313 | loff_t ui_size; +| | ^~~~~~ +| | off_t +| ../git/ubifs-utils/libubifs/ubifs.h:1341:9: error: unknown type name 'loff_t'; did you mean 'off_t'? +| 1341 | loff_t i_size; +| | ^~~~~~ +| | off_t +| ../git/ubifs-utils/libubifs/ubifs.h:1342:9: error: unknown type name 'loff_t'; did you mean 'off_t'? +| 1342 | loff_t d_size; +| | ^~~~~~ +| | off_t +| ../git/ubifs-utils/libubifs/ubifs.h:1899:44: error: unknown type name 'loff_t'; did you mean 'off_t'? +| 1899 | int deletion, loff_t new_size); +| | ^~~~~~ +| | off_t +| make: *** [Makefile:4878: ubifs-utils/common/mkfs_ubifs-compr.o] Error 1 + +Upstream-Status: Submitted [https://lore.kernel.org/linux-mtd/20250219130244.2119582-1-festevam@gmail.com/T/#t] +Signed-off-by: Fabio Estevam +Reviewed-by: Zhihao Cheng +Reviewed-by: Khem Raj +--- +Changes since v3: +- Removed Upstream-Status tag. + + ubifs-utils/libubifs/ubifs.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ubifs-utils/libubifs/ubifs.h b/ubifs-utils/libubifs/ubifs.h +index 0908a2289208..1c7bc7bd0c80 100644 +--- a/ubifs-utils/libubifs/ubifs.h ++++ b/ubifs-utils/libubifs/ubifs.h +@@ -11,6 +11,7 @@ + #ifndef __UBIFS_H__ + #define __UBIFS_H__ + ++#include + #include + + #include "linux_types.h" +-- +2.34.1 + diff --git a/meta/recipes-devtools/mtd/files/0002-ubifs-utils-journal-Include-sys-stat.h.patch b/meta/recipes-devtools/mtd/files/0002-ubifs-utils-journal-Include-sys-stat.h.patch new file mode 100644 index 00000000000..ea376437df9 --- /dev/null +++ b/meta/recipes-devtools/mtd/files/0002-ubifs-utils-journal-Include-sys-stat.h.patch @@ -0,0 +1,41 @@ +From 65077d8d664821e323d011956049c1c1b97d9560 Mon Sep 17 00:00:00 2001 +From: Fabio Estevam +Date: Mon, 17 Feb 2025 16:07:49 -0300 +Subject: [PATCH v4 mtd-utils 2/4] ubifs-utils: journal: Include + +Include the header file to fix the following error +when building with musl: + +| ../git/ubifs-utils/libubifs/journal.c: In function 'ubifs_get_dent_type': +| ../git/ubifs-utils/libubifs/journal.c:414:24: error: 'S_IFMT' undeclared (first use in this function) +| 414 | switch (mode & S_IFMT) { +| | ^~~~~~ +| ../git/ubifs-utils/libubifs/journal.c:414:24: note: each undeclared identifier is reported only once for each function it appears in +| ../git/ubifs-utils/libubifs/journal.c:415:14: error: 'S_IFREG' undeclared (first use in this function) +| 415 | case S_IFREG: + +Upstream-Status: Submitted [https://lore.kernel.org/linux-mtd/20250219130244.2119582-2-festevam@gmail.com/T/#t] +Signed-off-by: Fabio Estevam +Reviewed-by: Zhihao Cheng +--- +Changes since v3: +- Removed Upstream-Status tag. + + ubifs-utils/libubifs/journal.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ubifs-utils/libubifs/journal.c b/ubifs-utils/libubifs/journal.c +index e78ea14f3e69..45d82fd54bdb 100644 +--- a/ubifs-utils/libubifs/journal.c ++++ b/ubifs-utils/libubifs/journal.c +@@ -46,6 +46,7 @@ + * all the nodes. + */ + ++#include + #include "bitops.h" + #include "kmem.h" + #include "ubifs.h" +-- +2.34.1 + diff --git a/meta/recipes-devtools/mtd/files/0003-ubifs-utils-link-libmissing.a-in-case-execinfo.h-isn.patch b/meta/recipes-devtools/mtd/files/0003-ubifs-utils-link-libmissing.a-in-case-execinfo.h-isn.patch new file mode 100644 index 00000000000..b4c190d554e --- /dev/null +++ b/meta/recipes-devtools/mtd/files/0003-ubifs-utils-link-libmissing.a-in-case-execinfo.h-isn.patch @@ -0,0 +1,66 @@ +From 52db447c94974cd946de8d9d7031b91d41ad1280 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Wed, 26 Feb 2025 18:24:00 +0000 +Subject: [PATCH 3/4] ubifs-utils: link libmissing.a in case execinfo.h isn't + present + +On musl execinfo.h doesn't exist, but ubifs-utils uses backtrace() when +reporting errors. This results in build failures under musl. + +Handily, libmissing.a already exists with a stub implementation of +backtrace(). + +Guard the execinfo.h include and if it isn't available instead include +libmissing.h, and link to libmissing.a to provide backtrace() if needed. + +Upstream-Status: Submitted [https://lore.kernel.org/linux-mtd/20250226182400.1723418-1-ross.burton@arm.com/] +Signed-off-by: Ross Burton +Reviewed-by: Zhihao Cheng +Signed-off-by: Fabio Estevam +--- + ubifs-utils/Makemodule.am | 4 ++-- + ubifs-utils/common/defs.h | 5 ++++- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/ubifs-utils/Makemodule.am b/ubifs-utils/Makemodule.am +index 21ba0597d84a..f84569a6da44 100644 +--- a/ubifs-utils/Makemodule.am ++++ b/ubifs-utils/Makemodule.am +@@ -72,7 +72,7 @@ mkfs_ubifs_SOURCES = \ + ubifs-utils/mkfs.ubifs/mkfs.ubifs.c + + mkfs_ubifs_LDADD = libmtd.a libubi.a $(ZLIB_LIBS) $(LZO_LIBS) $(ZSTD_LIBS) $(UUID_LIBS) $(LIBSELINUX_LIBS) $(OPENSSL_LIBS) \ +- $(DUMP_STACK_LD) $(ASAN_LIBS) -lm -lpthread ++ $(DUMP_STACK_LD) $(ASAN_LIBS) -lm -lpthread libmissing.a + mkfs_ubifs_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CFLAGS) $(LZO_CFLAGS) $(ZSTD_CFLAGS) $(UUID_CFLAGS) $(LIBSELINUX_CFLAGS) \ + -I$(top_srcdir)/ubi-utils/include -I$(top_srcdir)/ubifs-utils/common -I $(top_srcdir)/ubifs-utils/libubifs + +@@ -90,7 +90,7 @@ fsck_ubifs_SOURCES = \ + ubifs-utils/fsck.ubifs/handle_disconnected.c + + fsck_ubifs_LDADD = libmtd.a libubi.a $(ZLIB_LIBS) $(LZO_LIBS) $(ZSTD_LIBS) $(UUID_LIBS) $(LIBSELINUX_LIBS) $(OPENSSL_LIBS) \ +- $(DUMP_STACK_LD) $(ASAN_LIBS) -lm -lpthread ++ $(DUMP_STACK_LD) $(ASAN_LIBS) -lm -lpthread libmissing.a + fsck_ubifs_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CFLAGS) $(LZO_CFLAGS) $(ZSTD_CFLAGS) $(UUID_CFLAGS) $(LIBSELINUX_CFLAGS) \ + -I$(top_srcdir)/ubi-utils/include -I$(top_srcdir)/ubifs-utils/common -I $(top_srcdir)/ubifs-utils/libubifs \ + -I$(top_srcdir)/ubifs-utils/fsck.ubifs +diff --git a/ubifs-utils/common/defs.h b/ubifs-utils/common/defs.h +index 7ff1771674d9..d5edbf67439a 100644 +--- a/ubifs-utils/common/defs.h ++++ b/ubifs-utils/common/defs.h +@@ -13,8 +13,11 @@ + #include + #include + #include ++#if HAVE_EXECINFO_H + #include +- ++#else ++#include "libmissing.h" ++#endif + #include "ubifs.h" + + /* common.h requires the PROGRAM_NAME macro */ +-- +2.34.1 + diff --git a/meta/recipes-devtools/mtd/files/0004-ubifs-utils-extract_files-Include-linux-limits.h.patch b/meta/recipes-devtools/mtd/files/0004-ubifs-utils-extract_files-Include-linux-limits.h.patch new file mode 100644 index 00000000000..87806af27d3 --- /dev/null +++ b/meta/recipes-devtools/mtd/files/0004-ubifs-utils-extract_files-Include-linux-limits.h.patch @@ -0,0 +1,41 @@ +From f218be1ce0c8923d690221160a3dd9f1492acaf1 Mon Sep 17 00:00:00 2001 +From: Fabio Estevam +Date: Tue, 18 Feb 2025 08:17:30 -0300 +Subject: [PATCH v4 mtd-utils 4/4] ubifs-utils: extract_files: Include + +Include to fix the following build error when building +with musl: + +| ../git/ubifs-utils/fsck.ubifs/extract_files.c: In function 'parse_ino_node': +| ../git/ubifs-utils/fsck.ubifs/extract_files.c:144:47: error: 'XATTR_LIST_MAX' undeclared (first use in this function) +| 144 | if (ino_node->xnms + ino_node->xcnt > XATTR_LIST_MAX) { +| | ^~~~~~~~~~~~~~ +| ../git/ubifs-utils/fsck.ubifs/extract_files.c:144:47: note: each undeclared identifier is reported only once for each function it appears in +| make: *** [Makefile:4374: ubifs-utils/fsck.ubifs/fsck_ubifs-extract_files.o] Error 1 + +Upstream-Status: Submitted [https://lore.kernel.org/linux-mtd/20250219130244.2119582-4-festevam@gmail.com/T/#t] +Signed-off-by: Fabio Estevam +Reviewed-by: Zhihao Cheng +--- +Changes since v3: +- None. + + ubifs-utils/fsck.ubifs/extract_files.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ubifs-utils/fsck.ubifs/extract_files.c b/ubifs-utils/fsck.ubifs/extract_files.c +index c83d37749bc0..000ef5d10565 100644 +--- a/ubifs-utils/fsck.ubifs/extract_files.c ++++ b/ubifs-utils/fsck.ubifs/extract_files.c +@@ -10,6 +10,8 @@ + #include + #include + ++#include ++ + #include "linux_err.h" + #include "bitops.h" + #include "kmem.h" +-- +2.34.1 + diff --git a/meta/recipes-devtools/mtd/mtd-utils_2.2.1.bb b/meta/recipes-devtools/mtd/mtd-utils_2.3.0.bb similarity index 90% rename from meta/recipes-devtools/mtd/mtd-utils_2.2.1.bb rename to meta/recipes-devtools/mtd/mtd-utils_2.3.0.bb index 5ab5f6c7298..aa593ac14f5 100644 --- a/meta/recipes-devtools/mtd/mtd-utils_2.2.1.bb +++ b/meta/recipes-devtools/mtd/mtd-utils_2.3.0.bb @@ -11,8 +11,12 @@ inherit autotools pkgconfig update-alternatives DEPENDS = "zlib e2fsprogs util-linux" RDEPENDS:mtd-utils-tests += "bash" -SRCREV = "13ec33609213c1dbd75852a09560a707a7f19a5c" -SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master" +SRCREV = "4594fc1f4496a0ed55cabd31fbeba4e3fbf05602" +SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \ + file://0001-ubifs-utils-ubifs.h-Include-fcntl.h.patch \ + file://0002-ubifs-utils-journal-Include-sys-stat.h.patch \ + file://0003-ubifs-utils-link-libmissing.a-in-case-execinfo.h-isn.patch \ + file://0004-ubifs-utils-extract_files-Include-linux-limits.h.patch" S = "${WORKDIR}/git" -- 2.47.3