[OE-core] [PATCH 2/7] python3: add tk support

Alejandro Hernandez alejandro.enedino.hernandez-samaniego at xilinx.com
Mon Nov 12 15:28:55 UTC 2018


Hey Yu,


On 11/11/2018 6:28 PM, Yu, Mingli wrote:
>
>
> On 2018年11月09日 21:02, Burton, Ross wrote:
>> On Fri, 9 Nov 2018 at 01:39, Yu, Mingli <mingli.yu at windriver.com> wrote:
>>>> Why is this here and not in the manifest?
>>>
>>> It's because we can optionally enable or disable tk via PACKAGECONFIG,
>>> if add it to manifest then we need to always enable tk which is also 
>>> the
>>> implement in v1.
>>
>> Are you sure?  As I understand it there won't be any errors if the
>> contents don't exist.  And to be honest if there are, then the
>> manifest tooling should handle that neatly without special-casing.
>
> Hi Ross,
>
> Thanks for your feedback!
>
> I didn't quite understand what you mean. As I know, if we add the the 
> setting in manifest as below:
> diff --git 
> a/meta/recipes-devtools/python/python3/python3-manifest.json 
> b/meta/recipes-devtools/python/python3/python3-manifest.json
> index f922561..09c9199 100644
> --- a/meta/recipes-devtools/python/python3/python3-manifest.json
> +++ b/meta/recipes-devtools/python/python3/python3-manifest.json
> @@ -1056,10 +1056,12 @@
>      "tkinter": {
>          "summary": "Python Tcl/Tk bindings",
>          "rdepends": [
> -            "core"
> +            "core",
> +            "tk"


This error is happening because you are trying to add python3-tk on 
RDEPENDS, and that package doesn't exist, when you specify "foo" on the 
"rdepends" section of the manifest it is translated to ${PN}-foo.

So two things:

1. The manifest can have the _tkinter.*.so on the "files section of 
tkinter (please note that this is _tkinter.*.so and not _tkinter*.so, 
the wildcard should be after a "." this is to keep a standard which the 
tooling can handle more easily.

When the PACKAGECONFIG is enabled, the files for tkinter will be picked 
up correctly.

2. You should not manually add "rdepends" to the manifest, the tool 
itself should populate those automatically, this is better because we 
would avoid this kind of errors.

Please add the package to the manifest, populate the "files" and 
"summary" section and then run $ bitbake python3 -c create_manifest to 
populate the rdepends section automatically, also keep in mind that you 
should run this when the PACKAGECONFIG is enabled for the native package 
as well (thats how it will pick up the dependencies).


Cheers,

Alejandro


> ],
>          "files": [
> -            "${libdir}/python${PYTHON_MAJMIN}/tkinter"
> +            "${libdir}/python${PYTHON_MAJMIN}/tkinter",
> + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter*.so"
>          ],
>          "cached": []
>      },
>
> There comes below error:
> ERROR: Nothing RPROVIDES 'python3-tk' (but 
> /mybuild/layers/oe-core/meta/recipes-devtools/python/python3_3.5.6.bb 
> RDEPENDS on or otherwise requires it)
> NOTE: Runtime target 'python3-tk' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['python3-tk']
> ERROR: Required build target 'python3' has no buildable providers.
> Missing or unbuildable dependency chain was: ['python3', 'python3-tk']
>
> That's to say, we still need to add some fix in 
> meta/recipes-devtools/python/python3_3.5.6.bb. If so, it may be 
> flexible and clear to directly to make the implement just as what I 
> send in the RR.
>
> Thanks,
>
>>
>> Ross
>>


More information about the Openembedded-core mailing list