From 0b52b8f9ba40b88a981f188ff127069c8ba82ab0 Mon Sep 17 00:00:00 2001 From: Luca Ceresoli Date: Wed, 13 Apr 2016 01:07:40 +0200 Subject: [PATCH] mtd-utils: ubinize: fix return code on error ubinize 1.5.2 (currently packaged in Buildroot) returns 0 in case of some errors. This can lead to unnoticed errors in the middle of a build. Fix by adding a patch from upstream, which is not yet present in any released version. Fetch from: http://git.infradead.org/mtd-utils.git/commit/5f50207231414bfdbac8f0f974a2824f24177d6e Signed-off-by: Luca Ceresoli Signed-off-by: Thomas Petazzoni --- ...e-Always-return-error-code-at-least-.patch | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch diff --git a/package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch b/package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch new file mode 100644 index 0000000000..077ca0c6a9 --- /dev/null +++ b/package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch @@ -0,0 +1,64 @@ +From 5f50207231414bfdbac8f0f974a2824f24177d6e Mon Sep 17 00:00:00 2001 +From: Enrico Jorns +Date: Fri, 11 Sep 2015 15:28:13 +0200 +Subject: [PATCH] mtd-utils: ubinize: Always return error code (at least -1) in + case of an error + +ubinize should not fail silenty, this can be very annoying when using +it from other tools that rely on the exit code for determining the +success of their operation. + +Signed-off-by: Enrico Jorns +Signed-off-by: Brian Norris +Signed-off-by: Luca Ceresoli +--- + ubi-utils/ubinize.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/ubi-utils/ubinize.c b/ubi-utils/ubinize.c +index 34f465a..60bbd9a 100644 +--- a/ubi-utils/ubinize.c ++++ b/ubi-utils/ubinize.c +@@ -519,6 +519,7 @@ int main(int argc, char * const argv[]) + */ + seek = ui.peb_size * 2; + if (lseek(args.out_fd, seek, SEEK_SET) != seek) { ++ err = -1; + sys_errmsg("cannot seek file \"%s\"", args.f_out); + goto out_free; + } +@@ -530,6 +531,7 @@ int main(int argc, char * const argv[]) + int fd, j; + + if (!sname) { ++ err = -1; + errmsg("ini-file parsing error (iniparser_getsecname)"); + goto out_free; + } +@@ -550,6 +552,7 @@ int main(int argc, char * const argv[]) + */ + for (j = 0; j < i; j++) { + if (vi[i].id == vi[j].id) { ++ err = -1; + errmsg("volume IDs must be unique, but ID %d " + "in section \"%s\" is not", + vi[i].id, sname); +@@ -557,6 +560,7 @@ int main(int argc, char * const argv[]) + } + + if (!strcmp(vi[i].name, vi[j].name)) { ++ err = -1; + errmsg("volume name must be unique, but name " + "\"%s\" in section \"%s\" is not", + vi[i].name, sname); +@@ -580,6 +584,7 @@ int main(int argc, char * const argv[]) + if (img) { + fd = open(img, O_RDONLY); + if (fd == -1) { ++ err = fd; + sys_errmsg("cannot open \"%s\"", img); + goto out_free; + } +-- +1.9.1 + -- 2.30.2