Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Robert P. J. Day <rpjday@crashcourse.ca>
To: buildroot@busybox.net
Subject: [Buildroot] a philosophical question about Config.in and "comment" directives
Date: Mon, 20 Apr 2015 15:29:31 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LFD.2.11.1504201525090.29417@localhost> (raw)
In-Reply-To: <87a8y2vc8j.fsf@dell.be.48ers.dk>

On Mon, 20 Apr 2015, Peter Korsgaard wrote:

> >>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:
>
> Hi,
>
>  >>> that layout makes it far clearer that the entire option depends on
>  >>> arm or you see *nothing* and, further, internally, the dependencies
>  >>> in the comment list *only* those dependencies that the user will be
>  >>> warned that they need if they want this selection.
>
>  >  I completely agree.
>
> Me too.
>
>  >> So yes, you are right _on principle_. But we're not gonna change that
>  >> policy, and we'll continue to require new packages to conform to it.
>
>  >  We _could_ change the policy and just require new packages to conform to the
>  > new policy. We do that regularly (cfr. patch naming, BR2_ prefix, ...).
>
>  >  That said, I don't think the current situation is bad enough to
>  > warrant such a change.
>
> No indeed. I wouldn't mind new patches doing it like this, but I don't
> want to se the churn to change our ~1500 existing packages to it.

  i didn't mean to open such a can of standardization worms ... the
only reason i mentioned this is because the first time i saw that
structure, i was a bit confused as to why the very same dependency was
in both places.

  i also note that this is (i think) addressed in the user manual,
section 17.2.4:

http://nightly.buildroot.org/manual.html#_config_files

and i quote:

"Many packages depend on certain options of the toolchain: the choice
of C library, C++ support, thread support, RPC support, IPv6 support,
wchar support, or dynamic library support. Some packages can only be
built on certain target architectures, or if an MMU is available in
the processor.

"These dependencies have to be expressed with the appropriate depends
on statements in the Config.in file. Additionally, for dependencies on
toolchain options, a comment should be displayed when the option is
not enabled, so that the user knows why the package is not available.
Dependencies on target architecture or MMU support should not be made
visible in a comment: since it is unlikely that the user can freely
choose another target, it makes little sense to show these
dependencies explicitly.

"The comment should only be visible if the config option itself would
be visible when the toolchain option dependencies are met. This means
that all other dependencies of the package (including dependencies on
target architecture and MMU support) have to be repeated on the
comment definition. To keep it clear, the depends on statement for
these non-toolchain option should be kept separate from the depends on
statement for the toolchain options. If there is a dependency on a
config option in that same file (typically the main package) it is
preferable to have a global if ? endif construct rather than repeating
the depends on statement on the comment and other config options."

  so that last para does in fact describe the requirement for
*repeating* the dependency.

  anyway, i'll shut up about this now, and get back to reading.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

      reply	other threads:[~2015-04-20 19:29 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-17 12:58 [Buildroot] a philosophical question about Config.in and "comment" directives Robert P. J. Day
2015-04-17 15:00 ` Yann E. MORIN
2015-04-17 16:18   ` Arnout Vandecappelle
2015-04-17 16:28     ` Robert P. J. Day
2015-04-17 16:35     ` Yann E. MORIN
2015-04-20 19:19     ` Peter Korsgaard
2015-04-20 19:29       ` Robert P. J. Day [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=alpine.LFD.2.11.1504201525090.29417@localhost \
    --to=rpjday@crashcourse.ca \
    --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