kumquat-buildroot/package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch
Luca Ceresoli 0b52b8f9ba 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 <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-13 22:27:20 +02:00

65 lines
1.9 KiB
Diff

From 5f50207231414bfdbac8f0f974a2824f24177d6e Mon Sep 17 00:00:00 2001
From: Enrico Jorns <ejo@pengutronix.de>
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 <ejo@pengutronix.de>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
---
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