deleted file mode 100644
@@ -1,326 +0,0 @@ 
-From 01c98d5d5d044d9a125abcdbb2f3d771966365b0 Mon Sep 17 00:00:00 2001
-From: mirabilos <m@mirbsd.org>
-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 <tg@mirbsd.org>
----
- 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
-
deleted file mode 100644
@@ -1,56 +0,0 @@ 
-From 2137eb1a6cd0326510bd3b9faf8037d9bf34ca3d Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-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 <andrea.adami@gmail.com>
----
- 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
-
similarity index 94%
rename from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch
rename to meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-libmissing.h-fix-klibc-build-when-using-glibc-toolch.patch
@@ -23,9 +23,9 @@  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"
+@@ -1,9 +1,11 @@
+ #ifndef LIBMISSING_H
+ #define LIBMISSING_H
  
 +#ifndef __KLIBC__
  #ifdef HAVE_EXECINFO_H
@@ -35,6 +35,3 @@  index 0196033..832c372 100644
  
  #ifndef HAVE_EXECINFO_H
  int backtrace(void **buffer, int size);
-2.7.4
-
similarity index 89%
rename from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0001-make-Add-compiler-includes-in-cflags.patch
rename to meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0001-make-Add-compiler-includes-in-cflags.patch
@@ -19,14 +19,11 @@  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
+@@ -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 =
-2.30.0
-
similarity index 91%
rename from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0003-Makefile.am-only-build-ubi-utils.patch
rename to meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0003-Makefile.am-only-build-ubi-utils.patch
@@ -16,7 +16,7 @@  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)
+@@ -46,9 +46,9 @@ EXTRA_DIST = COPYING CHANGELOG.md README.txt
  
  include lib/Makemodule.am
  include ubi-utils/Makemodule.am
@@ -29,6 +29,3 @@  index 5a6e77c..98715dd 100644
  
  if BUILD_UBIFS
  include ubifs-utils/Makemodule.am
-2.7.4
-
similarity index 100%
rename from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.0.2/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch
rename to meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-2.3.0/0004-mtd-utils-common.h-no-features.h-for-klibc-builds.patch
similarity index 83%
rename from meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb
rename to meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.3.0.bb
@@ -9,18 +9,16 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
 
 inherit autotools pkgconfig klibc
 
-SRCREV = "64f61a9dc71b158c7084006cbce4ea23886f0b47"
-SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \
+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://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"
+# 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,"
@@ -36,7 +34,7 @@  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"
+             ubirmvol-klibc ubirsvol-klibc ubiscan-klibc ubiupdatevol-klibc"
 
 FILES:mtdinfo-klibc = "${sbindir}/mtdinfo"
 FILES:ubiattach-klibc = "${sbindir}/ubiattach"
@@ -50,4 +48,5 @@  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"