[05/11] package/kodi: drop readline dependency
diff mbox series

Message ID 20191113151724.12155-6-peter@korsgaard.com
State Accepted
Headers show
Series
  • Fix license incompatibility with readline
Related show

Commit Message

Peter Korsgaard Nov. 13, 2019, 3:17 p.m. UTC
{python-,}readline is (no longer) a required dependency of kodi, and
readline (GPL-3.0+) is not license compatible with kodi (GPL-2.0), so drop
the dependency.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 package/kodi/Config.in | 2 --
 package/kodi/kodi.mk   | 1 -
 2 files changed, 3 deletions(-)

Comments

Yann E. MORIN Nov. 13, 2019, 9:26 p.m. UTC | #1
Peter, All,

On 2019-11-13 16:17 +0100, Peter Korsgaard spake thusly:
> {python-,}readline is (no longer) a required dependency of kodi, and
> readline (GPL-3.0+) is not license compatible with kodi (GPL-2.0), so drop
> the dependency.
> 
> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
> ---
[--SNIP--]
> diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
> index 028bf551bc..49728e464b 100644
> --- a/package/kodi/kodi.mk
> +++ b/package/kodi/kodi.mk
> @@ -38,7 +38,6 @@ KODI_DEPENDENCIES = \
>  	openssl \
>  	pcre \
>  	python \
> -	readline \

What does actually prevent kodi from linking with readline, is that
happens to be built before?

I'll kick-start a build here (without your patch) and see what goes
linked with readline, if anything.

In the meantime, I've pondered applying this patch anyway, because it
removes the explicit dependency, so that if kodi still links to
readline, that would be an accident due to another intermediate
dependency, and thus not our fault. But I am not too happy either, so
I refrained eventually...

Regards,
Yann E. MORIN.

>  	sqlite \
>  	taglib \
>  	tinyxml \
> -- 
> 2.20.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Bernd Kuhls Nov. 14, 2019, 5:44 a.m. UTC | #2
Am Wed, 13 Nov 2019 16:17:18 +0100 schrieb Peter Korsgaard:

> {python-,}readline is (no longer) a required dependency of kodi, and
> readline (GPL-3.0+) is not license compatible with kodi (GPL-2.0), so 
drop
> the dependency.

Hi,

readline is an optional dependency of cpluff as of Kodi 18.x:
https://github.com/xbmc/xbmc/blob/Leia/lib/cpluff/configure.ac#L210

Snippet of kodi build log:

	configure: C-Pluff configuration
	configure:   release version:                0.1.3
	configure:   multi-threading support:        yes (Posix)
	configure:   dlopening mechanism:            dlopen
	configure:   localization support:           no
	configure:   use GNU readline library:       no
	configure:   assertion checks for debugging: no
	configure:   file name separator character:  '/'

In the next kodi release cpluff will not be present anymore:
https://github.com/xbmc/xbmc/commit/
b4f4ada89714538b98173dd7304b653d6e1eab31

The upstream PR which removed cpluff describes the usage of cpluff:

"cpluff was designed to run a complete addon management. This includes 
not only loading the addon data, but also using and running these addons.

Kodi has only used the loading of addon.xml."

So I think kodi does not need readline at all.

Regards, Bernd
Yann E. MORIN Nov. 14, 2019, 5:37 p.m. UTC | #3
On 2019-11-13 22:26 +0100, Yann E. MORIN spake thusly:
> On 2019-11-13 16:17 +0100, Peter Korsgaard spake thusly:
> > {python-,}readline is (no longer) a required dependency of kodi, and
> > readline (GPL-3.0+) is not license compatible with kodi (GPL-2.0), so drop
> > the dependency.
> > 
> > Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
> > ---
> [--SNIP--]
> > diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
> > index 028bf551bc..49728e464b 100644
> > --- a/package/kodi/kodi.mk
> > +++ b/package/kodi/kodi.mk
> > @@ -38,7 +38,6 @@ KODI_DEPENDENCIES = \
> >  	openssl \
> >  	pcre \
> >  	python \
> > -	readline \
> 
> What does actually prevent kodi from linking with readline, is that
> happens to be built before?

So, it happens that with the Kodi version we have, 17.6-Krypton, nothing
in Kodi actually links with readline:

    $ grep -r libreadline.so.8 output/target
    Binary file target/usr/lib/python2.7/lib-dynload/readline.so matches
    Binary file target/usr/lib/libreadline.so.8.0 matches
    Binary file target/usr/bin/sqlite3 matches

Kodi itself is linked to libpython2.7.so.1.0, but does not seem to
actually import the readline module at runtime (as far as I could see).

So: applied to master, thanks.

When we bump kodi to 18.x-Leia, any remaining problem will resolve by
itself as Kodi is now GPL-2.0-or-later.

Regards,
Yann E. MORIN.

> I'll kick-start a build here (without your patch) and see what goes
> linked with readline, if anything.
> 
> In the meantime, I've pondered applying this patch anyway, because it
> removes the explicit dependency, so that if kodi still links to
> readline, that would be an accident due to another intermediate
> dependency, and thus not our fault. But I am not too happy either, so
> I refrained eventually...
> 
> Regards,
> Yann E. MORIN.
> 
> >  	sqlite \
> >  	taglib \
> >  	tinyxml \
> > -- 
> > 2.20.1
> > 
> > _______________________________________________
> > buildroot mailing list
> > buildroot@busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Peter Korsgaard Nov. 19, 2019, 7:57 a.m. UTC | #4
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

 > {python-,}readline is (no longer) a required dependency of kodi, and
 > readline (GPL-3.0+) is not license compatible with kodi (GPL-2.0), so drop
 > the dependency.

 > Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

Committed to 2019.02.x and 2019.08.x, thanks.

Patch
diff mbox series

diff --git a/package/kodi/Config.in b/package/kodi/Config.in
index 40bee1b898..db6931ed8a 100644
--- a/package/kodi/Config.in
+++ b/package/kodi/Config.in
@@ -72,12 +72,10 @@  menuconfig BR2_PACKAGE_KODI
 	select BR2_PACKAGE_PYTHON_BZIP2
 	select BR2_PACKAGE_PYTHON_CURSES
 	select BR2_PACKAGE_PYTHON_PYEXPAT
-	select BR2_PACKAGE_PYTHON_READLINE
 	select BR2_PACKAGE_PYTHON_SQLITE
 	select BR2_PACKAGE_PYTHON_SSL
 	select BR2_PACKAGE_PYTHON_UNICODEDATA
 	select BR2_PACKAGE_PYTHON_ZLIB
-	select BR2_PACKAGE_READLINE
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_TAGLIB
 	select BR2_PACKAGE_TINYXML
diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
index 028bf551bc..49728e464b 100644
--- a/package/kodi/kodi.mk
+++ b/package/kodi/kodi.mk
@@ -38,7 +38,6 @@  KODI_DEPENDENCIES = \
 	openssl \
 	pcre \
 	python \
-	readline \
 	sqlite \
 	taglib \
 	tinyxml \