Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] util-linux: allow programs to be disabled by default
@ 2015-06-30  3:36 Danomi Manchego
  2015-06-30 20:59 ` Thomas Petazzoni
  0 siblings, 1 reply; 5+ messages in thread
From: Danomi Manchego @ 2015-06-30  3:36 UTC (permalink / raw)
  To: buildroot

When even a single extra util-linux utility is enabled, the
default build and install will install many more programs,
including many that overlap with those offered by busybox.
Finer control of util-linux can be realized by disabling
everything by default (with --disable-all-programs) and then
overriding the default with specific enables (--enable-<name>).
This patch adds a config switch to disable everything by default.

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
---
 package/util-linux/Config.in     | 6 ++++++
 package/util-linux/util-linux.mk | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index 39df11c..9981889 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -47,6 +47,12 @@ config BR2_PACKAGE_UTIL_LINUX_BINARIES
 
 if BR2_PACKAGE_UTIL_LINUX_BINARIES
 
+config BR2_PACKAGE_UTIL_LINUX_DISABLE_BY_DEFAULT
+	bool "Disable programs by default"
+	help
+	  Disable programs by default; only explicitly enabled utilities
+	  and libraries will be built.
+
 config BR2_PACKAGE_UTIL_LINUX_AGETTY
 	bool "agetty"
 	help
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index 3ca147a..3749a71 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -25,6 +25,10 @@ UTIL_LINUX_CONF_OPTS += \
 	--disable-rpath \
 	--disable-makeinstall-chown \
 	--without-python
+ 
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_DISABLE_BY_DEFAULT),y)
+UTIL_LINUX_CONF_OPTS += --disable-all-programs
+endif
 
 ifeq ($(BR2_PACKAGE_BASH),)
 UTIL_LINUX_CONF_OPTS += \
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] util-linux: allow programs to be disabled by default
  2015-06-30  3:36 [Buildroot] [PATCH 1/1] util-linux: allow programs to be disabled by default Danomi Manchego
@ 2015-06-30 20:59 ` Thomas Petazzoni
  2015-06-30 21:35   ` Danomi Manchego
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2015-06-30 20:59 UTC (permalink / raw)
  To: buildroot

Dear Danomi Manchego,

On Mon, 29 Jun 2015 23:36:08 -0400, Danomi Manchego wrote:

> +ifeq ($(BR2_PACKAGE_UTIL_LINUX_DISABLE_BY_DEFAULT),y)
> +UTIL_LINUX_CONF_OPTS += --disable-all-programs
> +endif

I understand the idea, but it's a bit weird to have an option to enable
to say that you want to disable everything.

Also, we are already passing --disable-all-programs when
BR2_PACKAGE_UTIL_LINUX_BINARIES is not enabled. Maybe we should instead
pass --disable-all-programs unconditionally. However this would change
the visible behavior for users, since programs that used to be built
would no longer be built. But it seems the most correct solution
nonetheless.

Any opinions from other Buildroot developers?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] util-linux: allow programs to be disabled by default
  2015-06-30 20:59 ` Thomas Petazzoni
@ 2015-06-30 21:35   ` Danomi Manchego
  2015-07-07 21:01     ` Arnout Vandecappelle
  2015-07-07 21:32     ` Arnout Vandecappelle
  0 siblings, 2 replies; 5+ messages in thread
From: Danomi Manchego @ 2015-06-30 21:35 UTC (permalink / raw)
  To: buildroot

Thomas,

On Tue, Jun 30, 2015 at 4:59 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Danomi Manchego,
>
> On Mon, 29 Jun 2015 23:36:08 -0400, Danomi Manchego wrote:
>
>> +ifeq ($(BR2_PACKAGE_UTIL_LINUX_DISABLE_BY_DEFAULT),y)
>> +UTIL_LINUX_CONF_OPTS += --disable-all-programs
>> +endif
>
> I understand the idea, but it's a bit weird to have an option to enable
> to say that you want to disable everything.
>
> Also, we are already passing --disable-all-programs when
> BR2_PACKAGE_UTIL_LINUX_BINARIES is not enabled. Maybe we should instead
> pass --disable-all-programs unconditionally. However this would change
> the visible behavior for users, since programs that used to be built
> would no longer be built. But it seems the most correct solution
> nonetheless.
>
> Any opinions from other Buildroot developers?

I use util-linux only as a last resort for when busybox does not have
what I need - so I'm totally on-board with that idea, as my interest
is for minimal impact on the target.  The only reason that I didn't do
that is for precisely what you said - that it would change the current
behavior.  Also, I supposed that we would still need an option to
*not* set --disable-all-programs anyway, to support enabling all the
programs that are currently enabled by default (and don't have
existing buildroot switches), to be able to get back to the previous
behavior.  (For those who need it.)

An alternative might be to add --enable/--disable switches for all the
apps that are enabled by default.  But that's a lot of new switches,
and a maintenance hassle on package upgrades, so I was afraid that
this option might not be well received by the community.  (I'm willing
to give that a go if that seems like a good idea.)

Danomi -

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] util-linux: allow programs to be disabled by default
  2015-06-30 21:35   ` Danomi Manchego
@ 2015-07-07 21:01     ` Arnout Vandecappelle
  2015-07-07 21:32     ` Arnout Vandecappelle
  1 sibling, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2015-07-07 21:01 UTC (permalink / raw)
  To: buildroot

On 06/30/15 23:35, Danomi Manchego wrote:
> Thomas,
> 
> On Tue, Jun 30, 2015 at 4:59 PM, Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com> wrote:
>> Dear Danomi Manchego,
>>
>> On Mon, 29 Jun 2015 23:36:08 -0400, Danomi Manchego wrote:
>>
>>> +ifeq ($(BR2_PACKAGE_UTIL_LINUX_DISABLE_BY_DEFAULT),y)
>>> +UTIL_LINUX_CONF_OPTS += --disable-all-programs
>>> +endif
>>
>> I understand the idea, but it's a bit weird to have an option to enable
>> to say that you want to disable everything.
>>
>> Also, we are already passing --disable-all-programs when
>> BR2_PACKAGE_UTIL_LINUX_BINARIES is not enabled. Maybe we should instead
>> pass --disable-all-programs unconditionally. However this would change
>> the visible behavior for users, since programs that used to be built
>> would no longer be built. But it seems the most correct solution
>> nonetheless.
>>
>> Any opinions from other Buildroot developers?
> 
> I use util-linux only as a last resort for when busybox does not have
> what I need - so I'm totally on-board with that idea, as my interest
> is for minimal impact on the target.  The only reason that I didn't do
> that is for precisely what you said - that it would change the current
> behavior.  Also, I supposed that we would still need an option to
> *not* set --disable-all-programs anyway, to support enabling all the
> programs that are currently enabled by default (and don't have
> existing buildroot switches), to be able to get back to the previous
> behavior.  (For those who need it.)

 I think it should be --disable-all-programs by default, and a new
BR2_PACKAGE_UTIL_LINUX_ALL_BINARIES that does --enable-all-programs and that
hides all the individual tool options.

 I'm also not really worried about changing the default, since it will affect
only a single program (see below).

> An alternative might be to add --enable/--disable switches for all the
> apps that are enabled by default.  But that's a lot of new switches,
> and a maintenance hassle on package upgrades, so I was afraid that
> this option might not be well received by the community.  (I'm willing
> to give that a go if that seems like a good idea.)

 Indeed, too much hassle.

 However, unless I'm mistaken, pg is the only one missing at the moment... All
the other configure options seem to be covered, and Makefile.in has a condition
in front of each installed program. So it doesn't look like so much of a hassle
after all.


 Regards,
 Arnout
-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/1] util-linux: allow programs to be disabled by default
  2015-06-30 21:35   ` Danomi Manchego
  2015-07-07 21:01     ` Arnout Vandecappelle
@ 2015-07-07 21:32     ` Arnout Vandecappelle
  1 sibling, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2015-07-07 21:32 UTC (permalink / raw)
  To: buildroot

On 06/30/15 23:35, Danomi Manchego wrote:
> Thomas,
> 
> On Tue, Jun 30, 2015 at 4:59 PM, Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com> wrote:
>> Dear Danomi Manchego,
>>
>> On Mon, 29 Jun 2015 23:36:08 -0400, Danomi Manchego wrote:
>>
>>> +ifeq ($(BR2_PACKAGE_UTIL_LINUX_DISABLE_BY_DEFAULT),y)
>>> +UTIL_LINUX_CONF_OPTS += --disable-all-programs
>>> +endif
>>
>> I understand the idea, but it's a bit weird to have an option to enable
>> to say that you want to disable everything.
>>
>> Also, we are already passing --disable-all-programs when
>> BR2_PACKAGE_UTIL_LINUX_BINARIES is not enabled. Maybe we should instead
>> pass --disable-all-programs unconditionally. However this would change
>> the visible behavior for users, since programs that used to be built
>> would no longer be built. But it seems the most correct solution
>> nonetheless.
>>
>> Any opinions from other Buildroot developers?
> 
> I use util-linux only as a last resort for when busybox does not have
> what I need - so I'm totally on-board with that idea, as my interest
> is for minimal impact on the target.  The only reason that I didn't do
> that is for precisely what you said - that it would change the current
> behavior.  Also, I supposed that we would still need an option to
> *not* set --disable-all-programs anyway, to support enabling all the
> programs that are currently enabled by default (and don't have
> existing buildroot switches), to be able to get back to the previous
> behavior.  (For those who need it.)

 I think it should be --disable-all-programs by default, and a new
BR2_PACKAGE_UTIL_LINUX_ALL_BINARIES that does --enable-all-programs and that
hides all the individual tool options.

 As to changing the default, I'm not too worried about it, since only the pg
tool is "new".

> An alternative might be to add --enable/--disable switches for all the
> apps that are enabled by default.  But that's a lot of new switches,
> and a maintenance hassle on package upgrades, so I was afraid that
> this option might not be well received by the community.  (I'm willing
> to give that a go if that seems like a good idea.)

 Indeed, too much hassle.

 However, unless I'm mistaken, pg is the only one missing at the moment... So it
doesn't seem to be *that* much hassle.


 Regards,
 Arnout
-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-07-07 21:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-30  3:36 [Buildroot] [PATCH 1/1] util-linux: allow programs to be disabled by default Danomi Manchego
2015-06-30 20:59 ` Thomas Petazzoni
2015-06-30 21:35   ` Danomi Manchego
2015-07-07 21:01     ` Arnout Vandecappelle
2015-07-07 21:32     ` Arnout Vandecappelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox