All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
@ 2018-11-24 16:54 Alexander Sverdlin
  2018-11-24 18:47 ` Yann E. MORIN
  0 siblings, 1 reply; 10+ messages in thread
From: Alexander Sverdlin @ 2018-11-24 16:54 UTC (permalink / raw)
  To: buildroot

This will save 1700K on target filesystem (as tested on ARM, i686).

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
Changelog:
v2:
- rework target libtool instead of new package/libltdl

 package/libtool/libtool.mk | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/package/libtool/libtool.mk b/package/libtool/libtool.mk
index bf97ee12b5..b25e058bf4 100644
--- a/package/libtool/libtool.mk
+++ b/package/libtool/libtool.mk
@@ -7,12 +7,22 @@
 LIBTOOL_VERSION = 2.4.6
 LIBTOOL_SOURCE = libtool-$(LIBTOOL_VERSION).tar.xz
 LIBTOOL_SITE = $(BR2_GNU_MIRROR)/libtool
+
+LIBTOOL_SUBDIR = libltdl
+HOST_LIBTOOL_SUBDIR = .
+
 LIBTOOL_INSTALL_STAGING = YES
-LIBTOOL_CONF_ENV = HELP2MAN=true
+
+LIBTOOL_CONF_OPTS = --enable-ltdl-install
+HOST_LIBTOOL_CONF_OPTS =
+
 LIBTOOL_DEPENDENCIES = host-m4
 HOST_LIBTOOL_DEPENDENCIES = host-m4
-LIBTOOL_LICENSE = GPL-2.0+
-LIBTOOL_LICENSE_FILES = COPYING
+
+LIBTOOL_LICENSE = LGPLv2.1
+LIBTOOL_LICENSE_FILES = $(LIBTOOL_SUBDIR)/COPYING.LIB
+HOST_LIBTOOL_LICENSE = GPL-2.0+
+HOST_LIBTOOL_LICENSE_FILES = COPYING
 
 HOST_LIBTOOL_CONF_ENV = MAKEINFO=true
 HOST_LIBTOOL_LIBTOOL_PATCH = NO
-- 
2.19.1

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

* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
  2018-11-24 16:54 [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only Alexander Sverdlin
@ 2018-11-24 18:47 ` Yann E. MORIN
  2018-11-24 19:06   ` Alexander Sverdlin
                     ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Yann E. MORIN @ 2018-11-24 18:47 UTC (permalink / raw)
  To: buildroot

Alexander, All,

Arnout, licensing question for you at the end.

On 2018-11-24 17:54 +0100, Alexander Sverdlin spake thusly:
> This will save 1700K on target filesystem (as tested on ARM, i686).
> 
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> ---
> Changelog:
> v2:
> - rework target libtool instead of new package/libltdl
> 
>  package/libtool/libtool.mk | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/package/libtool/libtool.mk b/package/libtool/libtool.mk
> index bf97ee12b5..b25e058bf4 100644
> --- a/package/libtool/libtool.mk
> +++ b/package/libtool/libtool.mk
> @@ -7,12 +7,22 @@
>  LIBTOOL_VERSION = 2.4.6
>  LIBTOOL_SOURCE = libtool-$(LIBTOOL_VERSION).tar.xz
>  LIBTOOL_SITE = $(BR2_GNU_MIRROR)/libtool
> +
> +LIBTOOL_SUBDIR = libltdl
> +HOST_LIBTOOL_SUBDIR = .
> +
>  LIBTOOL_INSTALL_STAGING = YES
> -LIBTOOL_CONF_ENV = HELP2MAN=true

I guess HELP2MAN is no longer needed because there is no doc to build in
the libltdl subdir, right?

> +LIBTOOL_CONF_OPTS = --enable-ltdl-install
> +HOST_LIBTOOL_CONF_OPTS =

This host variable does inherit the value from the target variant, so
you don't need to specify an empty HOST_LIBTOOL_CONF_OPTS.

>  LIBTOOL_DEPENDENCIES = host-m4
>  HOST_LIBTOOL_DEPENDENCIES = host-m4
> -LIBTOOL_LICENSE = GPL-2.0+
> -LIBTOOL_LICENSE_FILES = COPYING
> +
> +LIBTOOL_LICENSE = LGPLv2.1
> +LIBTOOL_LICENSE_FILES = $(LIBTOOL_SUBDIR)/COPYING.LIB
> +HOST_LIBTOOL_LICENSE = GPL-2.0+
> +HOST_LIBTOOL_LICENSE_FILES = COPYING

So, the host presumably also builds libltdl, no? Thus, we should include
its licensing information too;

    HOST_LIBTOOL_LICENSE = GPL-2.0+, LGPLv2.1 (libltdl)
    HOST_LIBTOOL_LICENSE_FILES = COPYING $(LIBTOOL_SUBDIR)/COPYING.LIB

Not sure about that one, wait a bit for others to confirm before
respinning the patch.

Regards,
Yann E. MORIN.

>  HOST_LIBTOOL_CONF_ENV = MAKEINFO=true
>  HOST_LIBTOOL_LIBTOOL_PATCH = NO
> -- 
> 2.19.1
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
  2018-11-24 18:47 ` Yann E. MORIN
@ 2018-11-24 19:06   ` Alexander Sverdlin
  2018-11-24 21:03     ` Alexander Sverdlin
  2018-11-24 19:24   ` Alexander Sverdlin
  2018-11-26  9:28   ` Arnout Vandecappelle
  2 siblings, 1 reply; 10+ messages in thread
From: Alexander Sverdlin @ 2018-11-24 19:06 UTC (permalink / raw)
  To: buildroot

Hi!

On Sat, 24 Nov 2018 19:47:08 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> So, the host presumably also builds libltdl, no? Thus, we should include
> its licensing information too;
> 
>     HOST_LIBTOOL_LICENSE = GPL-2.0+, LGPLv2.1 (libltdl)
>     HOST_LIBTOOL_LICENSE_FILES = COPYING $(LIBTOOL_SUBDIR)/COPYING.LIB
> 
> Not sure about that one, wait a bit for others to confirm before
> respinning the patch.

If others agree that there is a licensing issue, this would
be totally unrelated to libltdl conversion, so I can do it in
a separate patch.

-- 
Alexander Sverdlin.

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

* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
  2018-11-24 18:47 ` Yann E. MORIN
  2018-11-24 19:06   ` Alexander Sverdlin
@ 2018-11-24 19:24   ` Alexander Sverdlin
  2018-11-26  9:28   ` Arnout Vandecappelle
  2 siblings, 0 replies; 10+ messages in thread
From: Alexander Sverdlin @ 2018-11-24 19:24 UTC (permalink / raw)
  To: buildroot

Hello!

On Sat, 24 Nov 2018 19:47:08 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> > -LIBTOOL_CONF_ENV = HELP2MAN=true
> 
> I guess HELP2MAN is no longer needed because there is no doc to build in
> the libltdl subdir, right?

Correct.

-- 
Alexander Sverdlin.

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

* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
  2018-11-24 19:06   ` Alexander Sverdlin
@ 2018-11-24 21:03     ` Alexander Sverdlin
  0 siblings, 0 replies; 10+ messages in thread
From: Alexander Sverdlin @ 2018-11-24 21:03 UTC (permalink / raw)
  To: buildroot

Hi!

On Sat, 24 Nov 2018 20:06:31 +0100
Alexander Sverdlin <alexander.sverdlin@gmail.com> wrote:

> > So, the host presumably also builds libltdl, no? Thus, we should include
> > its licensing information too;
> > 
> >     HOST_LIBTOOL_LICENSE = GPL-2.0+, LGPLv2.1 (libltdl)
> >     HOST_LIBTOOL_LICENSE_FILES = COPYING $(LIBTOOL_SUBDIR)/COPYING.LIB
> > 
> > Not sure about that one, wait a bit for others to confirm before
> > respinning the patch.
> 
> If others agree that there is a licensing issue, this would
> be totally unrelated to libltdl conversion, so I can do it in
> a separate patch.

OK, tried to make a separate patch and understood that it
was wrong idea...

-- 
Alexander Sverdlin.

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

* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
  2018-11-24 18:47 ` Yann E. MORIN
  2018-11-24 19:06   ` Alexander Sverdlin
  2018-11-24 19:24   ` Alexander Sverdlin
@ 2018-11-26  9:28   ` Arnout Vandecappelle
  2018-11-26  9:38     ` Alexander Sverdlin
  2 siblings, 1 reply; 10+ messages in thread
From: Arnout Vandecappelle @ 2018-11-26  9:28 UTC (permalink / raw)
  To: buildroot



On 24/11/2018 19:47, Yann E. MORIN wrote:
> Alexander, All,
> 
> Arnout, licensing question for you at the end.
> 
> On 2018-11-24 17:54 +0100, Alexander Sverdlin spake thusly:
>> This will save 1700K on target filesystem (as tested on ARM, i686).
>>
>> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
>> ---
>> Changelog:
>> v2:
>> - rework target libtool instead of new package/libltdl
>>
>>  package/libtool/libtool.mk | 16 +++++++++++++---
>>  1 file changed, 13 insertions(+), 3 deletions(-)
>>
>> diff --git a/package/libtool/libtool.mk b/package/libtool/libtool.mk
>> index bf97ee12b5..b25e058bf4 100644
>> --- a/package/libtool/libtool.mk
>> +++ b/package/libtool/libtool.mk
>> @@ -7,12 +7,22 @@
>>  LIBTOOL_VERSION = 2.4.6
>>  LIBTOOL_SOURCE = libtool-$(LIBTOOL_VERSION).tar.xz
>>  LIBTOOL_SITE = $(BR2_GNU_MIRROR)/libtool
>> +
>> +LIBTOOL_SUBDIR = libltdl
>> +HOST_LIBTOOL_SUBDIR = .

 I guess the following doesn't work?

HOST_LIBTOOL_SUBDIR =

 That is because we handle this case as follows:

ifndef $(2)_SUBDIR
 ifdef $(3)_SUBDIR
  $(2)_SUBDIR = $$($(3)_SUBDIR)
 else
  $(2)_SUBDIR ?=
 endif
endif

The problem is that 'ifndef' doesn't check if it is not defined, it checks if it
is not empty. I.e., 'ifndef' is exactly the same as 'ifeq ($(foo),)'. So if we
define HOST_LIBTOOL_SUBDIR as empty, it will take its value from the target even
if we override the host value.

 Ideally, we should fix this in the infra so we can just use
HOST_LIBTOOL_SUBDIR =
here.

 I think the solution is to change the infra into

$(2)_SUBDIR ?= $$($(3)_SUBDIR)

... which is also shorter and easier to understand.

 And ideally, all these inherit-from-target things should be changed into
something like:

$(2)_FOO ?= $$(or $$($(3)_FOO),<default>)

 As usually, I haven't tested this :-)


[snip]
> 
> So, the host presumably also builds libltdl, no? Thus, we should include
> its licensing information too;
> 
>     HOST_LIBTOOL_LICENSE = GPL-2.0+, LGPLv2.1 (libltdl)

 LGPL-2.1 instead of LGPLv2.1. And I think it has the 'or later' clause
everywhere, doesn't it?

>     HOST_LIBTOOL_LICENSE_FILES = COPYING $(LIBTOOL_SUBDIR)/COPYING.LIB
> 
> Not sure about that one, wait a bit for others to confirm before
> respinning the patch.

 Well, the idea was that when you distribute both together, the whole
effectively becomes GPL-2.0+.

 However, since the library may be used independently (if a host tool links
against libltdl), it does make sense to mention the libltdl separately.

 Ideally, the GPL-2.0+ part should also mention to what it applies. Like

HOST_LIBTOOL_LICENSE = GPL-2.0+ (libtool), LGPLv2.1 (libltdl)

(because I think libtool is the only thing that gets installed in HOST_DIR,
isn't it?)

 Regards,
 Arnout

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

* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
  2018-11-26  9:28   ` Arnout Vandecappelle
@ 2018-11-26  9:38     ` Alexander Sverdlin
  2018-11-26 10:12       ` Arnout Vandecappelle
  0 siblings, 1 reply; 10+ messages in thread
From: Alexander Sverdlin @ 2018-11-26  9:38 UTC (permalink / raw)
  To: buildroot

Hi!

On Mon Nov 26 10:28:29 2018 Arnout Vandecappelle <arnout@mind.be> wrote:
> > > +HOST_LIBTOOL_SUBDIR = .
> 
>?  I guess the following doesn't work?
> 
> HOST_LIBTOOL_SUBDIR =

But "." works (as it was working for glibc and gdb previously)...

>?  Ideally, the GPL-2.0+ part should also mention to what it applies. Like
> 
> HOST_LIBTOOL_LICENSE = GPL-2.0+ (libtool), LGPLv2.1 (libltdl)
> 
> (because I think libtool is the only thing that gets installed in
> HOST_DIR, isn't it?)

Last time I've checked libltdl was installed in HOST_DIR (I cannot tell if it's used or not right now).

--
Alex.

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

* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
  2018-11-26  9:38     ` Alexander Sverdlin
@ 2018-11-26 10:12       ` Arnout Vandecappelle
  2018-11-26 10:18         ` Thomas Petazzoni
  2018-12-03  7:25         ` Peter Korsgaard
  0 siblings, 2 replies; 10+ messages in thread
From: Arnout Vandecappelle @ 2018-11-26 10:12 UTC (permalink / raw)
  To: buildroot



On 26/11/2018 10:38, Alexander Sverdlin wrote:
> Hi!
> 
> On Mon Nov 26 10:28:29 2018 Arnout Vandecappelle <arnout@mind.be> wrote:
>>>> +HOST_LIBTOOL_SUBDIR = .
>>
>> ?  I guess the following doesn't work?
>>
>> HOST_LIBTOOL_SUBDIR =
> 
> But "." works (as it was working for glibc and gdb previously)...

 Indeed, but it's ugly.

 BTW: glibc?

 On second thought, maybe we should just remove the automatic inheritance for
_SUBDIR entirely.

 There are 15 host packages that set _SUBDIR.

 Of these, 6 are host-only (e.g. gcc) so the automatic inheritance is pointless.

 Of the remaining 9:
- 2 override only HOST_XXX_SUBDIR (asterisk, cxxtest).
- 1 has a different SUBDIR for host and target (gettext).
- 1 overrides HOST_XXX_SUBDIR back to its default (gdb).
- 1 defines both with the same value (icu).
- 4 actually use the inheritance (capnproto, libnspr, tcl, vim).

 So it hardly seems worth to have the automatic inheritance, if only 1/3 of its
occurences are actually useful.


>> ?  Ideally, the GPL-2.0+ part should also mention to what it applies. Like
>>
>> HOST_LIBTOOL_LICENSE = GPL-2.0+ (libtool), LGPLv2.1 (libltdl)
>>
>> (because I think libtool is the only thing that gets installed in
>> HOST_DIR, isn't it?)
> 
> Last time I've checked libltdl was installed in HOST_DIR (I cannot tell if it's used or not right now).

 I meant: I think libtool is the only thing that gets installed in HOST_DIR and
is covered by GPL-2.0+.

 Regards,
 Arnout

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

* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
  2018-11-26 10:12       ` Arnout Vandecappelle
@ 2018-11-26 10:18         ` Thomas Petazzoni
  2018-12-03  7:25         ` Peter Korsgaard
  1 sibling, 0 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2018-11-26 10:18 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 26 Nov 2018 11:12:42 +0100, Arnout Vandecappelle wrote:

>  On second thought, maybe we should just remove the automatic inheritance for
> _SUBDIR entirely.
> 
>  There are 15 host packages that set _SUBDIR.
> 
>  Of these, 6 are host-only (e.g. gcc) so the automatic inheritance is pointless.
> 
>  Of the remaining 9:
> - 2 override only HOST_XXX_SUBDIR (asterisk, cxxtest).
> - 1 has a different SUBDIR for host and target (gettext).
> - 1 overrides HOST_XXX_SUBDIR back to its default (gdb).
> - 1 defines both with the same value (icu).
> - 4 actually use the inheritance (capnproto, libnspr, tcl, vim).
> 
>  So it hardly seems worth to have the automatic inheritance, if only 1/3 of its
> occurences are actually useful.

Dropping the automatic inheritance of _SUBDIR is fine with me.

However, while we are talking about _SUBDIR, what about making progress
on the discussion we had related to
https://patchwork.ozlabs.org/project/buildroot/list/?series=70199 ? :-)

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only
  2018-11-26 10:12       ` Arnout Vandecappelle
  2018-11-26 10:18         ` Thomas Petazzoni
@ 2018-12-03  7:25         ` Peter Korsgaard
  1 sibling, 0 replies; 10+ messages in thread
From: Peter Korsgaard @ 2018-12-03  7:25 UTC (permalink / raw)
  To: buildroot

>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

Hi,

 >> But "." works (as it was working for glibc and gdb previously)...

 >  Indeed, but it's ugly.

 >  BTW: glibc?

 >  On second thought, maybe we should just remove the automatic inheritance for
 > _SUBDIR entirely.

 >  There are 15 host packages that set _SUBDIR.

 >  Of these, 6 are host-only (e.g. gcc) so the automatic inheritance is pointless.

 >  Of the remaining 9:
 > - 2 override only HOST_XXX_SUBDIR (asterisk, cxxtest).
 > - 1 has a different SUBDIR for host and target (gettext).
 > - 1 overrides HOST_XXX_SUBDIR back to its default (gdb).
 > - 1 defines both with the same value (icu).
 > - 4 actually use the inheritance (capnproto, libnspr, tcl, vim).

 >  So it hardly seems worth to have the automatic inheritance, if only 1/3 of its
 > occurences are actually useful.

Agreed. Lets only have "magic" rules in the infrastructure if it is
commonly needed.

-- 
Bye, Peter Korsgaard

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

end of thread, other threads:[~2018-12-03  7:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-24 16:54 [Buildroot] [PATCH v2] package/libtool: Reduce target package to libltdl only Alexander Sverdlin
2018-11-24 18:47 ` Yann E. MORIN
2018-11-24 19:06   ` Alexander Sverdlin
2018-11-24 21:03     ` Alexander Sverdlin
2018-11-24 19:24   ` Alexander Sverdlin
2018-11-26  9:28   ` Arnout Vandecappelle
2018-11-26  9:38     ` Alexander Sverdlin
2018-11-26 10:12       ` Arnout Vandecappelle
2018-11-26 10:18         ` Thomas Petazzoni
2018-12-03  7:25         ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.