Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] Config options for optional dependencies [was: [PATCH 6/6] gnutls: bump to version 3.2.0]
Date: Thu, 16 May 2013 10:50:48 +0200	[thread overview]
Message-ID: <20130516105048.39dd73c2@skate> (raw)
In-Reply-To: <51947A07.2080301@mind.be>

Dear Arnout Vandecappelle,

On Thu, 16 May 2013 08:17:43 +0200, Arnout Vandecappelle wrote:

>   I think it is time that we formalize a bit the rules for optional 
> dependencies.
> 
>   To be honest, I would prefer explicit config options for optional 
> dependencies, because it's not easy for users to realize they can select 
> the additional library. However, that buts an unrealistic (maintenance) 
> overhead on the Config.in files.
> 
>   So as a second-best option, I would say that the optional dependencies 
> should be mentioned in the package help text. It's still not easy on the 
> user, because s/he needs to know how to read the help text and how to 
> search for the relevant package. It's also still a bit of a maintenance 
> burden because the help text has to be updated when optional dependencies 
> are added/removed. But I guess it's a reasonable compromise.

Is this really useful? Isn't the <package>.mk file already explicit
enough about this? I'm pretty sure help texts will get out of sync, and
I'm not sure there's really a point in duplicating the information that
the <package>.mk already provides.

>   With that, I think our informal guideline of adding config options only 
> for obscure libraries becomes less of a necessity, and we can make it a 
> rule to never add config options for optional dependencies.
> 
>   What do you think?

Hum, I'm not sure to understand the current informal guideline as
"adding config options only for obscure libraries".

For features of the package that are not related to a dependency
(enabling debugging, or some other completely internal feature), there
is no other choice than adding a config option.

When there is a dependency, I guess the current rule is a matter of
appreciating whether or not it sounds logical to automatically enable
SSL support when OpenSSL is available, or whether having library foo in
the system immediately indicates that you want support for foo
everywhere. I'm not sure there is a way of having a solution that suits
all cases, without examining each specific case, and having an
appreciation of which choice makes the most sense.

For example, even enabling SSL automatically when OpenSSL is available
is something that could be discussed. It's not because I need SSL for
OpenSSH that I necessarily want my lighttpd web server to gain SSL
support (well, ok, granted, in this specific case, lighttpd has a
sub-option to enable or disable SSL support...). But it makes sense to
have this automatic, and leave it as a user customization if really
it's very important to disable SSL support on a per-package basis.

The drawback of the current solution, is that it is causing some
confusion on what should be done, and how to appreciate the border-line
cases. I unfortunately don't have much ideas here to improve this
situation.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  reply	other threads:[~2013-05-16  8:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-13 16:40 [Buildroot] [PATCH 1/6] package infra: remove CPPFLAGS from CFLAGS Gustavo Zacarias
2013-05-13 16:40 ` [Buildroot] [PATCH 2/6] libnspr: bump to version 4.9.6 Gustavo Zacarias
2013-05-13 16:40 ` [Buildroot] [PATCH 3/6] libnss: bump to version 3.14.3 Gustavo Zacarias
2013-05-26 20:14   ` Peter Korsgaard
2013-05-13 16:40 ` [Buildroot] [PATCH 4/6] libcurl: bump to version 7.30.0 Gustavo Zacarias
2013-05-14 22:32   ` Arnout Vandecappelle
2013-05-14 22:47     ` Gustavo Zacarias
2013-05-13 16:40 ` [Buildroot] [PATCH 5/6] p11-kit: new package Gustavo Zacarias
2013-05-13 16:40 ` [Buildroot] [PATCH 6/6] gnutls: bump to version 3.2.0 Gustavo Zacarias
2013-05-14 22:36   ` Arnout Vandecappelle
2013-05-14 22:49     ` Gustavo Zacarias
2013-05-16  6:17       ` [Buildroot] Config options for optional dependencies [was: [PATCH 6/6] gnutls: bump to version 3.2.0] Arnout Vandecappelle
2013-05-16  8:50         ` Thomas Petazzoni [this message]
2013-05-13 17:10 ` [Buildroot] [PATCH 1/6] package infra: remove CPPFLAGS from CFLAGS Thomas Petazzoni
2013-05-13 17:22   ` Gustavo Zacarias
2013-05-13 18:20     ` Thomas Petazzoni
2013-05-13 22:09       ` Gustavo Zacarias
2013-05-13 23:02         ` Arnout Vandecappelle
2013-05-14  7:17           ` Thomas Petazzoni
2013-05-14  8:54             ` Arnout Vandecappelle

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=20130516105048.39dd73c2@skate \
    --to=thomas.petazzoni@free-electrons.com \
    --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