Skip to contentSkip to conversation

mtd-utils: ubinize: fix return code on error

PATCH Superseded Luca Ceresoli 2 participants 3 messages Apr 11, 2016 – Apr 12, 2016

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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 verison.

Fetch from: http://git.infradead.org/mtd-utils.git/commit/5f50207231414bfdbac8f0f974a2824f24177d6e

---
 ...binize-Always-return-error-code-at-least-.patch | 63 ++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100644 package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch
package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch new file +63 -0
new file mode 100644
index 0000000..772ab78
@@ -0,0 +1,63 @@
+From 5f50207231414bfdbac8f0f974a2824f24177d6e Mon Sep 17 00:00:00 2001
+From: Enrico Jorns <[email protected]>
+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 <[email protected]>
+Signed-off-by: Brian Norris <[email protected]>
+---
+ 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
+
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 mtd-utils: ubinize: fix return code on error

Hi Luca,

Quoted 23 lines · Luca Ceresoli

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 verison.

Fetch from: http://git.infradead.org/mtd-utils.git/commit/5f50207231414bfdbac8f0f974a2824f24177d6e

---
  ...binize-Always-return-error-code-at-least-.patch | 63 ++++++++++++++++++++++
  1 file changed, 63 insertions(+)

create mode 100644 package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch

package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch new file +2 -0
new file mode 100644
index 0000000..772ab78
@@ -0,0 +1,63 @@
+From 5f50207231414bfdbac8f0f974a2824f24177d6e Mon Sep 17 00:00:00 2001
+From: Enrico Jorns <[email protected]>

package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch line 12

Quoted 10 lines
package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch new file +10 -0
+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 <[email protected]>
+Signed-off-by: Brian Norris <[email protected]>

You forgot to add you SoB.

Otherwise looks good to me.

Regards,
Arnout

Quoted 52 lines
package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch new file +51 -0
+---
+ 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
+
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#2 lore raw

PATCH 1/1 mtd-utils: ubinize: fix return code on error

Dear Arnout,

Quoted 34 lines · Arnout Vandecappelle

Hi Luca,

Quoted 30 lines · Luca Ceresoli

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 verison.

Fetch from:
http://git.infradead.org/mtd-utils.git/commit/5f50207231414bfdbac8f0f974a2824f24177d6e

---
  ...binize-Always-return-error-code-at-least-.patch | 63
++++++++++++++++++++++
  1 file changed, 63 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 0000000..772ab78
--- /dev/null
+++
b/package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch

Quoted 16 lines
Quoted 7 lines
package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch new file +4 -0
@@ -0,0 +1,63 @@
+From 5f50207231414bfdbac8f0f974a2824f24177d6e Mon Sep 17 00:00:00 2001
+From: Enrico Jorns <[email protected]>
+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

package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch line 12

Quoted 7 lines
package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch new file +7 -0
+
+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 <[email protected]>
+Signed-off-by: Brian Norris <[email protected]>

You forgot to add you SoB.

My bad... v2 on the way!

Quoted 2 lines

Otherwise looks good to me.

Thanks.

Signature · 1 line
Luca