On Thu, 1 Dec 2016, Michael Olbrich wrote:

> Hi,
> 
> 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.

-Jon

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to