Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] genmanual: generates kconfiglib.pyc in Buildroot source tree
Date: Thu, 5 Dec 2013 19:11:31 +0100	[thread overview]
Message-ID: <20131205181131.GC3405@free.fr> (raw)
In-Reply-To: <CAHXCMMKE4oP=rbrCryLSA7bn3upRzuXKMdNT15Zv2zfehieAgw@mail.gmail.com>

Samuel, All,

On 2013-12-05 19:04 +0100, Samuel Martin spake thusly:
> 2013/12/5 Yann E. MORIN <yann.morin.1998@free.fr>
> 
> > Arnout, All,
> >
> > On 2013-12-05 09:00 +0100, Arnout Vandecappelle spake thusly:
> > > On 04/12/13 23:52, Yann E. MORIN wrote:
> > > >Samuel, All,
> > > >
> > > >When one runs 'make manual', python will create:
> > > >     support/scripts/kconfiglib.pyc
> > > >in the Buildroot source tree.
> > > >
> > > >Python will happily run, even if it is not able to generate that file
> > > >(eg. because the source tree is read-only).
> > > >
> > > >However, the file is not cleaned on 'make clean'. I'm a bit reluctant at
> > > >adding it since it would try to remove a file outside of $(O), which
> > > >could break parallel builds in multiple $(O) at the same time... Not
> > > >sure what to do here.
> > > >
> > > >Since we do not really care about speed, would it be possible to tell
> > > >python not to generate it at all?
> > >
> > >  I do 'man python', and the first thing I see is
> > >
> > > -B     Don't write .py[co] files on import. See also
> > PYTHONDONTWRITEBYTECODE.
> >
> > Hey! I read the manpage, but only greped for '\.pyc' not for this.
> > Thanks for pointing it to me.
> >
> > >  I'd say, go for it! Unfortunately, you can't add it directly in the #!
> > line
> > > of the script because all the arguments are concatenated together. So I
> > > guess the PYTHONDONTWRITEBYTECODE environment variable should be set when
> > > calling the script.
> >
> But, in manual.mk, you can explicitly call:
> python -B $(TOPDIR)/support/scripts/gen-manual-lists.py

But currently, gen-manual-lists.py is using this sha-bang:
    #!/usr/bin/env python

And the way the sha-bang is interpreted is that:
  - #!    <- the sha-bang
  - an optional space
  - the path to the interpreter

If there is a space after the interpreter, then whatever follows that
space until the end of the line is passed as argv[1] to the interpreter.
So, we can pass only one argument to the interpreter.

'python' is the first arg to 'env', and we can't pass any arg to python.

We could use "#!/usr/bin/python" but I don't want to change that.
And passing PYTHONDONTWRITEBYTECODE is easy enough, and works (just
tested it).

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

      reply	other threads:[~2013-12-05 18:11 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-04 22:52 [Buildroot] genmanual: generates kconfiglib.pyc in Buildroot source tree Yann E. MORIN
2013-12-05  8:00 ` Arnout Vandecappelle
2013-12-05 17:52   ` Yann E. MORIN
2013-12-05 18:04     ` Samuel Martin
2013-12-05 18:11       ` Yann E. MORIN [this message]

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=20131205181131.GC3405@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /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