All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Belal, Awais" <Awais_Belal@mentor.com>
To: Alexander Kanavin <alexander.kanavin@linux.intel.com>,
	"openembedded-core@lists.openembedded.org"
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] autogen: fix autoopts script generation to handle shebang
Date: Tue, 16 May 2017 05:36:02 +0000	[thread overview]
Message-ID: <1494912962159.30415@mentor.com> (raw)
In-Reply-To: <2f2b263c-5b85-3622-ea62-c01825da24be@linux.intel.com>

> The standard way to fix too long #! lines in oe is to patch upstream
> code to use
> #!/usr/bin/env something
> (where something is just the binary name).

> Why not simply replace ${POSIX_SHELL} with /bin/sh? Where and how is it set?

POSIX_SHELL is being set to "/usr/bin/env sh" already through the recipe but it gets resolved/expanded to <build-dir>/hosttools/<shell-bin> during the configuration process so it's not usable for shebang in deep directory hierarchy scenarios.
I guess a better way would be simply to use the same technique that we're using for perl. So for shell we'll have

#!/usr/bin/env sh

in mk-tpl-config.sh directly. I'll submit the change as v2 if you think this is okay.

BR,
Awais

________________________________________
From: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Sent: Monday, May 15, 2017 8:10 PM
To: Belal, Awais; openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] autogen: fix autoopts script generation to handle shebang

On 05/15/2017 06:03 PM, Belal, Awais wrote:
> Hi Alex,
>
>> The first line will guarantee a short shebang, while the second one
>> may result in a very long shebang which may hit the hardcoded
>> kernel limit.
>
> I do not see how the second one can be longer in any case than the
> first one but that's probably because of my lack of knowledge. I can
> confirm that the changes around perl setting are not required and I
> only stepped over it because I was using an older commit of core
> however the change for sh is still required. Should I submit a v2
> with that change only or is there a concern around that as well?

The sh part is also using readlink, which produces full paths, and
therefore is incorrect. You simply should not use full paths in #!, as
depending on your setup they may be still too long.

The standard way to fix too long #! lines in oe is to patch upstream
code to use
#!/usr/bin/env something
(where something is just the binary name).

Why not simply replace ${POSIX_SHELL} with /bin/sh? Where and how is it set?

Alex


  reply	other threads:[~2017-05-16  5:36 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-12 13:59 [PATCH] autogen: fix autoopts script generation to handle shebang Awais Belal
2017-05-12 14:06 ` Alexander Kanavin
2017-05-15  9:01   ` Belal, Awais
2017-05-15 11:53     ` Alexander Kanavin
2017-05-15 15:03       ` Belal, Awais
2017-05-15 15:10         ` Alexander Kanavin
2017-05-16  5:36           ` Belal, Awais [this message]
2017-05-16 11:32             ` Alexander Kanavin
2017-05-17  8:50               ` Belal, Awais

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=1494912962159.30415@mentor.com \
    --to=awais_belal@mentor.com \
    --cc=alexander.kanavin@linux.intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.