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] [PATCH 09/25 v6] docs/manual: do not hardcode name of the generated document
Date: Mon, 29 Sep 2014 22:26:29 +0200	[thread overview]
Message-ID: <20140929202629.GC6211@free.fr> (raw)
In-Reply-To: <19a2025b-9e6b-458a-9f8a-9b15c42f01cf@email.android.com>

Thomas, All,

On 2014-09-29 22:09 +0200, Thomas De Schampheleire spake thusly:
> "Yann E. MORIN" <yann.morin.1998@free.fr> schreef:
> >On 2014-09-29 21:33 +0200, Thomas De Schampheleire spake thusly:
> >> On Sat, Sep 27, 2014 at 12:16 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
[--SNIP--]
> >> > +$$(O)/docs/$(1)/$(1).$(5): $$($(call UPPERCASE,$(1))_SOURCES) \
> >> 
> >> I didn't mean to also change this uppercase call from $$ to $. The
> >> 'exception' is until now only made when calling the inner infra from
> >> the outer one. On this line, we are already in the inner infra so one
> >> would use $$.
> >
> >But that does not matter, does it?
> >
> >The expansion of $(call UPPERCASE) is done on a parameter, so we might
> >as well expand it right at call time, rather than at evaluation time,
> >no?
> 
> Technically you're right. However, in the discussion
>  on the dollars we realized that the matter is
>  sufficiently non-obvious that we better use clear cut
>  rules. That rule says that everything should be $$
>  except for parameters, pkgname/pkgdir and the
>  uppercase call from outer to inner. 
> 
> In this case, you understand the issue and judge that
>  a single $ suffices, but tomorrow someone else will
>  change the value and forget to reevaluate the dollars.

Agreed, that's fair. I will change.

> >> > +                          $(1)-check-dependencies \
> >> > +                          $(1)-check-dependencies-$(4) \
> >> > +                          $(1)-prepare-sources
> >> > +       $$(Q)$$(call MESSAGE,"Generating $(6) $(1)...")
> >> 
> >> What is the purpose of the quotes here, given your recent commit of
> >> qstrip in MESSAGE ?
> >
> >Because I looked at what was done in pkg-generic or some such, and
> >mimicked. At which point someone noticed on the ML (or IRC) about the
> >quoting issue, and I did not adapt my code.
> >
> >But it does not really matter: we can quote messages, now. Or not.
> 
> True. I don't understand though why we wouldn't
>  change all unnecessary quoting in the quest for symmetry and simplicity.

If at all, we should change to always quote messages.

The problem is two-fold:

  - no quoting: we can not have a comma in the message, otherwise make
    would split on it:  $(call MESSAGE,This, and that, should foo)

  - always quoting: the MESSAGE definition already does the quoting to
    ensure it does not break on a semi-colon (which you noticed):
    $(call MESSAGE,"; echo shellshock")

(He, shellshock is all the hype nowadays. Even superseeds heartbleed!)

If MESSAGE would not do the quoting, and rely on the caller to do it,
we'd be vulnerable to: $(call MESSAGE,; echo shellshock)

So: we want MESSAGE to always quote its arguments (and no, single quotes
do not cut it either, because a message might have single quotes too),
while still allowing callers to do the quoting. Or not.

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:[~2014-09-29 20:26 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-27 10:16 [Buildroot] [pull request v6] gendoc infra: make it useable for other documents Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 01/25 v6] gendoc infra: move manual build location into $(BUILD_DIR)/manual Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 02/25 v6] gendoc infra: avoid a2x warning Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 03/25 v6] gendoc infra: disable pdf manual generation if xsltproc is buggy Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 04/25 v6] docs/manual: get rid of legacy comment in GENDOC Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 05/25 v6] docs/manual: copying the manual sources is a common action Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 06/25 v6] docs/manual: simplify generation dependencies Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 07/25 v6] docs/manual: manual-update-lists is not a generic GENDOC rule Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 08/25 v6] docs/manual: move manual-prepare-sources rule into GENDOC Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 09/25 v6] docs/manual: do not hardcode name of the generated document Yann E. MORIN
2014-09-29 19:33   ` Thomas De Schampheleire
2014-09-29 20:01     ` Yann E. MORIN
2014-09-29 20:09       ` Thomas De Schampheleire
2014-09-29 20:26         ` Yann E. MORIN [this message]
2014-10-09 22:22           ` Arnout Vandecappelle
2014-09-27 10:16 ` [Buildroot] [PATCH 10/25 v6] docs/manual: allow a document to declare where its resources are Yann E. MORIN
2014-09-27 11:20   ` Samuel Martin
2014-09-29 19:35   ` Thomas De Schampheleire
2014-09-27 10:16 ` [Buildroot] [PATCH 11/25 v6] docs/manual: last pass at removing hard-coded path in GENDOC_INNER Yann E. MORIN
2014-09-27 11:20   ` Samuel Martin
2014-09-27 10:16 ` [Buildroot] [PATCH 12/25 v6] docs/manual: properly separate rules specific for our manual Yann E. MORIN
2014-09-27 11:20   ` Samuel Martin
2014-09-27 10:16 ` [Buildroot] [PATCH 13/25 v6] docs/manual: rename the generic dependency rules Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 14/25 v6] docs/manual: allow documents to define some hooks, as for a package Yann E. MORIN
2014-10-01 19:58   ` Thomas De Schampheleire
2014-09-27 10:16 ` [Buildroot] [PATCH 15/25 v6] docs/manual: use the new hooks instead of gendoc rules Yann E. MORIN
2014-10-01 20:00   ` Thomas De Schampheleire
2014-09-27 10:16 ` [Buildroot] [PATCH 16/25 v6] docs/manual: always look for resources in destination directory Yann E. MORIN
2014-10-01 20:01   ` Thomas De Schampheleire
2014-09-27 10:16 ` [Buildroot] [PATCH 17/25 v6] docs: separate the GENDOC infra from our manual definition Yann E. MORIN
2014-09-27 11:20   ` Samuel Martin
2014-09-27 10:16 ` [Buildroot] [PATCH 18/25 v6] docs: rename the GENDOC infrastructure Yann E. MORIN
2014-10-01 20:02   ` Thomas De Schampheleire
2014-09-27 10:16 ` [Buildroot] [PATCH 19/25 v6] docs/asciidoc: call $(pkgname) and $(pkgdir) in a single place Yann E. MORIN
2014-10-01 20:03   ` Thomas De Schampheleire
2014-09-27 10:16 ` [Buildroot] [PATCH 20/25 v6] docs/asciidoc: make it possible to use $(@D) in hooks Yann E. MORIN
2014-10-02  9:45   ` Thomas De Schampheleire
2014-09-27 10:16 ` [Buildroot] [PATCH 21/25 v6] doc/asciidoc: allow documents to pass a global asciidoc configuration Yann E. MORIN
2014-09-27 11:20   ` Samuel Martin
2014-09-27 12:51     ` Yann E. MORIN
2014-10-02  9:50   ` Thomas De Schampheleire
2014-09-27 10:16 ` [Buildroot] [PATCH 22/25 v6] doc/asciidoc: always apply Buildroot's AsciiDoc config Yann E. MORIN
2014-09-27 11:21   ` Samuel Martin
2014-09-27 12:56     ` Yann E. MORIN
2014-10-02 10:17   ` Thomas De Schampheleire
2014-10-02 21:46     ` Yann E. MORIN
2014-09-27 10:16 ` [Buildroot] [PATCH 23/25 v6] doc/asciidoc: always use UTC Yann E. MORIN
2014-10-02 10:21   ` Thomas De Schampheleire
2014-10-02 19:14     ` Yann E. MORIN
2014-09-27 10:17 ` [Buildroot] [PATCH 24/25 v6] Makefile: enable generating documents from br2-external Yann E. MORIN
2014-09-27 10:17 ` [Buildroot] [PATCH 25/25 v6] docs/manual: document the asciidoc infra Yann E. MORIN
2014-09-27 11:21   ` Samuel Martin
2014-09-27 12:40     ` Yann E. MORIN
2014-10-02 10:27   ` Thomas De Schampheleire
2014-10-02 19:20     ` Yann E. MORIN

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=20140929202629.GC6211@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