0b52b8f9ba
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>
65 lines
1.9 KiB
Diff
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
|
|
|