public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: "cygwin-apps@cygwin.com" <cygwin-apps@cygwin.com>
Subject: Re: Help needed with gobject-introspection
Date: Fri, 29 May 2020 16:56:06 +0100	[thread overview]
Message-ID: <838902d4-024f-eea0-5c32-b23df3aea153@dronecode.org.uk> (raw)
In-Reply-To: <cfb9fc73-0347-ae3e-338a-ff1bc453428f@cornell.edu>

On 25/05/2020 16:04, Ken Brown via Cygwin-apps wrote:
> On 5/24/2020 1:00 PM, Ken Brown via Cygwin-apps wrote:
>> On 5/24/2020 12:45 PM, Ken Brown via Cygwin-apps wrote:
>>> On 5/24/2020 11:56 AM, Jon Turney wrote:
>>>> On 21/05/2020 18:07, Ken Brown via Cygwin-apps wrote:
>>>>> On 5/21/2020 11:48 AM, Jon Turney wrote:
>>>>>> On 21/05/2020 16:13, Ken Brown via Cygwin-apps wrote:
>>>>>>> On 5/21/2020 9:24 AM, Jon Turney wrote:
>>>>>>>> On 20/05/2020 15:50, Ken Brown via Cygwin-apps wrote:
>>>>>>>>> On 5/19/2020 7:04 PM, Ken Brown via Cygwin-apps wrote:
[...]
>>>>> This does indeed shed some light.  If I remove all the commas but 
>>>>> leave the single quotes, the command fails with the same error 
>>>>> message as before:
>>>>>
>>>>> cp: target 'docs/index.html.tmp' is not a directory
>>>>>
>>>>> If I also remove the single quotes, the command succeeds.  I think 
>>>>> the problem is the quotes around the double ampersands, so they are 
>>>>> treated as arguments to the cp command instead of being interpreted 
>>>>> by the shell executing the command.
>>>>
>>>> So, yeah, this is a meson bug, which I will work on (if this command 
>>>> ends up in the build.ninja, it's executed by ninja with 'sh -c', but 
>>>> if it ends up in a pickle, it's executed by meson with execve())
>>>
>>> Yes, that does seem like a meson bug.  But is it also a babl bug to 
>>> some extent?   When babl puts '&&' in a command argument, it's 
>>> assuming that the command will be executed by 'sh -c'.
>>>
>>> I have very little experience with meson.  Have you ever seen this 
>>> issue in other projects that use meson?
>>
>> I just noticed this, at 
>> https://mesonbuild.com/Custom-build-targets.html :
>>
>>    Meson only permits you to specify one command to run. This is
>>    by design as writing shell pipelines into build definition
>>    files leads to code that is very hard to maintain. If your
>>    compilation requires multiple steps you need to write a wrapper
>>    script that does all the necessary work.
>>
>> We're not talking about a shell pipeline here, but it's similar.  So 
>> I'm thinking this really is a babl bug.

Yeah. Ideally meson would stop people from writing custom targets which 
use shell operators.  Unfortunately, it doesn't and there are probably 
many other existing instances of this usage.

Additionally, meson is perhaps a bit schizophrenic on this topic and (I 
think) actually has code to make sure this works as expected when the 
command ends up being put directly into build.ninja (which is what will 
usually happen on linux etc.)

> Regardless of whose bug it is, I've got a simple but ugly workaround 
> (attached), now that you've explained to me what's going on.

Good stuff.

  reply	other threads:[~2020-05-29 15:56 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-19 23:04 Ken Brown
2020-05-20 14:50 ` Ken Brown
2020-05-21 13:24   ` Jon Turney
2020-05-21 15:13     ` Ken Brown
2020-05-21 15:48       ` Jon Turney
2020-05-21 17:07         ` Ken Brown
2020-05-24 15:56           ` Jon Turney
2020-05-24 16:45             ` Ken Brown
2020-05-24 17:00               ` Ken Brown
2020-05-25 15:04                 ` Ken Brown
2020-05-29 15:56                   ` Jon Turney [this message]
2020-05-27 20:32             ` Ken Brown
2020-05-29 15:54               ` Jon Turney
2020-05-31 20:52                 ` Jon Turney
2020-05-31 23:58                   ` Ken Brown
2020-06-01 11:30                     ` Jon Turney
2020-06-02 14:26                       ` Jon Turney
2020-06-02 14:31                         ` Ken Brown
2020-06-02 21:28                           ` Jon Turney
2020-06-03 16:51                             ` Jon Turney
2020-06-03 18:30                               ` Ken Brown
2020-06-06 14:15                                 ` Ken Brown
2020-06-11 21:39                                   ` Jon Turney
2020-06-11 23:23                                     ` Ken Brown
2020-06-12 14:44                                       ` Jon Turney
2020-08-01 18:01                                     ` Ken Brown
2020-08-01 18:34                                       ` Jon Turney

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=838902d4-024f-eea0-5c32-b23df3aea153@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=cygwin-apps@cygwin.com \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).