From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Tue, 15 Sep 2015 22:03:53 +0200 Subject: [Buildroot] [PATCHv2] package/kodi: needs .py modules In-Reply-To: <55F8493C.2030804@mind.be> References: <1442178783-27567-1-git-send-email-yann.morin.1998@free.fr> <55F8493C.2030804@mind.be> Message-ID: <20150915200353.GB3650@free.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Arnout, All, On 2015-09-15 18:37 +0200, Arnout Vandecappelle spake thusly: > On 13-09-15 23:13, Yann E. MORIN wrote: > > Kodi segfaults as soon as it tries to load a python module: > > > > Could not find platform independent libraries > > Consider setting $PYTHONHOME to [:] > > 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. > > I think it's a lot more user-friendly to do > > select BR2_PACKAGE_PYTHON_PY_PYC Two problems with that option: - first, it is not acceptable; one must *not* select a symbol that is part of a choice - Kconfig won't even act on that select, in fact: $ cat select-choice.in config FOO bool "foo" select BAR_B choice BAR bool "bar" config BAR_A bool "bar-a" config BAR_B bool "bar-b" config BAR_C bool "bar-c" endchoice $ cat .config # # Automatically generated file; DO NOT EDIT. # Configuration # CONFIG_FOO=y CONFIG_BAR_A=y # CONFIG_BAR_B is not set # CONFIG_BAR_C is not set So, as you can see, even though FOO is set, BAR_B is not, even though FOO selects it. > That removes the possibility for the user to select the PY_ONLY option, but I > don't think that that's so terribly important. And it does make life a whole lot > simpler for someone who wants to select Kodi. They already have to go and enable > an EGL provider, so let's not make their life harder by requiring manual > selection of python with the correct, non-default _PY_PYC option... One alternative (if we are *that* concerned with user-friendliness), would be to introduce an intermediate symbol that allows to get rid of .py, something like: config BR2_PKG_PYTHON_WANTS_PY bool choice bool "module fomat" config BR2_PKG_PYTHON_PY_ONLY bool ".py only" config BR2_PKG_PYTHON_PYC_ONLY bool ".pyc only" depends on !BR2_PKG_PYTHON_WANTS_PY endchoice (note: .py+.pyc option voluntarily omitted). and then Kodi would select BR2_PKG_PYTHON_WANTS_PY. But that's just ugly, even just for the sake of simplicity. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'