Hi, On Fri, Dec 02, 2016 at 12:25:01PM -0500, Jon Ringle wrote: > On Thu, 1 Dec 2016, Michael Olbrich wrote: > > On Wed, Nov 30, 2016 at 03:46:14AM -0500, Jon Ringle wrote: > > > I found that this is being caused by commit > > > 30b9267e35eea1c2edb4da0231a428bfa25b6766 > > > > > > Is there a way that the stderr to stdout redirect could be implemented > > > conditionally so that I can still have stderr segregated if I want to? > > > > Yes. It's really only necessary if output synchronization is enabled. So, > > we could set some variable in setup_parallel() to '1' or '2' depending on > > PTXDIST_OUTPUT_SYNC and then use it instead of '2>&1'. > > I did some experimenting with this, and when I use a variable to hold > "2>&1", it works fine for the *) case, but for the python*) case where the > ptxd_eval is surrounded by ( ), bash chokes. > > Here's what I was trying: > ptxd_make_world_compile() { > > output_redirect="2>&1"; > > ptxd_make_world_init && > > if [ -z "${pkg_build_dir}" ]; then > # no build dir -> assume the package has nothing to build. > return > fi && > case "${pkg_conf_tool}" in > python*) > ( > ptxd_eval \ > cd "${pkg_build_dir}" '&&' \ > "${pkg_path}" \ > "${pkg_env}" \ > "${pkg_make_env}" \ > "${ptx_build_python}" \ > setup.py \ > "${pkg_make_opt}" > ) ${output_redirect} > ;; > *) > ptxd_eval \ > "${pkg_path}" \ > "${pkg_env}" \ > "${pkg_make_env}" \ > "${MAKE}" -C "${pkg_build_dir}" \ > "${pkg_make_opt}" \ > "${pkg_make_par}" ${output_redirect} > ;; > esac > } > > $ ~/git/ptxdist/bin/ptxdist --force compile testprog >/dev/null > /home/jringle-admin/git/ptxdist/scripts/lib/ptxd_make_world_compile.sh: > line 35: syntax error near unexpected token `${output_redirect}' > /home/jringle-admin/git/ptxdist/scripts/lib/ptxd_make_world_compile.sh: > line 35: ` ) ${output_redirect}' > ptxdist: error: failed to source lib: > /home/jringle-admin/git/ptxdist/scripts/lib/ptxd_make_world_compile.sh > > > If I remove the variable redirect from the offending line and leave the > variable redirect in the *) case, bash is fine with it and it does what is > expected.
It would work if you move it inside the brackets. But I think it would be better to just have one redirect after the 'esac'. Michael -- 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 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de