From 81b2582a3f9719fde7880394667c75e115f4e5fd Mon Sep 17 00:00:00 2001 From: Alexander Dahl Date: Wed, 2 Oct 2019 15:06:00 +0200 Subject: mtd-utils: version bump 2.0.2 -> 2.1.1 Signed-off-by: Alexander Dahl Signed-off-by: Michael Olbrich --- ...andmarkbad-new-util-to-mark-blocks-as-bad.patch | 158 --------------------- patches/mtd-utils-2.0.2/autogen.sh | 1 - patches/mtd-utils-2.0.2/series | 4 - ...andmarkbad-new-util-to-mark-blocks-as-bad.patch | 158 +++++++++++++++++++++ patches/mtd-utils-2.1.1/autogen.sh | 1 + patches/mtd-utils-2.1.1/series | 4 + rules/host-mtd-utils.make | 6 +- rules/mtd-utils.make | 10 +- 8 files changed, 175 insertions(+), 167 deletions(-) delete mode 100644 patches/mtd-utils-2.0.2/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch delete mode 120000 patches/mtd-utils-2.0.2/autogen.sh delete mode 100644 patches/mtd-utils-2.0.2/series create mode 100644 patches/mtd-utils-2.1.1/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch create mode 120000 patches/mtd-utils-2.1.1/autogen.sh create mode 100644 patches/mtd-utils-2.1.1/series diff --git a/patches/mtd-utils-2.0.2/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch b/patches/mtd-utils-2.0.2/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch deleted file mode 100644 index 1cea5f238..000000000 --- a/patches/mtd-utils-2.0.2/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch +++ /dev/null @@ -1,158 +0,0 @@ -From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= -Date: Wed, 30 Aug 2017 13:31:46 +0200 -Subject: [PATCH] nandmarkbad: new util to mark blocks as bad - ---- - nand-utils/Makemodule.am | 5 +- - nand-utils/nandmarkbad.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 123 insertions(+), 1 deletion(-) - create mode 100644 nand-utils/nandmarkbad.c - -diff --git a/nand-utils/Makemodule.am b/nand-utils/Makemodule.am -index d75b0cb3e36c..c31dcb01f06e 100644 ---- a/nand-utils/Makemodule.am -+++ b/nand-utils/Makemodule.am -@@ -7,6 +7,9 @@ nandwrite_LDADD = libmtd.a - nandtest_SOURCES = nand-utils/nandtest.c - nandtest_LDADD = libmtd.a - -+nandmarkbad_SOURCES = nand-utils/nandmarkbad.c -+nandmarkbad_LDADD = libmtd.a -+ - nftldump_SOURCES = nand-utils/nftldump.c - nftldump_LDADD = libmtd.a - -@@ -14,7 +17,7 @@ nftl_format_SOURCES = nand-utils/nftl_format.c - nftl_format_LDADD = libmtd.a - - NAND_BINS = \ -- nanddump nandwrite nandtest nftldump nftl_format -+ nanddump nandwrite nandtest nandmarkbad nftldump nftl_format - - NAND_SH = \ - nand-utils/load_nandsim.sh -diff --git a/nand-utils/nandmarkbad.c b/nand-utils/nandmarkbad.c -new file mode 100644 -index 000000000000..cf05698c3609 ---- /dev/null -+++ b/nand-utils/nandmarkbad.c -@@ -0,0 +1,119 @@ -+#define PROGRAM_NAME "nandmarkbad" -+ -+#include -+#include -+#include -+#include -+ -+#include "common.h" -+#include -+ -+static void usage(int status) -+{ -+ fprintf(status ? stderr : stdout, -+ "usage: %s [OPTIONS] \n\n" -+ " -b, --markbad=blockno Mark block bad\n" -+ " -h, --help Display this help and exit\n" -+ " -V, --version Output version information and exit\n" -+ " -y, --i-know-what-i-do really do mark blocks as bad\n", -+ PROGRAM_NAME); -+ exit(status); -+} -+ -+/* -+ * Main program -+ */ -+int main(int argc, char **argv) -+{ -+ loff_t mark_bad[32]; -+ unsigned cnt_bad = 0; -+ struct mtd_dev_info mtd; -+ libmtd_t mtd_desc; -+ int fd; -+ int error = 0; -+ int ret; -+ unsigned int i; -+ int iknowwhatido = 0; -+ -+ for (;;) { -+ static const char short_options[] = "b:hVy"; -+ static const struct option long_options[] = { -+ { "help", no_argument, 0, 'h' }, -+ { "markbad", required_argument, 0, 'b' }, -+ { "version", no_argument, 0, 'V'}, -+ { "i-know-what-i-do", no_argument, 0, 'y' }, -+ {0, 0, 0, 0}, -+ }; -+ int option_index = 0; -+ int c = getopt_long(argc, argv, short_options, long_options, -+ &option_index); -+ if (c == EOF) -+ break; -+ -+ switch (c) { -+ case '?': -+ usage(EXIT_FAILURE); -+ break; -+ -+ case 'b': -+ if (cnt_bad < ARRAY_SIZE(mark_bad)) { -+ mark_bad[cnt_bad] = -+ simple_strtoll(optarg, &error); -+ ++cnt_bad; -+ } else { -+ errmsg_die("Can't handle so many bad blocks\n"); -+ } -+ -+ break; -+ -+ case 'h': -+ usage(EXIT_SUCCESS); -+ break; -+ -+ case 'V': -+ common_print_version(); -+ return EXIT_SUCCESS; -+ -+ case 'y': -+ iknowwhatido = 1; -+ break; -+ } -+ } -+ -+ argc -= optind; -+ argv += optind; -+ -+ if (error) -+ usage(EXIT_FAILURE); -+ -+ if (argc != 1) -+ errmsg_die("You must specify a device to operate on\n"); -+ -+ if (!cnt_bad) -+ errmsg_die("You must specify at least one block to mark bad\n"); -+ -+ if (!iknowwhatido) -+ errmsg_die(PROGRAM_NAME " does things that are hard to undo.\n" -+ "\tPlease convince yourself you understand the risks,\n" -+ "\tthen add --i-know-what-i-do to the options.\n"); -+ -+ fd = open(argv[0], O_RDWR); -+ if (fd < 0) -+ sys_errmsg_die("Failed to open mtd device\n"); -+ -+ mtd_desc = libmtd_open(); -+ if (!mtd_desc) -+ errmsg_die("Can't initialize libmtd"); -+ -+ if (mtd_get_dev_info(mtd_desc, argv[0], &mtd) < 0) -+ errmsg_die("mtd_get_dev_info failed"); -+ -+ for (i = 0; i < cnt_bad; ++i) { -+ ret = mtd_mark_bad(&mtd, fd, mark_bad[i]); -+ if (ret) -+ sys_errmsg_die("%s: MTD Mark bad block failure", -+ argv[0]); -+ } -+ -+ return EXIT_SUCCESS; -+} diff --git a/patches/mtd-utils-2.0.2/autogen.sh b/patches/mtd-utils-2.0.2/autogen.sh deleted file mode 120000 index 9f8a4cb7d..000000000 --- a/patches/mtd-utils-2.0.2/autogen.sh +++ /dev/null @@ -1 +0,0 @@ -../autogen.sh \ No newline at end of file diff --git a/patches/mtd-utils-2.0.2/series b/patches/mtd-utils-2.0.2/series deleted file mode 100644 index 92dc1b94f..000000000 --- a/patches/mtd-utils-2.0.2/series +++ /dev/null @@ -1,4 +0,0 @@ -# generated by git-ptx-patches -#tag:base --start-number 1 -0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch -# 407ded52b82ffa3ff91d50cf6b2388e0 - git-ptx-patches magic diff --git a/patches/mtd-utils-2.1.1/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch b/patches/mtd-utils-2.1.1/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch new file mode 100644 index 000000000..1cea5f238 --- /dev/null +++ b/patches/mtd-utils-2.1.1/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch @@ -0,0 +1,158 @@ +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= +Date: Wed, 30 Aug 2017 13:31:46 +0200 +Subject: [PATCH] nandmarkbad: new util to mark blocks as bad + +--- + nand-utils/Makemodule.am | 5 +- + nand-utils/nandmarkbad.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 123 insertions(+), 1 deletion(-) + create mode 100644 nand-utils/nandmarkbad.c + +diff --git a/nand-utils/Makemodule.am b/nand-utils/Makemodule.am +index d75b0cb3e36c..c31dcb01f06e 100644 +--- a/nand-utils/Makemodule.am ++++ b/nand-utils/Makemodule.am +@@ -7,6 +7,9 @@ nandwrite_LDADD = libmtd.a + nandtest_SOURCES = nand-utils/nandtest.c + nandtest_LDADD = libmtd.a + ++nandmarkbad_SOURCES = nand-utils/nandmarkbad.c ++nandmarkbad_LDADD = libmtd.a ++ + nftldump_SOURCES = nand-utils/nftldump.c + nftldump_LDADD = libmtd.a + +@@ -14,7 +17,7 @@ nftl_format_SOURCES = nand-utils/nftl_format.c + nftl_format_LDADD = libmtd.a + + NAND_BINS = \ +- nanddump nandwrite nandtest nftldump nftl_format ++ nanddump nandwrite nandtest nandmarkbad nftldump nftl_format + + NAND_SH = \ + nand-utils/load_nandsim.sh +diff --git a/nand-utils/nandmarkbad.c b/nand-utils/nandmarkbad.c +new file mode 100644 +index 000000000000..cf05698c3609 +--- /dev/null ++++ b/nand-utils/nandmarkbad.c +@@ -0,0 +1,119 @@ ++#define PROGRAM_NAME "nandmarkbad" ++ ++#include ++#include ++#include ++#include ++ ++#include "common.h" ++#include ++ ++static void usage(int status) ++{ ++ fprintf(status ? stderr : stdout, ++ "usage: %s [OPTIONS] \n\n" ++ " -b, --markbad=blockno Mark block bad\n" ++ " -h, --help Display this help and exit\n" ++ " -V, --version Output version information and exit\n" ++ " -y, --i-know-what-i-do really do mark blocks as bad\n", ++ PROGRAM_NAME); ++ exit(status); ++} ++ ++/* ++ * Main program ++ */ ++int main(int argc, char **argv) ++{ ++ loff_t mark_bad[32]; ++ unsigned cnt_bad = 0; ++ struct mtd_dev_info mtd; ++ libmtd_t mtd_desc; ++ int fd; ++ int error = 0; ++ int ret; ++ unsigned int i; ++ int iknowwhatido = 0; ++ ++ for (;;) { ++ static const char short_options[] = "b:hVy"; ++ static const struct option long_options[] = { ++ { "help", no_argument, 0, 'h' }, ++ { "markbad", required_argument, 0, 'b' }, ++ { "version", no_argument, 0, 'V'}, ++ { "i-know-what-i-do", no_argument, 0, 'y' }, ++ {0, 0, 0, 0}, ++ }; ++ int option_index = 0; ++ int c = getopt_long(argc, argv, short_options, long_options, ++ &option_index); ++ if (c == EOF) ++ break; ++ ++ switch (c) { ++ case '?': ++ usage(EXIT_FAILURE); ++ break; ++ ++ case 'b': ++ if (cnt_bad < ARRAY_SIZE(mark_bad)) { ++ mark_bad[cnt_bad] = ++ simple_strtoll(optarg, &error); ++ ++cnt_bad; ++ } else { ++ errmsg_die("Can't handle so many bad blocks\n"); ++ } ++ ++ break; ++ ++ case 'h': ++ usage(EXIT_SUCCESS); ++ break; ++ ++ case 'V': ++ common_print_version(); ++ return EXIT_SUCCESS; ++ ++ case 'y': ++ iknowwhatido = 1; ++ break; ++ } ++ } ++ ++ argc -= optind; ++ argv += optind; ++ ++ if (error) ++ usage(EXIT_FAILURE); ++ ++ if (argc != 1) ++ errmsg_die("You must specify a device to operate on\n"); ++ ++ if (!cnt_bad) ++ errmsg_die("You must specify at least one block to mark bad\n"); ++ ++ if (!iknowwhatido) ++ errmsg_die(PROGRAM_NAME " does things that are hard to undo.\n" ++ "\tPlease convince yourself you understand the risks,\n" ++ "\tthen add --i-know-what-i-do to the options.\n"); ++ ++ fd = open(argv[0], O_RDWR); ++ if (fd < 0) ++ sys_errmsg_die("Failed to open mtd device\n"); ++ ++ mtd_desc = libmtd_open(); ++ if (!mtd_desc) ++ errmsg_die("Can't initialize libmtd"); ++ ++ if (mtd_get_dev_info(mtd_desc, argv[0], &mtd) < 0) ++ errmsg_die("mtd_get_dev_info failed"); ++ ++ for (i = 0; i < cnt_bad; ++i) { ++ ret = mtd_mark_bad(&mtd, fd, mark_bad[i]); ++ if (ret) ++ sys_errmsg_die("%s: MTD Mark bad block failure", ++ argv[0]); ++ } ++ ++ return EXIT_SUCCESS; ++} diff --git a/patches/mtd-utils-2.1.1/autogen.sh b/patches/mtd-utils-2.1.1/autogen.sh new file mode 120000 index 000000000..9f8a4cb7d --- /dev/null +++ b/patches/mtd-utils-2.1.1/autogen.sh @@ -0,0 +1 @@ +../autogen.sh \ No newline at end of file diff --git a/patches/mtd-utils-2.1.1/series b/patches/mtd-utils-2.1.1/series new file mode 100644 index 000000000..92dc1b94f --- /dev/null +++ b/patches/mtd-utils-2.1.1/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch +# 407ded52b82ffa3ff91d50cf6b2388e0 - git-ptx-patches magic diff --git a/rules/host-mtd-utils.make b/rules/host-mtd-utils.make index 09709ba80..f49a08261 100644 --- a/rules/host-mtd-utils.make +++ b/rules/host-mtd-utils.make @@ -25,9 +25,13 @@ HOST_MTD_UTILS_CONF_OPT := \ --disable-unit-tests \ --disable-tests \ --disable-install-tests \ + --disable-lsmtd \ --without-jffs \ --with-ubifs \ --with-xattr \ - --with-lzo + --with-lzo \ + --without-zstd \ + --without-selinux \ + --without-crypto # vim: syntax=make diff --git a/rules/mtd-utils.make b/rules/mtd-utils.make index aa64bd2c9..1ee8e99a7 100644 --- a/rules/mtd-utils.make +++ b/rules/mtd-utils.make @@ -15,8 +15,8 @@ PACKAGES-$(PTXCONF_MTD_UTILS) += mtd-utils # # Paths and names # -MTD_UTILS_VERSION := 2.0.2 -MTD_UTILS_MD5 := 3f05981551e73f1c6de28b2ea4edec7c +MTD_UTILS_VERSION := 2.1.1 +MTD_UTILS_MD5 := 94bbd31b217a5169ae26ab8c0442f691 MTD_UTILS := mtd-utils-$(MTD_UTILS_VERSION) MTD_UTILS_SUFFIX := tar.bz2 MTD_UTILS_URL := ftp://ftp.infradead.org/pub/mtd-utils/$(MTD_UTILS).$(MTD_UTILS_SUFFIX) @@ -36,10 +36,14 @@ MTD_UTILS_CONF_OPT := \ --disable-unit-tests \ --disable-tests \ --disable-install-tests \ + --disable-lsmtd \ --$(call ptx/wwo, PTXCONF_MTD_UTILS_JFFS)-jffs \ --$(call ptx/wwo, PTXCONF_MTD_UTILS_UBIFS)-ubifs \ --without-xattr \ - --$(call ptx/wwo, PTXCONF_MTD_UTILS_USE_LIBLZO)-lzo + --$(call ptx/wwo, PTXCONF_MTD_UTILS_USE_LIBLZO)-lzo \ + --without-zstd \ + --$(call ptx/wwo, PTXCONF_GLOBAL_SELINUX)-selinux \ + --without-crypto # ---------------------------------------------------------------------------- # Target-Install -- cgit v1.2.3