mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: "Rüdiger, Christoph" <Christoph.Ruediger@thyssenkrupp.com>
To: "ptxdist@pengutronix.de" <ptxdist@pengutronix.de>
Subject: [ptxdist] (no subject)
Date: Sat, 21 Feb 2015 23:07:55 +0000	[thread overview]
Message-ID: <1E9AED858BEB204B9DE4F807C7ED0EF617CDD326@EMSRVWIN2934.apps.edc.thyssenkrupp.com> (raw)

Hello,

I'm trying to use ptxdist on a Mac OS X system to get rid of the Linux VM just for compiling things. Here is the thing I stumbled upon because I don't get the intention and therefore struggle to find a patch.

The git commit 0dc57566bc5a25d2b086de333844a3c00addf0e4 from 2012-12-13 changed the body of the ptxd_make_log() function in scripts/libptxdist.sh from this implementation

-ptxd_make_log() {
-       #
-       # fd3 == stdout to logfile
-       # fd4 == stderr to logfile
-       # fd5 == clean stdout
-       # fd6 == clean stderr
-       #
-       {
-               export PTXDIST_FD_STDOUT=5
-               export PTXDIST_FD_STDERR=6
-               export PTXDIST_FD_LOGFILE=7
-               {
-                       if [ -z "${PTXDIST_QUIET}" ]; then
-                               ptxd_make "${@}" 4>&- |
-                               # make's stdout on fd0
-                               tee -a "${PTX_LOGFILE}" 2>&4 4>&- 5>&- 6>&-
-                               check_pipe_status || return
-                       else
-                               exec 4>&-
-                               ptxd_make "${@}" 1>> "${PTX_LOGFILE}"
-                       fi
-               } 2>&1 1>&3 3>&- 7>> "${PTX_LOGFILE}" |
-               # make's stderr on fd0
-               tee -a "${PTX_LOGFILE}" 1>&2 3>&- 4>&- 5>&- 6>&-
-               check_pipe_status || return
-       } 3>&1 4>&2 5>&1 6>&2
-}

to this implementation

+ptxd_make_log() {(
+       # stdout only
+       exec {PTXDIST_FD_STDOUT}>&1
+       # stderr only
+       exec {PTXDIST_FD_STDERR}>&2
+       # logfile only
+       exec 9>> "${PTX_LOGFILE}"
+       export PTXDIST_FD_STDOUT
+       export PTXDIST_FD_STDERR
+       export PTXDIST_FD_LOGFILE=9
+
+       if [ -z "${PTXDIST_QUIET}" ]; then
+               # stdout and logfile
+               exec {logout}> >(tee -a "${PTX_LOGFILE}")
+       else
+               # logfile only
+               exec {logout}>> "${PTX_LOGFILE}"
+       fi
+       # stderr and logfile
+       exec {logerr}> >(tee -a "${PTX_LOGFILE}" >&2)
+
+       ptxd_make "${@}" 1>&${logout} 2>&${logerr}
+)}


Now, my bash is complaining at the first exec command:

> exec: {PTXDIST_FD_STDOUT}: not found


To me, it looks fully understandable, because {PTXDIST_FD_STDOUT} is an ill-formed brace expansion and is therefore ignored. But why is the Linux (Ubuntu 12.04) not complaining about?

What is the intention of this brace usage here?

However, an
> echo a{b,c,d}e
expands on both machines to "abe ace ade" and an
> echo {logout}
gets ignored on both machines. Output is just "{logout}".

Best regards,
Christoph

-- 
ThyssenKrupp Elevator Innovation GmbH
PDC Neuhausen
TKEI Elevator Control
Bernhaeuser Str. 45
73765 Neuhausen, Germany
 
Phone +49 7158 12-2615
christoph.ruediger@thyssenkrupp.com
 
Company domicile: Essen      Commercial register: Essen HRB 20 839
Postal address: ThyssenKrupp Allee 1, 45143 Essen, Germany
Executive Board: Gerhard Thumm, Katrin Huenger, Philippe Choleau
 
-- 
ptxdist mailing list
ptxdist@pengutronix.de

             reply	other threads:[~2015-02-21 23:08 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-21 23:07 Rüdiger, Christoph [this message]
2015-02-21 23:11 ` Jon Ringle
2015-02-21 23:29   ` Rüdiger, Christoph
2015-02-21 23:43     ` Rüdiger, Christoph
2015-02-22  9:38 ` Michael Olbrich
2015-02-22 19:17   ` Christoph Rüdiger
2015-02-22 23:38     ` Anders Montonen
2015-02-23  8:33       ` Michael Olbrich
2015-02-23  9:13         ` Rüdiger, Christoph
2015-02-23 11:24           ` Michael Olbrich
2015-02-24 21:28             ` Rüdiger, Christoph
2015-02-26 12:23               ` Michael Olbrich
2015-02-27  8:48                 ` Rüdiger, Christoph
2015-02-27  9:06                   ` Michael Olbrich
2015-02-27  9:24                     ` Rüdiger, Christoph
2015-02-27 10:32                       ` Juergen Borleis
2015-02-27 15:36                       ` Michael Olbrich
2015-02-27  9:23                   ` Juergen Borleis
2015-02-27  9:31                     ` Rüdiger, Christoph
  -- strict thread matches above, loose matches on Subject: below --
2021-01-24 10:36 flix.ptxdist
2018-12-11  7:41 [ptxdist] [PATCH 1/2] rules: polkit: Fix incorrect installation path Michael Olbrich
2018-12-17  8:26 ` [ptxdist] (no subject) Dold, Wolfram
     [not found] <829880836.3299556.1488275043753.ref@mail.yahoo.com>
2017-02-28  9:44 ` fredy zavis
2017-02-28 10:23   ` Juergen Borleis
2015-03-26 13:11 carsten.schlote
2015-04-02 16:22 ` Michael Olbrich
2012-10-15  9:30 Alexander Dahl
2012-10-15 10:15 ` Alexander Dahl
2012-04-26 19:41 Ali Beddah
     [not found] <WC20111103170332.35000F@rsi-elektrotechnik.dedd a simple QML demo application [V2]>
2011-11-04  7:48 ` Josef Holzmayr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1E9AED858BEB204B9DE4F807C7ED0EF617CDD326@EMSRVWIN2934.apps.edc.thyssenkrupp.com \
    --to=christoph.ruediger@thyssenkrupp.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox