Skip to contentSkip to conversation

barebox bug, sh [ -c /dev/nand0.var.ubi.blablablub ] returns |true| even if there is no "blablablub" partition on "var" volume

DISCUSSION Mainz, Roland 3 participants 4 messages Sep 2, 2019

lore
Share & tools
lore
#0 lore raw

Hi!

----

Quick&dirty bug report:

- Version: barebox 2018.05.0-20190221-1-EAG_3.00-gf70df96 #1 Mon Sep 2 09:03:05 CEST 2019
- Hardware: Eckelmann/EAG Quantron

Problem:
The barebox sh's "test"/"[" shell builtin returns "true" for /dev/nand0.var.ubi.blablablub even if there is no "blablablub" partition on the "var" volume.

Example:
-------- snip --------
barebox:/ ls -l /dev
crw------- 153600 fb0
cr-------- 0 full

crw-------             32 imx_iim_bank0
crw-------             32 imx_iim_bank1
crw-------             32 imx_iim_bank2

crw------- 256 mc34704
crw------- 4294967295 mem
crw------- 134217728 nand0
crw------- 1048576 nand0.barebox
crw------- 1048576 nand0.barebox.bb
crw------- 133955584 nand0.bb

crw-------        1048576 nand0.environment
crw-------        1048576 nand0.environment.bb
cr--------        4194304 nand0.oob
crw-------      138412032 nand0.raw
crw-------       83886080 nand0.root
crw-------       83886080 nand0.root.bb
crw-------       45744128 nand0.var
crw-------       45481984 nand0.var.bb

c--------- 0 nand0.var.ubi
crw------- 23617536 nand0.var.ubi.rw
crw------- 15110144 nand0.var.ubi.stat
c-w------- 0 null
cr-------- 0 prng
crw------- 134217728 ram0
c-w------- 0 serial4-1
cr-------- 0 zero
barebox:/ ls -l /dev/nand0.var.ubi.blablablub
ls: /dev/nand0.var.ubi.blablablub: No such file or directory
barebox:/ ls -l /dev/nand0.var.ubi.blablablub
ls: /dev/nand0.var.ubi.blablablub: No such file or directory
barebox:/ if [ -c /dev/nand0.var.ubi.blablablub ] ; then echo wrong ; else echo "right" ; fi wrong
barebox:/ if [ -f /dev/nand0.var.ubi.blablablub ] ; then echo wrong ; else echo "right" ; fi right
-------- snip --------

----

Mfg,
Roland Mainz

Signature · 13 lines
Roland Mainz, MAA/CAS
Eckelmann AG, Berliner Str. 161, 65205 Wiesbaden
Telefon +49/611/7103-661, Fax +49/611/7103-133
[email protected]

Eckelmann Group - Source of inspiration



_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#1 lore raw

Hi Roland,

Quoted 10 lines · Roland

Hi!

----

Quick&dirty bug report:

- Version: barebox 2018.05.0-20190221-1-EAG_3.00-gf70df96 #1 Mon Sep 2 09:03:05 CEST 2019
- Hardware: Eckelmann/EAG Quantron

Quoted 8 lines

barebox:/ ls -l /dev/nand0.var.ubi.blablablub
ls: /dev/nand0.var.ubi.blablablub: No such file or directory
barebox:/ ls -l /dev/nand0.var.ubi.blablablub
ls: /dev/nand0.var.ubi.blablablub: No such file or directory
barebox:/ if [ -c /dev/nand0.var.ubi.blablablub ] ; then echo wrong ; else echo "right" ; fi wrong
barebox:/ if [ -f /dev/nand0.var.ubi.blablablub ] ; then echo wrong ; else echo "right" ; fi right

barebox doesn't implement -c for test. You'll have to use -e or -f to test for existence.
Arguably we should throw an error for this unsupported option rather than doing something undefined.

Sascha

Signature · 9 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#2 lore raw
Quoted 38 lines

-----Original Message-----
From: Sascha Hauer [mailto:[email protected]]
Sent: Monday, September 2, 2019 2:08 PM
To: Mainz, Roland <[email protected]>
Cc: [email protected]; [email protected]; Arne Wichmann ([email protected]) <[email protected]>; Uwe Kleine-König <u.kleine- [email protected]>
Subject: Re: barebox bug, sh [ -c /dev/nand0.var.ubi.blablablub ] returns |true| even if there is no "blablablub" partition on "var" volume

Hi Roland,

Quoted 8 lines · Roland

Hi!

----

Quick&dirty bug report:

- Version: barebox 2018.05.0-20190221-1-EAG_3.00-gf70df96 #1 Mon Sep

2

Quoted 10 lines

09:03:05 CEST 2019
- Hardware: Eckelmann/EAG Quantron

barebox:/ ls -l /dev/nand0.var.ubi.blablablub
ls: /dev/nand0.var.ubi.blablablub: No such file or directory barebox:/ ls -l /dev/nand0.var.ubi.blablablub
ls: /dev/nand0.var.ubi.blablablub: No such file or directory barebox:/ if [ -c /dev/nand0.var.ubi.blablablub ] ; then echo wrong ; else echo "right" ; fi wrong barebox:/ if [ -f /dev/nand0.var.ubi.blablablub ] ; then echo wrong ; else echo "right" ; fi right

Quoted 4 lines

barebox doesn't implement -c for test. You'll have to use -e or -f to test for existence.
Arguably we should throw an error for this unsupported option rather than doing something undefined.

Could you *please* implement test(1) -b/-c ? Since barebox ls(1) is able to distinguish files from devices it shouldn't be hard, and there are cases (like our update script) where telling the difference between file and device is important (the alternative is to write hideous workarounds...).

----

Mfg,
Roland Mainz

Signature · 6 lines
Roland Mainz, MAA/CAS
Eckelmann AG, Berliner Str. 161, 65205 Wiesbaden
Telefon +49/611/7103-661, Fax +49/611/7103-133
[email protected]

Eckelmann Group - Source of inspiration
Quoted 8 lines

Sascha

--

Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

#3 lore raw

Roland,

Quoted 5 lines · Roland

Could you *please* implement test(1) -b/-c ? Since barebox ls(1) is able to distinguish files from devices it shouldn't be hard, and there are cases (like our update script) where telling the difference between file and device is important (the alternative is to write hideous workarounds...).

This is a public community mailing list. In this context, you are free to send a patch if you want to see a feature in barebox.

As you also sent this mail to your support mailinglist, the colleagues responsible for that project will handle the request there.

Thanks,
Robert

Signature · 9 lines
Pengutronix e.K.                           | Dipl.-Ing. Robert Schwebel  |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox