On 07/09/2014 10:03 AM, Alexander Aring wrote: > On Wed, Jul 09, 2014 at 09:32:14AM +0200, Marc Kleine-Budde wrote: >> On 07/09/2014 09:20 AM, Alexander Aring wrote: >>> On Tue, Jul 08, 2014 at 04:44:57PM +0200, Marc Kleine-Budde wrote: >>>> On 07/08/2014 04:33 PM, Alexander Aring wrote: >>>>> This patch adds error handling for the ptxd_make_dts_dtb function. >>>>> >>>>> Signed-off-by: Alexander Aring >>>>> --- >>>>> scripts/lib/ptxd_make_dts_dtc.sh | 14 ++++++++------ >>>>> 1 file changed, 8 insertions(+), 6 deletions(-) >>>>> >>>>> diff --git a/scripts/lib/ptxd_make_dts_dtc.sh b/scripts/lib/ptxd_make_dts_dtc.sh >>>>> index 24c5604..46eaa9d 100644 >>>>> --- a/scripts/lib/ptxd_make_dts_dtc.sh >>>>> +++ b/scripts/lib/ptxd_make_dts_dtc.sh >>>>> @@ -29,7 +29,7 @@ ptxd_make_dts_dtb() { >>>>> deps="${ptx_state_dir}/dtc.$(basename "${dts}").deps" >>>>> tmp_deps="${PTXDIST_TEMPDIR}/dts.deps" >>>>> >>>>> - echo "CPP $(ptxd_print_path "${tmp_dts}")" >>>>> + echo "CPP $(ptxd_print_path "${tmp_dts}")" && >>>>> cpp \ >>>>> -Wp,-MD,${tmp_deps} \ >>>>> -Wp,-MT,${tmp_dts} \ >>>>> @@ -42,22 +42,22 @@ ptxd_make_dts_dtb() { >>>>> -I${dts_kernel_dir}/include \ >>>>> -undef -D__DTS__ -x assembler-with-cpp \ >>>>> -o ${tmp_dts} \ >>>>> - ${dts} >>>>> + ${dts} && >>>>> >>>>> sed -e "s;^${tmp_dts}:;${dts_dtb}:;" \ >>>>> - -e 's;^ \([^ ]*\); $(wildcard \1);' "${tmp_deps}" > "${deps}" >>>>> + -e 's;^ \([^ ]*\); $(wildcard \1);' "${tmp_deps}" > "${deps}" && >>>>> >>>>> if dtc -h 2>&1 | grep -q '^[[:space:]]\+-i\(,.*\)\?$'; then >>>>> dtc_include="-i $(dirname "${dts}") -i ${dts_kernel_dir}/arch/${dts_kernel_arch}/boot/dts" >>>>> fi >>>> >>>> ^^^ >>>> I think a && is missing here. >>>> >>> I tought that too, because the dirname call. But when I insert a && >> >> It's not only about the dirname call, the && is needed, so that the || >> bailout will kick in. >> >>> there I get: >>> >>> ../scripts/lib/ptxd_make_dts_dtc.sh: line 53: syntax error near unexpected token `&&' >>> ../scripts/lib/ptxd_make_dts_dtc.sh: line 53: ` &&' >>> ptxdist: error: failed to source lib: ..scripts/lib/ptxd_make_dts_dtc.sh >> > > I tested: > > if dtc -h 2>&1 | grep -q '^[[:space:]]\+-i\(,.*\)\?$'; then > dtc_include="-i $(dirname "${dts}") -i ${dts_kernel_dir}/arch/${dts_kernel_arch}/boot/dts" > fi > && > > and > > if dtc -h 2>&1 | grep -q '^[[:space:]]\+-i\(,.*\)\?$'; then > dtc_include="-i $(dirname "${dts}") -i ${dts_kernel_dir}/arch/${dts_kernel_arch}/boot/dts" > && > fi > > ... > > vi show me at the last one that's a syntax mismatch. What about: >> if dtc -h 2>&1 | grep -q '^[[:space:]]\+-i\(,.*\)\?$'; then >> dtc_include="-i $(dirname "${dts}") -i ${dts_kernel_dir}/arch/${dts_kernel_arch}/boot/dts" >> fi && Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |