[Buildroot] [PATCH] package/kodi: needs .py modules
Yann E. MORIN
yann.morin.1998 at free.fr
Sat Oct 15 17:38:57 UTC 2016
Thomas, All,
On 2016-10-15 18:10 +0200, Thomas Petazzoni spake thusly:
> From: "Yann E. MORIN" <yann.morin.1998 at free.fr>
>
> Kodi segfaults as soon as it tries to load a python module:
>
> Could not find platform independent libraries <prefix>
> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
> ImportError: No module named site
> Segmentation fault
>
> Turns out that keeping .py modules (with or without .pyc) fixes the
> issue.
>
> Currently, Kodi selects python, but since the format of modules is a
> choice, we can not select it.
>
> Fix that by inverting the dependency on python from Kodi:
> - turn it into a depends rather than a select,
> - add the dependency to ! pyc-only
> - update the comment accordingly.
>
> In addition, the !MMU and !static dependencies are updated since they
> are no longer needed for Python (we now depend on it rather than
> selecting it), but for other packages. The !MMU dependency is moved to
> the _ARCH_SUPPORTS symbol as well.
>
> Also, we can no longer "select BR2_PACKAGE_SAMBA4", because samba4
> selects python, and we can no longer select python. Therefore, we switch
> to a "depends on" dependency for samba4, which is fine as a user willing
> to use Kodi with Samba will certainly realize that Samba should be
> enabled.
>
> Fixes bug #9221.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> [Thomas:
> - update on latest master
> - take care of the !MMU/!static dependencies.
> - take care of the samba4 problem.]
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
[yann.morin.1998 at free.fr: reviewed the samba fix]
Reviewed-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Regards,
Yann E. MORIN.
> ---
> package/kodi/Config.in | 23 +++++++++--------------
> 1 file changed, 9 insertions(+), 14 deletions(-)
>
> diff --git a/package/kodi/Config.in b/package/kodi/Config.in
> index f388a72..4174c6b 100644
> --- a/package/kodi/Config.in
> +++ b/package/kodi/Config.in
> @@ -1,17 +1,19 @@
> config BR2_PACKAGE_KODI_ARCH_SUPPORTS
> bool
> + depends on BR2_USE_MMU # libcdio, and others
> default y if (BR2_arm || (BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC) || BR2_i386 || BR2_x86_64) \
> && BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS \
> && BR2_TOOLCHAIN_HAS_SYNC_8
>
> -comment "kodi needs a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.7, host gcc >= 4.6"
> +comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.7, host gcc >= 4.6"
> depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
> depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
> || !BR2_USE_WCHAR || BR2_STATIC_LIBS \
> || !BR2_HOST_GCC_AT_LEAST_4_6 \
> || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \
> - || BR2_TOOLCHAIN_USES_MUSL
> - depends on BR2_USE_MMU
> + || BR2_TOOLCHAIN_USES_MUSL \
> + || !BR2_PACKAGE_PYTHON \
> + || BR2_PACKAGE_PYTHON_PYC_ONLY
>
> config BR2_PACKAGE_KODI_EGL_GLES
> bool
> @@ -42,10 +44,11 @@ menuconfig BR2_PACKAGE_KODI
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on !BR2_TOOLCHAIN_USES_MUSL
> depends on BR2_PACKAGE_KODI_EGL_GLES || BR2_PACKAGE_KODI_GL
> - depends on BR2_USE_MMU # python
> depends on BR2_USE_WCHAR
> - depends on !BR2_STATIC_LIBS # python
> + depends on !BR2_STATIC_LIBS # libsquish, and others
> depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
> + depends on BR2_PACKAGE_PYTHON
> + depends on !BR2_PACKAGE_PYTHON_PYC_ONLY
> select BR2_NEEDS_HOST_JAVA
> select BR2_PACKAGE_BOOST
> select BR2_PACKAGE_BOOST_THREAD
> @@ -83,7 +86,6 @@ menuconfig BR2_PACKAGE_KODI
> select BR2_PACKAGE_OPENSSL
> select BR2_PACKAGE_PCRE
> select BR2_PACKAGE_PCRE_UCP
> - select BR2_PACKAGE_PYTHON
> select BR2_PACKAGE_PYTHON_BSDDB
> select BR2_PACKAGE_PYTHON_BZIP2
> select BR2_PACKAGE_PYTHON_CURSES
> @@ -200,16 +202,9 @@ config BR2_PACKAGE_KODI_LIBSHAIRPLAY
> Enable Shairport support.
> Select this if you want to stream content from an Apple device.
>
> -comment "samba support needs a glibc or uClibc toolchain w/ RPC"
> - depends on (!BR2_TOOLCHAIN_USES_GLIBC && \
> - !BR2_TOOLCHAIN_USES_UCLIBC) || !BR2_TOOLCHAIN_HAS_NATIVE_RPC
> -
> config BR2_PACKAGE_KODI_LIBSMBCLIENT
> bool "samba"
> - depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC
> - depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
> - depends on BR2_TOOLCHAIN_HAS_SYNC_4
> - select BR2_PACKAGE_SAMBA4
> + depends on BR2_PACKAGE_SAMBA4
> help
> Enable Samba support
>
> --
> 2.7.4
>
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list