[Buildroot] [git commit] mtd-utils: ubinize: fix return code on error
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Apr 13 20:27:20 UTC 2016
commit: https://git.buildroot.net/buildroot/commit/?id=0b52b8f9ba40b88a981f188ff127069c8ba82ab0
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
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 at lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
...binize-Always-return-error-code-at-least-.patch | 64 ++++++++++++++++++++++
1 file changed, 64 insertions(+)
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 0000000..077ca0c
--- /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 <ejo at 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 at pengutronix.de>
+Signed-off-by: Brian Norris <computersforpeace at gmail.com>
+Signed-off-by: Luca Ceresoli <luca at 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
+
More information about the buildroot
mailing list