From 5f93bf9120d0d04713e713a2b06a8d45cd6aed37 Mon Sep 17 00:00:00 2001 From: Jörg Sommer Date: Mon, 3 Nov 2025 19:21:49 +0100 Subject: ubi-utils-klibc: Upgrade 2.0.2 -> 2.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch was applied upstream as 64667fe63ba9dd78adb9c4abf04bc3e4e25a0fd7 * 0005-common.h-replace-getline-with-fgets.patch was applied upstream as 38a6e3e29d90e11c3d5147e609d7b8e021b2cabf * Updated all other patches due to patch fuzz * ubihealthd fails to build with type mismatch errors, because it is not used, it gets disabled. ``` In file included from /build/tmp/work/x86-64-v3-poky-linux/ubi-utils-klibc/2.0.2/recipe-sysroot/usr/lib/klibc/include/sys/signalfd.h:22, from ../sources/ubi-utils-klibc-2.0.2/ubi-utils/ubihealthd.c:16: /build/tmp/work/x86-64-v3-poky-linux/ubi-utils-klibc/2.0.2/recipe-sysroot/usr/lib/klibc/include/bits/types/sigset_t.h:7:20: error: conflicting types for 'sigse t_t'; have '__sigset_t' 7 | typedef __sigset_t sigset_t; | ^~~~~~~~ In file included from /build/tmp/work/x86-64-v3-poky-linux/ubi-utils-klibc/2.0.2/recipe-sysroot/usr/lib/klibc/include/signal.h:14, from /build/tmp/work/x86-64-v3-poky-linux/ubi-utils-klibc/2.0.2/recipe-sysroot/usr/lib/klibc/include/sys/poll.h:10, from /build/tmp/work/x86-64-v3-poky-linux/ubi-utils-klibc/2.0.2/recipe-sysroot/usr/lib/klibc/include/poll.h:1, from ../sources/ubi-utils-klibc-2.0.2/ubi-utils/ubihealthd.c:6: /build/tmp/work/x86-64-v3-poky-linux/ubi-utils-klibc/2.0.2/recipe-sysroot/usr/lib/klibc/include/arch/x86_64/klibc/archsignal.h:13:23: note: previous declaratio n of 'sigset_t' with type 'sigset_t' {aka 'long unsigned int'} 13 | typedef unsigned long sigset_t; | ^~~~~~~~ ``` * add new package for ubiscan Signed-off-by: Jörg Sommer Signed-off-by: Khem Raj --- ...h-fix-klibc-build-when-using-glibc-toolch.patch | 40 --- ...0001-make-Add-compiler-includes-in-cflags.patch | 32 -- ...doing-preprocessor-magic-just-output-off_.patch | 326 --------------------- .../0003-Makefile.am-only-build-ubi-utils.patch | 34 --- ...s-common.h-no-features.h-for-klibc-builds.patch | 38 --- .../0005-common.h-replace-getline-with-fgets.patch | 56 ---- ...h-fix-klibc-build-when-using-glibc-toolch.patch | 37 +++ ...0001-make-Add-compiler-includes-in-cflags.patch | 29 ++ .../0003-Makefile.am-only-build-ubi-utils.patch | 31 ++ ...s-common.h-no-features.h-for-klibc-builds.patch | 38 +++ .../recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb | 53 ---- .../recipes-devtools/mtd/ubi-utils-klibc_2.3.0.bb | 52 ++++ 12 files changed, 187 insertions(+), 579 deletions(-) delete mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch delete mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-make-Add-compiler-includes-in-cflags.patch delete mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch delete mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0003-Makefile.am-only-build-ubi-utils.patch delete mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch delete mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0005-common.h-replace-getline-with-fgets.patch create mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch create mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-make-Add-compiler-includes-in-cflags.patch create mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0003-Makefile.am-only-build-ubi-utils.patch create mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch delete mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb create mode 100644 meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.3.0.bb (limited to 'meta-initramfs') diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch deleted file mode 100644 index 4ee9bd9a18..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e596ae99059c28fa9bb3461e03e7ecaacbf41727 Mon Sep 17 00:00:00 2001 -From: Andrea Adami -Date: Wed, 23 May 2018 15:34:59 +0200 -Subject: [PATCH] libmissing.h: fix klibc build when using glibc toolchain - -klibc lacks execinfo.h so adda guard around it. -Note: build with musl toolchain is ok even without this patch. - -Fix build error: - -| In file included from ../git/lib/execinfo.c:1:0: -| ../git/include/libmissing.h:7:10: fatal error: execinfo.h: - No such file or directory - -Upstream-Status: Inappropriate [klibc specific] - -Signed-off-by: Andrea Adami ---- - include/libmissing.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/libmissing.h b/include/libmissing.h -index 0196033..832c372 100644 ---- a/include/libmissing.h -+++ b/include/libmissing.h -@@ -3,9 +3,11 @@ - - #include "config.h" - -+#ifndef __KLIBC__ - #ifdef HAVE_EXECINFO_H - #include - #endif -+#endif - - #ifndef HAVE_EXECINFO_H - int backtrace(void **buffer, int size); --- -2.7.4 - diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-make-Add-compiler-includes-in-cflags.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-make-Add-compiler-includes-in-cflags.patch deleted file mode 100644 index 778d830128..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-make-Add-compiler-includes-in-cflags.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 884ec4c654f1d07a387fdc1dae5640606369f254 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 6 Feb 2021 10:56:36 -0800 -Subject: [PATCH] make: Add compiler includes in cflags - -Fixes - In file included from ../git/ubi-utils/ubiformat.c:47: -| ../git/include/common.h:22:10: fatal error: 'stdbool.h' file not found -| #include -| ^~~~~~~~~~~ - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile.am b/Makefile.am -index 5a6e77c..f0003d5 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -9,6 +9,7 @@ endif - if WITHOUT_LZO - AM_CPPFLAGS += -DWITHOUT_LZO - endif -+AM_CPPFLAGS += -I$(shell $(CC) -print-file-name=include) - - sbin_PROGRAMS = - sbin_SCRIPTS = --- -2.30.0 - diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch deleted file mode 100644 index 5c6e097493..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch +++ /dev/null @@ -1,326 +0,0 @@ -From 01c98d5d5d044d9a125abcdbb2f3d771966365b0 Mon Sep 17 00:00:00 2001 -From: mirabilos -Date: Thu, 1 Feb 2018 15:34:07 +0100 -Subject: [PATCH] Instead of doing preprocessor magic, just output off_t as - long long - -Fix warnings abot PRIdoff_t in libmtd.c, in mtd_read (and mtd_write): - -In file included from ../git/lib/libmtd.c:40:0: -../git/lib/libmtd.c: In function 'mtd_read': -../git/include/common.h:110:18: warning: format '%ld' expects argument of - type 'long int', but argument 5 has type 'off_t {aka long long int}' - [-Wformat=] - -../git/include/common.h:120:2: note: in expansion of macro 'errmsg' - errmsg(fmt, ##__VA_ARGS__); \ - ^~~~~~ -../git/lib/libmtd.c:1082:10: note: in expansion of macro 'sys_errmsg' - return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, - ^~~~~~~~~~ - -/usr/lib/klibc/include/inttypes.h:28:17: note: format string is defined here - #define PRId32 "d" - -Upstream-Status: Submitted - -Signed-off-by: Thorsten Glaser ---- - include/common.h | 18 ------------------ - jffsX-utils/mkfs.jffs2.c | 20 ++++++++++---------- - lib/libmtd.c | 8 ++++---- - misc-utils/flash_erase.c | 6 +++--- - misc-utils/flash_otp_write.c | 2 +- - misc-utils/ftl_check.c | 2 +- - misc-utils/mtd_debug.c | 4 ++-- - misc-utils/serve_image.c | 4 ++-- - tests/fs-tests/integrity/integck.c | 4 ++-- - tests/mtd-tests/nandpagetest.c | 4 ++-- - tests/ubi-tests/integ.c | 6 +++--- - ubifs-utils/mkfs.ubifs/mkfs.ubifs.c | 6 +++--- - 12 files changed, 33 insertions(+), 51 deletions(-) - -diff --git a/include/common.h b/include/common.h -index f8f72ea..642c212 100644 ---- a/include/common.h -+++ b/include/common.h -@@ -70,24 +70,6 @@ extern "C" { - #define O_CLOEXEC 0 - #endif - --/* define a print format specifier for off_t */ --#if (SIZEOF_OFF_T >= 8) --#define PRIxoff_t PRIx64 --#define PRIdoff_t PRId64 --#else --#define PRIxoff_t "l"PRIx32 --#define PRIdoff_t "l"PRId32 --#endif -- --/* define a print format specifier for loff_t */ --#if (SIZEOF_LOFF_T >= 8) --#define PRIxloff_t PRIx64 --#define PRIdloff_t PRId64 --#else --#define PRIxloff_t "l"PRIx32 --#define PRIdloff_t "l"PRId32 --#endif -- - /* Verbose messages */ - #define bareverbose(verbose, fmt, ...) do { \ - if (verbose) \ -diff --git a/jffsX-utils/mkfs.jffs2.c b/jffsX-utils/mkfs.jffs2.c -index 9aa6c39..0661786 100644 ---- a/jffsX-utils/mkfs.jffs2.c -+++ b/jffsX-utils/mkfs.jffs2.c -@@ -1237,8 +1237,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) - } else switch (e->sb.st_mode & S_IFMT) { - case S_IFDIR: - if (verbose) { -- printf("\td %04o %9" PRIdoff_t " %5d:%-3d %s\n", -- e->sb.st_mode & ~S_IFMT, e->sb.st_size, -+ printf("\td %04o %9lld %5d:%-3d %s\n", -+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, - (int) (e->sb.st_uid), (int) (e->sb.st_gid), - e->name); - } -@@ -1247,8 +1247,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) - break; - case S_IFSOCK: - if (verbose) { -- printf("\ts %04o %9" PRIdoff_t " %5d:%-3d %s\n", -- e->sb.st_mode & ~S_IFMT, e->sb.st_size, -+ printf("\ts %04o %9lld %5d:%-3d %s\n", -+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, - (int) e->sb.st_uid, (int) e->sb.st_gid, e->name); - } - write_pipe(e); -@@ -1256,8 +1256,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) - break; - case S_IFIFO: - if (verbose) { -- printf("\tp %04o %9" PRIdoff_t " %5d:%-3d %s\n", -- e->sb.st_mode & ~S_IFMT, e->sb.st_size, -+ printf("\tp %04o %9lld %5d:%-3d %s\n", -+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, - (int) e->sb.st_uid, (int) e->sb.st_gid, e->name); - } - write_pipe(e); -@@ -1285,8 +1285,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) - break; - case S_IFLNK: - if (verbose) { -- printf("\tl %04o %9" PRIdoff_t " %5d:%-3d %s -> %s\n", -- e->sb.st_mode & ~S_IFMT, e->sb.st_size, -+ printf("\tl %04o %9lld %5d:%-3d %s -> %s\n", -+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, - (int) e->sb.st_uid, (int) e->sb.st_gid, e->name, - e->link); - } -@@ -1297,8 +1297,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) - wrote = write_regular_file(e); - write_xattr_entry(e); - if (verbose) { -- printf("\tf %04o %9" PRIdoff_t " (%9u) %5d:%-3d %s\n", -- e->sb.st_mode & ~S_IFMT, e->sb.st_size, wrote, -+ printf("\tf %04o %9lld (%9u) %5d:%-3d %s\n", -+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, wrote, - (int) e->sb.st_uid, (int) e->sb.st_gid, e->name); - } - break; -diff --git a/lib/libmtd.c b/lib/libmtd.c -index 86c89ae..f375381 100644 ---- a/lib/libmtd.c -+++ b/lib/libmtd.c -@@ -1079,8 +1079,8 @@ int mtd_read(const struct mtd_dev_info *mtd, int fd, int eb, int offs, - /* Seek to the beginning of the eraseblock */ - seek = (off_t)eb * mtd->eb_size + offs; - if (lseek(fd, seek, SEEK_SET) != seek) -- return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, -- mtd->mtd_num, seek); -+ return sys_errmsg("cannot seek mtd%d to offset %lld", -+ mtd->mtd_num, (long long)seek); - - while (rd < len) { - ret = read(fd, buf + rd, len - rd); -@@ -1188,8 +1188,8 @@ int mtd_write(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb, - if (data) { - /* Seek to the beginning of the eraseblock */ - if (lseek(fd, seek, SEEK_SET) != seek) -- return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, -- mtd->mtd_num, seek); -+ return sys_errmsg("cannot seek mtd%d to offset %lld", -+ mtd->mtd_num, (long long)seek); - ret = write(fd, data, len); - if (ret != len) - return sys_errmsg("cannot write %d bytes to mtd%d " -diff --git a/misc-utils/flash_erase.c b/misc-utils/flash_erase.c -index 0c9449f..ec4b2e1 100644 ---- a/misc-utils/flash_erase.c -+++ b/misc-utils/flash_erase.c -@@ -53,8 +53,8 @@ int target_endian = __BYTE_ORDER; - static void show_progress(struct mtd_dev_info *mtd, off_t start, int eb, - int eb_start, int eb_cnt) - { -- bareverbose(!quiet, "\rErasing %d Kibyte @ %"PRIxoff_t" -- %2i %% complete ", -- mtd->eb_size / 1024, start, ((eb - eb_start) * 100) / eb_cnt); -+ bareverbose(!quiet, "\rErasing %d Kibyte @ %llx -- %2i %% complete ", -+ mtd->eb_size / 1024, (unsigned long long)start, ((eb - eb_start) * 100) / eb_cnt); - fflush(stdout); - } - -@@ -210,7 +210,7 @@ int main(int argc, char *argv[]) - if (!noskipbad) { - int ret = mtd_is_bad(&mtd, fd, eb); - if (ret > 0) { -- verbose(!quiet, "Skipping bad block at %08"PRIxoff_t, offset); -+ verbose(!quiet, "Skipping bad block at %08llx", (unsigned long long)offset); - continue; - } else if (ret < 0) { - if (errno == EOPNOTSUPP) { -diff --git a/misc-utils/flash_otp_write.c b/misc-utils/flash_otp_write.c -index b02d0b0..04c96c6 100644 ---- a/misc-utils/flash_otp_write.c -+++ b/misc-utils/flash_otp_write.c -@@ -76,7 +76,7 @@ int main(int argc,char *argv[]) - return errno; - } - -- printf("Writing OTP user data on %s at offset 0x%"PRIxoff_t"\n", argv[2], offset); -+ printf("Writing OTP user data on %s at offset 0x%llx\n", argv[2], (unsigned long long)offset); - - if (mtd_type_is_nand_user(&mtdInfo)) - len = mtdInfo.writesize; -diff --git a/misc-utils/ftl_check.c b/misc-utils/ftl_check.c -index a853cf4..e854922 100644 ---- a/misc-utils/ftl_check.c -+++ b/misc-utils/ftl_check.c -@@ -131,7 +131,7 @@ static void check_partition(int fd) - perror("read failed"); - break; - } -- printf("\nErase unit %"PRIdoff_t":\n", i); -+ printf("\nErase unit %lld:\n", (long long)i); - if ((hdr2.FormattedSize != hdr.FormattedSize) || - (hdr2.NumEraseUnits != hdr.NumEraseUnits) || - (hdr2.SerialNumber != hdr.SerialNumber)) -diff --git a/misc-utils/mtd_debug.c b/misc-utils/mtd_debug.c -index ac37e23..d65ad36 100644 ---- a/misc-utils/mtd_debug.c -+++ b/misc-utils/mtd_debug.c -@@ -160,7 +160,7 @@ retry: - if (buf != NULL) - free(buf); - close(outfd); -- printf("Copied %zu bytes from address 0x%.8"PRIxoff_t" in flash to %s\n", len, offset, filename); -+ printf("Copied %zu bytes from address 0x%.8llx in flash to %s\n", len, (unsigned long long)offset, filename); - return 0; - - err2: -@@ -225,7 +225,7 @@ retry: - if (buf != NULL) - free(buf); - fclose(fp); -- printf("Copied %d bytes from %s to address 0x%.8"PRIxoff_t" in flash\n", len, filename, offset); -+ printf("Copied %d bytes from %s to address 0x%.8llx in flash\n", len, filename, (unsigned long long)offset); - return 0; - } - -diff --git a/misc-utils/serve_image.c b/misc-utils/serve_image.c -index f2475d6..6c8c8fb 100644 ---- a/misc-utils/serve_image.c -+++ b/misc-utils/serve_image.c -@@ -129,8 +129,8 @@ int main(int argc, char **argv) - } - - if (st.st_size % erasesize) { -- fprintf(stderr, "Image size %" PRIdoff_t " bytes is not a multiple of erasesize %d bytes\n", -- st.st_size, erasesize); -+ fprintf(stderr, "Image size %lld bytes is not a multiple of erasesize %d bytes\n", -+ (long long)st.st_size, erasesize); - exit(1); - } - image = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, rfd, 0); -diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c -index 84753d6..0a7f142 100644 ---- a/tests/fs-tests/integrity/integck.c -+++ b/tests/fs-tests/integrity/integck.c -@@ -897,8 +897,8 @@ static ssize_t file_write_data(struct file_info *file, int fd, off_t offset, - remains = size; - actual = 0; - written = IO_BUFFER_SIZE; -- v("write %zd bytes, offset %"PRIdoff_t", file %s", -- size, offset, get_file_name(file)); -+ v("write %zd bytes, offset %lld, file %s", -+ size, (long long)offset, get_file_name(file)); - while (remains) { - /* Fill up buffer with random data */ - if (written < IO_BUFFER_SIZE) { -diff --git a/tests/mtd-tests/nandpagetest.c b/tests/mtd-tests/nandpagetest.c -index c6812df..465e548 100644 ---- a/tests/mtd-tests/nandpagetest.c -+++ b/tests/mtd-tests/nandpagetest.c -@@ -232,8 +232,8 @@ static int verify_eraseblock(int ebnum) - return err; - - if (lseek(fd, addr, SEEK_SET) != addr) { -- fprintf(stderr, "cannot seek mtd%d to offset %"PRIdloff_t, -- mtd.mtd_num, addr); -+ fprintf(stderr, "cannot seek mtd%d to offset %lld", -+ mtd.mtd_num, (long long)addr); - return -1; - } - -diff --git a/tests/ubi-tests/integ.c b/tests/ubi-tests/integ.c -index 26c2ce5..1cd0649 100644 ---- a/tests/ubi-tests/integ.c -+++ b/tests/ubi-tests/integ.c -@@ -243,7 +243,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) - while (size) - if (read_buffer[--size] != 0xff) { - fprintf(stderr, "block no. = %d\n" , erase_block->block_number); -- fprintf(stderr, "offset = %"PRIdoff_t"\n" , gap_start); -+ fprintf(stderr, "offset = %lld\n" , (long long)gap_start); - fprintf(stderr, "size = %ld\n" , (long) bytes_read); - error_exit("verify 0xff failed"); - } -@@ -254,7 +254,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) - errno = 0; - bytes_read = read(fd, read_buffer, w->size); - if (bytes_read != w->size) { -- fprintf(stderr, "offset = %"PRIdoff_t"\n" , w->offset); -+ fprintf(stderr, "offset = %lld\n" , (long long)w->offset); - fprintf(stderr, "size = %ld\n" , (long) w->size); - fprintf(stderr, "bytes_read = %ld\n" , (long) bytes_read); - error_exit("read failed"); -@@ -279,7 +279,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) - while (size) - if (read_buffer[--size] != 0xff) { - fprintf(stderr, "block no. = %d\n" , erase_block->block_number); -- fprintf(stderr, "offset = %"PRIdoff_t"\n" , gap_start); -+ fprintf(stderr, "offset = %lld\n" , (long long)gap_start); - fprintf(stderr, "size = %ld\n" , (long) bytes_read); - error_exit("verify 0xff failed!"); - } -diff --git a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c -index c916f48..f0237ab 100644 ---- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c -+++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c -@@ -772,11 +772,11 @@ int write_leb(int lnum, int len, void *buf) - return sys_err_msg("ubi_leb_change_start failed"); - - if (lseek(out_fd, pos, SEEK_SET) != pos) -- return sys_err_msg("lseek failed seeking %"PRIdoff_t, pos); -+ return sys_err_msg("lseek failed seeking %lld", (long long)pos); - - if (write(out_fd, buf, c->leb_size) != c->leb_size) -- return sys_err_msg("write failed writing %d bytes at pos %"PRIdoff_t, -- c->leb_size, pos); -+ return sys_err_msg("write failed writing %d bytes at pos %lld", -+ c->leb_size, (long long)pos); - - return 0; - } --- -2.7.4 - diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0003-Makefile.am-only-build-ubi-utils.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0003-Makefile.am-only-build-ubi-utils.patch deleted file mode 100644 index 38ab7a91cb..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0003-Makefile.am-only-build-ubi-utils.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 139d93bc405272a3261d57be26da842e737fe4d0 Mon Sep 17 00:00:00 2001 -From: Andrea Adami -Date: Sun, 28 Jan 2018 23:10:34 +0100 -Subject: [PATCH] Makefile.am: only build ubi-utils - -We only target the ubi-utils, static, small. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Andrea Adami ---- - Makefile.am | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 5a6e77c..98715dd 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -34,9 +34,9 @@ EXTRA_DIST += $(GLOBAL_HEADER) $(GLOBAL_EXTRA) - - include lib/Makemodule.am - include ubi-utils/Makemodule.am --include misc-utils/Makemodule.am --include nand-utils/Makemodule.am --include nor-utils/Makemodule.am -+#include misc-utils/Makemodule.am -+#include nand-utils/Makemodule.am -+#include nor-utils/Makemodule.am - - if BUILD_UBIFS - include ubifs-utils/Makemodule.am --- -2.7.4 - diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch deleted file mode 100644 index 2844a5020c..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ae1cf6d0eb1833e46549328a4473222c259723d7 Mon Sep 17 00:00:00 2001 -From: Andrea Adami -Date: Thu, 1 Feb 2018 00:25:00 +0100 -Subject: [PATCH] mtd-utils: common.h: no features.h for klibc builds - -Add guard around features.h to fix missing include (here first error): - - ../git/include/common.h:29:10: - fatal error: features.h: No such file or directory - #include - ^~~~~~~~~~~~ - compilation terminated - -Upstream-Status: Submitted - -Signed-off-by: Andrea Adami ---- - include/common.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/include/common.h b/include/common.h -index 642c212..f7c71fe 100644 ---- a/include/common.h -+++ b/include/common.h -@@ -26,7 +26,10 @@ - #include - #include - #include -+#if defined(__KLIBC__) -+#else - #include -+#endif - #include - #include - #include --- -2.7.4 - diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0005-common.h-replace-getline-with-fgets.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0005-common.h-replace-getline-with-fgets.patch deleted file mode 100644 index a556ed3d87..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0005-common.h-replace-getline-with-fgets.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 2137eb1a6cd0326510bd3b9faf8037d9bf34ca3d Mon Sep 17 00:00:00 2001 -From: Andrea Adami -Date: Wed, 23 May 2018 15:52:34 +0200 -Subject: [PATCH] common.h: replace getline() with fgets - -There is an unofficial upstream patch adding a simple getline() -to libmissing.h. Unfortunately the patch creates issues if the -toolchain is using glibc (autotools cache?) so for the moment -keep the old hack and wait for commits upstream. - -Fix: - -| ubi-utils/ubiformat.o: In function `prompt.constprop.4': -| ubiformat.c:(.text+0x70): undefined reference to `getline' - -Upstream-Status: Inappropriate [klibc specific] - -Signed-off-by: Andrea Adami ---- - include/common.h | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/include/common.h b/include/common.h -index a1d59d0..96b0bdb 100644 ---- a/include/common.h -+++ b/include/common.h -@@ -126,15 +126,26 @@ extern "C" { - */ - static inline bool prompt(const char *msg, bool def) - { -+ -+#ifndef __KLIBC__ - char *line = NULL; - size_t len; -+#else -+ char *line; -+ const int sizeof_line = 2; -+ line = malloc(sizeof_line); -+#endif - bool ret = def; - - do { - normsg_cont("%s (%c/%c) ", msg, def ? 'Y' : 'y', def ? 'n' : 'N'); - fflush(stdout); - -+#ifndef __KLIBC__ - while (getline(&line, &len, stdin) == -1) { -+#else -+ while (fgets(line, sizeof_line, stdin) == NULL) { -+#endif - printf("failed to read prompt; assuming '%s'\n", - def ? "yes" : "no"); - break; --- -2.7.4 - diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch new file mode 100644 index 0000000000..26a07688e9 --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch @@ -0,0 +1,37 @@ +From e596ae99059c28fa9bb3461e03e7ecaacbf41727 Mon Sep 17 00:00:00 2001 +From: Andrea Adami +Date: Wed, 23 May 2018 15:34:59 +0200 +Subject: [PATCH] libmissing.h: fix klibc build when using glibc toolchain + +klibc lacks execinfo.h so adda guard around it. +Note: build with musl toolchain is ok even without this patch. + +Fix build error: + +| In file included from ../git/lib/execinfo.c:1:0: +| ../git/include/libmissing.h:7:10: fatal error: execinfo.h: + No such file or directory + +Upstream-Status: Inappropriate [klibc specific] + +Signed-off-by: Andrea Adami +--- + include/libmissing.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/libmissing.h b/include/libmissing.h +index 0196033..832c372 100644 +--- a/include/libmissing.h ++++ b/include/libmissing.h +@@ -1,9 +1,11 @@ + #ifndef LIBMISSING_H + #define LIBMISSING_H + ++#ifndef __KLIBC__ + #ifdef HAVE_EXECINFO_H + #include + #endif ++#endif + + #ifndef HAVE_EXECINFO_H + int backtrace(void **buffer, int size); diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-make-Add-compiler-includes-in-cflags.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-make-Add-compiler-includes-in-cflags.patch new file mode 100644 index 0000000000..d58cdfd5c4 --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-make-Add-compiler-includes-in-cflags.patch @@ -0,0 +1,29 @@ +From 884ec4c654f1d07a387fdc1dae5640606369f254 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 6 Feb 2021 10:56:36 -0800 +Subject: [PATCH] make: Add compiler includes in cflags + +Fixes + In file included from ../git/ubi-utils/ubiformat.c:47: +| ../git/include/common.h:22:10: fatal error: 'stdbool.h' file not found +| #include +| ^~~~~~~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.am b/Makefile.am +index 5a6e77c..f0003d5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -26,6 +26,7 @@ endif + if WITH_CRYPTO + AM_CPPFLAGS += -DWITH_CRYPTO + endif ++AM_CPPFLAGS += -I$(shell $(CC) -print-file-name=include) + + sbin_PROGRAMS = + sbin_SCRIPTS = diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0003-Makefile.am-only-build-ubi-utils.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0003-Makefile.am-only-build-ubi-utils.patch new file mode 100644 index 0000000000..de36c3c8d9 --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0003-Makefile.am-only-build-ubi-utils.patch @@ -0,0 +1,31 @@ +From 139d93bc405272a3261d57be26da842e737fe4d0 Mon Sep 17 00:00:00 2001 +From: Andrea Adami +Date: Sun, 28 Jan 2018 23:10:34 +0100 +Subject: [PATCH] Makefile.am: only build ubi-utils + +We only target the ubi-utils, static, small. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andrea Adami +--- + Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 5a6e77c..98715dd 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -46,9 +46,9 @@ EXTRA_DIST = COPYING CHANGELOG.md README.txt + + include lib/Makemodule.am + include ubi-utils/Makemodule.am +-include misc-utils/Makemodule.am +-include nand-utils/Makemodule.am +-include nor-utils/Makemodule.am ++#include misc-utils/Makemodule.am ++#include nand-utils/Makemodule.am ++#include nor-utils/Makemodule.am + + if BUILD_UBIFS + include ubifs-utils/Makemodule.am diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch new file mode 100644 index 0000000000..2844a5020c --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch @@ -0,0 +1,38 @@ +From ae1cf6d0eb1833e46549328a4473222c259723d7 Mon Sep 17 00:00:00 2001 +From: Andrea Adami +Date: Thu, 1 Feb 2018 00:25:00 +0100 +Subject: [PATCH] mtd-utils: common.h: no features.h for klibc builds + +Add guard around features.h to fix missing include (here first error): + + ../git/include/common.h:29:10: + fatal error: features.h: No such file or directory + #include + ^~~~~~~~~~~~ + compilation terminated + +Upstream-Status: Submitted + +Signed-off-by: Andrea Adami +--- + include/common.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/include/common.h b/include/common.h +index 642c212..f7c71fe 100644 +--- a/include/common.h ++++ b/include/common.h +@@ -26,7 +26,10 @@ + #include + #include + #include ++#if defined(__KLIBC__) ++#else + #include ++#endif + #include + #include + #include +-- +2.7.4 + diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb deleted file mode 100644 index 461d75e625..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "UBI utils statically compiled against klibc" -DESCRIPTION = "Small sized tools from mtd-utils for use with initramfs." -SECTION = "base" -DEPENDS = "zlib e2fsprogs util-linux" -HOMEPAGE = "http://www.linux-mtd.infradead.org/" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ - file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c" - -inherit autotools pkgconfig klibc - -SRCREV = "64f61a9dc71b158c7084006cbce4ea23886f0b47" -SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \ - file://0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch \ - file://0002-Instead-of-doing-preprocessor-magic-just-output-off_.patch \ - file://0003-Makefile.am-only-build-ubi-utils.patch \ - file://0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch \ - file://0005-common.h-replace-getline-with-fgets.patch \ - file://0001-make-Add-compiler-includes-in-cflags.patch \ - " - - -EXTRA_OECONF += "--disable-tests --without-jffs --without-ubifs" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}" -PACKAGECONFIG[xattr] = ",,acl," -PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo" - -EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} ${@bb.utils.contains('PACKAGECONFIG', 'xattr', '', '-DWITHOUT_XATTR', d)} -I${S}/include' 'BUILDDIR=${S}'" - -do_install () { - oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir} -} - -PACKAGES = "ubi-utils-klibc-dbg ubi-utils-klibc-doc" - -PACKAGES =+ "mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubidetach-klibc \ - ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \ - ubirmvol-klibc ubirsvol-klibc ubiupdatevol-klibc" - -FILES:mtdinfo-klibc = "${sbindir}/mtdinfo" -FILES:ubiattach-klibc = "${sbindir}/ubiattach" -FILES:ubiblock-klibc = "${sbindir}/ubiblock" -FILES:ubicrc32-klibc = "${sbindir}/ubicrc32" -FILES:ubidetach-klibc = "${sbindir}/ubidetach" -FILES:ubiformat-klibc = "${sbindir}/ubiformat" -FILES:ubimkvol-klibc = "${sbindir}/ubimkvol" -FILES:ubinfo-klibc = "${sbindir}/ubinfo" -FILES:ubinize-klibc = "${sbindir}/ubinize" -FILES:ubirename-klibc = "${sbindir}/ubirename" -FILES:ubirmvol-klibc = "${sbindir}/ubirmvol" -FILES:ubirsvol-klibc = "${sbindir}/ubirsvol" -FILES:ubiupdatevol-klibc = "${sbindir}/ubiupdatevol" diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.3.0.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.3.0.bb new file mode 100644 index 0000000000..3fcda333c9 --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.3.0.bb @@ -0,0 +1,52 @@ +SUMMARY = "UBI utils statically compiled against klibc" +DESCRIPTION = "Small sized tools from mtd-utils for use with initramfs." +SECTION = "base" +DEPENDS = "zlib e2fsprogs util-linux" +HOMEPAGE = "http://www.linux-mtd.infradead.org/" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c" + +inherit autotools pkgconfig klibc + +SRCREV = "4594fc1f4496a0ed55cabd31fbeba4e3fbf05602" +SRC_URI = "git://git.infraroot.at/mtd-utils.git;protocol=https;branch=master \ + file://0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch \ + file://0003-Makefile.am-only-build-ubi-utils.patch \ + file://0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch \ + file://0001-make-Add-compiler-includes-in-cflags.patch \ + " + +# ubihealthd fails to build since 2.3.0 +EXTRA_OECONF += "--without-tests --without-jffs --without-ubifs --disable-ubihealthd" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}" +PACKAGECONFIG[xattr] = ",,acl," +PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo" + +EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} ${@bb.utils.contains('PACKAGECONFIG', 'xattr', '', '-DWITHOUT_XATTR', d)} -I${S}/include' 'BUILDDIR=${S}'" + +do_install () { + oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir} +} + +PACKAGES = "ubi-utils-klibc-dbg ubi-utils-klibc-doc" + +PACKAGES =+ "mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubidetach-klibc \ + ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \ + ubirmvol-klibc ubirsvol-klibc ubiscan-klibc ubiupdatevol-klibc" + +FILES:mtdinfo-klibc = "${sbindir}/mtdinfo" +FILES:ubiattach-klibc = "${sbindir}/ubiattach" +FILES:ubiblock-klibc = "${sbindir}/ubiblock" +FILES:ubicrc32-klibc = "${sbindir}/ubicrc32" +FILES:ubidetach-klibc = "${sbindir}/ubidetach" +FILES:ubiformat-klibc = "${sbindir}/ubiformat" +FILES:ubimkvol-klibc = "${sbindir}/ubimkvol" +FILES:ubinfo-klibc = "${sbindir}/ubinfo" +FILES:ubinize-klibc = "${sbindir}/ubinize" +FILES:ubirename-klibc = "${sbindir}/ubirename" +FILES:ubirmvol-klibc = "${sbindir}/ubirmvol" +FILES:ubirsvol-klibc = "${sbindir}/ubirsvol" +FILES:ubiscan-klibc = "${sbindir}/ubiscan" +FILES:ubiupdatevol-klibc = "${sbindir}/ubiupdatevol" -- cgit v1.2.3-54-g00ecf