All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] python3: add pydoc and urllib to core
@ 2020-05-18  7:32 Yu, Mingli
  2020-05-18 15:36 ` [OE-core] " Alejandro Hernandez
       [not found] ` <1610296324895336.31912@lists.openembedded.org>
  0 siblings, 2 replies; 8+ messages in thread
From: Yu, Mingli @ 2020-05-18  7:32 UTC (permalink / raw)
  To: openembedded-core

From: Mingli Yu <mingli.yu@windriver.com>

Add pydoc and urllib to core to fix below error:
 # python3
 >>> help()
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
 import pydoc
 ModuleNotFoundError: No module named 'pydoc'
 File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
 import urllib.parse
 ModuleNotFoundError: No module named 'urllib'

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
 .../python/python3/python3-manifest.json      | 24 +++++--------------
 meta/recipes-devtools/python/python3_3.8.2.bb |  3 +--
 2 files changed, 7 insertions(+), 20 deletions(-)

diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
index 3bcc9b8662..808eadb8f6 100644
--- a/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -203,6 +203,7 @@
             "${bindir}/python${PYTHON_MAJMIN}",
             "${bindir}/python${PYTHON_MAJMIN}.real",
             "${bindir}/python3",
+            "${bindir}/pydoc*",
             "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
             "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
             "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
@@ -289,6 +290,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
             "${libdir}/python${PYTHON_MAJMIN}/platform.py",
             "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
+            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
             "${libdir}/python${PYTHON_MAJMIN}/re.py",
             "${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
             "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
@@ -313,8 +315,11 @@
             "${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
             "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
             "${libdir}/python${PYTHON_MAJMIN}/types.py",
+            "${libdir}/python${PYTHON_MAJMIN}/urllib",
+            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
             "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
             "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
+            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data",
             "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
         ],
         "cached": [
@@ -363,6 +368,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
@@ -798,7 +804,6 @@
             "plistlib",
             "pprint",
             "profile",
-            "pydoc",
             "resource",
             "shell",
             "smtpd",
@@ -857,8 +862,6 @@
             "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
             "${libdir}/python${PYTHON_MAJMIN}/smtplib.py",
             "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py",
-            "${libdir}/python${PYTHON_MAJMIN}/urllib",
-            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
             "${libdir}/python${PYTHON_MAJMIN}/uuid.py"
         ],
         "cached": [
@@ -989,21 +992,6 @@
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
         ]
     },
-    "pydoc": {
-        "summary": "Python interactive help support",
-        "rdepends": [
-            "core",
-            "netclient"
-        ],
-        "files": [
-            "${bindir}/pydoc*",
-            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
-            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data"
-        ],
-        "cached": [
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc"
-        ]
-    },
     "resource": {
         "summary": "Python resource control interface",
         "rdepends": [
diff --git a/meta/recipes-devtools/python/python3_3.8.2.bb b/meta/recipes-devtools/python/python3_3.8.2.bb
index a4a16fd495..36aa54ba6c 100644
--- a/meta/recipes-devtools/python/python3_3.8.2.bb
+++ b/meta/recipes-devtools/python/python3_3.8.2.bb
@@ -318,7 +318,6 @@ RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
 FILES_${PN} = ""
 RPROVIDES_${PN}-modules = "${PN}"
 
-FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
 FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
 
 # provide python-pyvenv from python3-venv
@@ -332,7 +331,7 @@ INSANE_SKIP_${PN}-dev += "dev-elf"
 
 # catch all the rest (unsorted)
 PACKAGES += "${PN}-misc"
-RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio"
+RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pickle python3-audio"
 RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
 RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
 FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
-- 
2.24.1


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

* Re: [OE-core] [PATCH] python3: add pydoc and urllib to core
  2020-05-18  7:32 [PATCH] python3: add pydoc and urllib to core Yu, Mingli
@ 2020-05-18 15:36 ` Alejandro Hernandez
  2020-05-19  6:23   ` Yu, Mingli
       [not found] ` <1610296324895336.31912@lists.openembedded.org>
  1 sibling, 1 reply; 8+ messages in thread
From: Alejandro Hernandez @ 2020-05-18 15:36 UTC (permalink / raw)
  To: Yu, Mingli, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 5991 bytes --]

Hello Mingli,

Did you happen to run the create_manifest task after modifying the 
manifest to make sure that runtime dependencies are still valid?


Thanks

Alejandro

On 5/18/20 12:32 AM, Yu, Mingli wrote:
> From: Mingli Yu <mingli.yu@windriver.com>
>
> Add pydoc and urllib to core to fix below error:
>   # python3
>   >>> help()
>   Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
>   import pydoc
>   ModuleNotFoundError: No module named 'pydoc'
>   File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
>   import urllib.parse
>   ModuleNotFoundError: No module named 'urllib'
>
> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> ---
>   .../python/python3/python3-manifest.json      | 24 +++++--------------
>   meta/recipes-devtools/python/python3_3.8.2.bb |  3 +--
>   2 files changed, 7 insertions(+), 20 deletions(-)
>
> diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
> index 3bcc9b8662..808eadb8f6 100644
> --- a/meta/recipes-devtools/python/python3/python3-manifest.json
> +++ b/meta/recipes-devtools/python/python3/python3-manifest.json
> @@ -203,6 +203,7 @@
>               "${bindir}/python${PYTHON_MAJMIN}",
>               "${bindir}/python${PYTHON_MAJMIN}.real",
>               "${bindir}/python3",
> +            "${bindir}/pydoc*",
>               "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
>               "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
>               "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
> @@ -289,6 +290,7 @@
>               "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
>               "${libdir}/python${PYTHON_MAJMIN}/platform.py",
>               "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>               "${libdir}/python${PYTHON_MAJMIN}/re.py",
>               "${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
>               "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
> @@ -313,8 +315,11 @@
>               "${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
>               "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
>               "${libdir}/python${PYTHON_MAJMIN}/types.py",
> +            "${libdir}/python${PYTHON_MAJMIN}/urllib",
> +            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>               "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
>               "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data",
>               "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
>           ],
>           "cached": [
> @@ -363,6 +368,7 @@
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
> +            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
> @@ -798,7 +804,6 @@
>               "plistlib",
>               "pprint",
>               "profile",
> -            "pydoc",
>               "resource",
>               "shell",
>               "smtpd",
> @@ -857,8 +862,6 @@
>               "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
>               "${libdir}/python${PYTHON_MAJMIN}/smtplib.py",
>               "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py",
> -            "${libdir}/python${PYTHON_MAJMIN}/urllib",
> -            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>               "${libdir}/python${PYTHON_MAJMIN}/uuid.py"
>           ],
>           "cached": [
> @@ -989,21 +992,6 @@
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
>           ]
>       },
> -    "pydoc": {
> -        "summary": "Python interactive help support",
> -        "rdepends": [
> -            "core",
> -            "netclient"
> -        ],
> -        "files": [
> -            "${bindir}/pydoc*",
> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data"
> -        ],
> -        "cached": [
> -            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc"
> -        ]
> -    },
>       "resource": {
>           "summary": "Python resource control interface",
>           "rdepends": [
> diff --git a/meta/recipes-devtools/python/python3_3.8.2.bb b/meta/recipes-devtools/python/python3_3.8.2.bb
> index a4a16fd495..36aa54ba6c 100644
> --- a/meta/recipes-devtools/python/python3_3.8.2.bb
> +++ b/meta/recipes-devtools/python/python3_3.8.2.bb
> @@ -318,7 +318,6 @@ RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
>   FILES_${PN} = ""
>   RPROVIDES_${PN}-modules = "${PN}"
>   
> -FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
>   FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
>   
>   # provide python-pyvenv from python3-venv
> @@ -332,7 +331,7 @@ INSANE_SKIP_${PN}-dev += "dev-elf"
>   
>   # catch all the rest (unsorted)
>   PACKAGES += "${PN}-misc"
> -RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio"
> +RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pickle python3-audio"
>   RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
>   RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
>   FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
>
> 

[-- Attachment #2: Type: text/html, Size: 6411 bytes --]

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

* Re: [OE-core] [PATCH] python3: add pydoc and urllib to core
  2020-05-18 15:36 ` [OE-core] " Alejandro Hernandez
@ 2020-05-19  6:23   ` Yu, Mingli
  0 siblings, 0 replies; 8+ messages in thread
From: Yu, Mingli @ 2020-05-19  6:23 UTC (permalink / raw)
  To: Alejandro Hernandez Samaniego, openembedded-core

Hi Alejandro,

On 2020/5/18 下午11:36, Alejandro Hernandez Samaniego wrote:
> Hello Mingli,
> 
> Did you happen to run the create_manifest task after modifying the 
> manifest to make sure that runtime dependencies are still valid?

Yes, did run "bitbake python3 -c create_manifest" on my side and also
did some adjustment after run create_manifest.

Thanks,

> 
> 
> Thanks
> 
> Alejandro
> 
> On 5/18/20 12:32 AM, Yu, Mingli wrote:
>> From: Mingli Yu<mingli.yu@windriver.com>
>>
>> Add pydoc and urllib to core to fix below error:
>>   # python3
>>   >>> help()
>>   Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>>   File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
>>   import pydoc
>>   ModuleNotFoundError: No module named 'pydoc'
>>   File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
>>   import urllib.parse
>>   ModuleNotFoundError: No module named 'urllib'
>>
>> Signed-off-by: Mingli Yu<mingli.yu@windriver.com>
>> ---
>>   .../python/python3/python3-manifest.json      | 24 +++++--------------
>>   meta/recipes-devtools/python/python3_3.8.2.bb |  3 +--
>>   2 files changed, 7 insertions(+), 20 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
>> index 3bcc9b8662..808eadb8f6 100644
>> --- a/meta/recipes-devtools/python/python3/python3-manifest.json
>> +++ b/meta/recipes-devtools/python/python3/python3-manifest.json
>> @@ -203,6 +203,7 @@
>>               "${bindir}/python${PYTHON_MAJMIN}",
>>               "${bindir}/python${PYTHON_MAJMIN}.real",
>>               "${bindir}/python3",
>> +            "${bindir}/pydoc*",
>>               "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
>>               "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
>> @@ -289,6 +290,7 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/platform.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/re.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
>> @@ -313,8 +315,11 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/types.py",
>> +            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>> +            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>               "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data",
>>               "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
>>           ],
>>           "cached": [
>> @@ -363,6 +368,7 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
>> +            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
>> @@ -798,7 +804,6 @@
>>               "plistlib",
>>               "pprint",
>>               "profile",
>> -            "pydoc",
>>               "resource",
>>               "shell",
>>               "smtpd",
>> @@ -857,8 +862,6 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/smtplib.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py",
>> -            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>> -            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>               "${libdir}/python${PYTHON_MAJMIN}/uuid.py"
>>           ],
>>           "cached": [
>> @@ -989,21 +992,6 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
>>           ]
>>       },
>> -    "pydoc": {
>> -        "summary": "Python interactive help support",
>> -        "rdepends": [
>> -            "core",
>> -            "netclient"
>> -        ],
>> -        "files": [
>> -            "${bindir}/pydoc*",
>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data"
>> -        ],
>> -        "cached": [
>> -            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc"
>> -        ]
>> -    },
>>       "resource": {
>>           "summary": "Python resource control interface",
>>           "rdepends": [
>> diff --git a/meta/recipes-devtools/python/python3_3.8.2.bb b/meta/recipes-devtools/python/python3_3.8.2.bb
>> index a4a16fd495..36aa54ba6c 100644
>> --- a/meta/recipes-devtools/python/python3_3.8.2.bb
>> +++ b/meta/recipes-devtools/python/python3_3.8.2.bb
>> @@ -318,7 +318,6 @@ RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
>>   FILES_${PN} = ""
>>   RPROVIDES_${PN}-modules = "${PN}"
>>   
>> -FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
>>   FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
>>   
>>   # provide python-pyvenv from python3-venv
>> @@ -332,7 +331,7 @@ INSANE_SKIP_${PN}-dev += "dev-elf"
>>   
>>   # catch all the rest (unsorted)
>>   PACKAGES += "${PN}-misc"
>> -RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio"
>> +RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pickle python3-audio"
>>   RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
>>   RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
>>   FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
>>
>> 

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

* Re: [OE-core] [PATCH] python3: add pydoc and urllib to core
       [not found] ` <1610296324895336.31912@lists.openembedded.org>
@ 2020-05-19  7:22   ` Alejandro Hernandez
  2020-05-19  7:43     ` Yu, Mingli
  0 siblings, 1 reply; 8+ messages in thread
From: Alejandro Hernandez @ 2020-05-19  7:22 UTC (permalink / raw)
  To: Yu, Mingli, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 7077 bytes --]

Hello,

The more I look into this, the more I realize its incorrect.


On 5/18/20 8:36 AM, Alejandro Hernandez wrote:
>
> Hello Mingli,
>
> Did you happen to run the create_manifest task after modifying the 
> manifest to make sure that runtime dependencies are still valid?
>
>
> Thanks
>
> Alejandro
>
> On 5/18/20 12:32 AM, Yu, Mingli wrote:
>> From: Mingli Yu<mingli.yu@windriver.com>
>>
>> Add pydoc and urllib to core to fix below error:
>>   # python3
>>   >>> help()
>>   Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>>   File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
>>   import pydoc
>>   ModuleNotFoundError: No module named 'pydoc'
>>   File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
>>   import urllib.parse
>>   ModuleNotFoundError: No module named 'urllib'

Why would pydoc be required to run python? or urllib in any case?

I believe there is a discrepancy between what python3-core does and what you believe it should do.
python3-core is the smallest possible package to get a working python3 interpreter, if you install python3-core
thats what you get, if you need more modules then you install more modules, e.g. python3-pydoc, python3-netlib,
this way it allows us to keep installation size at minimum.

If what you want is to get a fully working python3 interpreter, without adding any new packages to the installation,
then you need to install the python3 package (no core), this will in fact install python3-modules which contains
all the modules, including python3-pydoc and python3-neclient which is the one that provides urllib.

Cheers,

Alejandro

>>
>> Signed-off-by: Mingli Yu<mingli.yu@windriver.com>
>> ---
>>   .../python/python3/python3-manifest.json      | 24 +++++--------------
>>   meta/recipes-devtools/python/python3_3.8.2.bb |  3 +--
>>   2 files changed, 7 insertions(+), 20 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
>> index 3bcc9b8662..808eadb8f6 100644
>> --- a/meta/recipes-devtools/python/python3/python3-manifest.json
>> +++ b/meta/recipes-devtools/python/python3/python3-manifest.json
>> @@ -203,6 +203,7 @@
>>               "${bindir}/python${PYTHON_MAJMIN}",
>>               "${bindir}/python${PYTHON_MAJMIN}.real",
>>               "${bindir}/python3",
>> +            "${bindir}/pydoc*",
>>               "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
>>               "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
>> @@ -289,6 +290,7 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/platform.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/re.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
>> @@ -313,8 +315,11 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/types.py",
>> +            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>> +            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>               "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data",
>>               "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
>>           ],
>>           "cached": [
>> @@ -363,6 +368,7 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
>> +            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
>> @@ -798,7 +804,6 @@
>>               "plistlib",
>>               "pprint",
>>               "profile",
>> -            "pydoc",
>>               "resource",
>>               "shell",
>>               "smtpd",
>> @@ -857,8 +862,6 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/smtplib.py",
>>               "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py",
>> -            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>> -            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>               "${libdir}/python${PYTHON_MAJMIN}/uuid.py"
>>           ],
>>           "cached": [
>> @@ -989,21 +992,6 @@
>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
>>           ]
>>       },
>> -    "pydoc": {
>> -        "summary": "Python interactive help support",
>> -        "rdepends": [
>> -            "core",
>> -            "netclient"
>> -        ],
>> -        "files": [
>> -            "${bindir}/pydoc*",
>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data"
>> -        ],
>> -        "cached": [
>> -            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc"
>> -        ]
>> -    },
>>       "resource": {
>>           "summary": "Python resource control interface",
>>           "rdepends": [
>> diff --git a/meta/recipes-devtools/python/python3_3.8.2.bb b/meta/recipes-devtools/python/python3_3.8.2.bb
>> index a4a16fd495..36aa54ba6c 100644
>> --- a/meta/recipes-devtools/python/python3_3.8.2.bb
>> +++ b/meta/recipes-devtools/python/python3_3.8.2.bb
>> @@ -318,7 +318,6 @@ RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
>>   FILES_${PN} = ""
>>   RPROVIDES_${PN}-modules = "${PN}"
>>   
>> -FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
>>   FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
>>   
>>   # provide python-pyvenv from python3-venv
>> @@ -332,7 +331,7 @@ INSANE_SKIP_${PN}-dev += "dev-elf"
>>   
>>   # catch all the rest (unsorted)
>>   PACKAGES += "${PN}-misc"
>> -RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio"
>> +RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pickle python3-audio"
>>   RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
>>   RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
>>   FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
>>
>
> 

[-- Attachment #2: Type: text/html, Size: 8115 bytes --]

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

* Re: [OE-core] [PATCH] python3: add pydoc and urllib to core
  2020-05-19  7:22   ` Alejandro Hernandez
@ 2020-05-19  7:43     ` Yu, Mingli
  2020-05-19  7:51       ` Alejandro Hernandez
  0 siblings, 1 reply; 8+ messages in thread
From: Yu, Mingli @ 2020-05-19  7:43 UTC (permalink / raw)
  To: Alejandro Hernandez Samaniego, openembedded-core

Hi Alejandro,


On 2020/5/19 下午3:22, Alejandro Hernandez Samaniego wrote:
> Hello,
> 
> The more I look into this, the more I realize its incorrect.

Understood your concern.

> 
> 
> On 5/18/20 8:36 AM, Alejandro Hernandez wrote:
>>
>> Hello Mingli,
>>
>> Did you happen to run the create_manifest task after modifying the 
>> manifest to make sure that runtime dependencies are still valid?
>>
>>
>> Thanks
>>
>> Alejandro
>>
>> On 5/18/20 12:32 AM, Yu, Mingli wrote:
>>> From: Mingli Yu<mingli.yu@windriver.com>
>>>
>>> Add pydoc and urllib to core to fix below error:
>>>   # python3
>>>   >>> help()
>>>   Traceback (most recent call last):
>>>   File "<stdin>", line 1, in <module>
>>>   File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
>>>   import pydoc
>>>   ModuleNotFoundError: No module named 'pydoc'
>>>   File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
>>>   import urllib.parse
>>>   ModuleNotFoundError: No module named 'urllib'
> 
> Why would pydoc be required to run python? or urllib in any case?


It's better make the python3-core more lightweight.

But in a system which didn't install other python modules but just 
python3-core, then we type help() as below and the help cannot show 
normally. So add the needed pydoc and urllib file to make the help() works.

  # python3
  >>> help()
  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
  import pydoc
  ModuleNotFoundError: No module named 'pydoc'
  File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
  import urllib.parse
  ModuleNotFoundError: No module named 'urllib'


After pydoc and urllib added and also just install python3-core and no 
additional python3 modules installed.

# python3
Python 3.8.2 (default, May 18 2020, 07:15:10)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
 >>> help()
Welcome to Python 3.8's help utility!

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at https://docs.python.org/3.8/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, symbols, or topics, type
"modules", "keywords", "symbols", or "topics".  Each module also comes
with a one-line summary of what it does; to list the modules whose name
or summary contain a given string such as "spam", type "modules spam".
help>


Thanks,

> 
> I believe there is a discrepancy between what python3-core does and what you believe it should do.
> python3-core is the smallest possible package to get a working python3 interpreter, if you install python3-core
> thats what you get, if you need more modules then you install more modules, e.g. python3-pydoc, python3-netlib,
> this way it allows us to keep installation size at minimum.
> 
> If what you want is to get a fully working python3 interpreter, without adding any new packages to the installation,
> then you need to install the python3 package (no core), this will in fact install python3-modules which contains
> all the modules, including python3-pydoc and python3-neclient which is the one that provides urllib.
> 
> Cheers,
> 
> Alejandro
> 
>>> Signed-off-by: Mingli Yu<mingli.yu@windriver.com>
>>> ---
>>>   .../python/python3/python3-manifest.json      | 24 +++++--------------
>>>   meta/recipes-devtools/python/python3_3.8.2.bb |  3 +--
>>>   2 files changed, 7 insertions(+), 20 deletions(-)
>>>
>>> diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
>>> index 3bcc9b8662..808eadb8f6 100644
>>> --- a/meta/recipes-devtools/python/python3/python3-manifest.json
>>> +++ b/meta/recipes-devtools/python/python3/python3-manifest.json
>>> @@ -203,6 +203,7 @@
>>>               "${bindir}/python${PYTHON_MAJMIN}",
>>>               "${bindir}/python${PYTHON_MAJMIN}.real",
>>>               "${bindir}/python3",
>>> +            "${bindir}/pydoc*",
>>>               "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
>>>               "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
>>> @@ -289,6 +290,7 @@
>>>               "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/platform.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
>>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/re.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
>>> @@ -313,8 +315,11 @@
>>>               "${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/types.py",
>>> +            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>>> +            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>>               "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
>>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data",
>>>               "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
>>>           ],
>>>           "cached": [
>>> @@ -363,6 +368,7 @@
>>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
>>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
>>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
>>> +            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc",
>>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
>>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
>>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
>>> @@ -798,7 +804,6 @@
>>>               "plistlib",
>>>               "pprint",
>>>               "profile",
>>> -            "pydoc",
>>>               "resource",
>>>               "shell",
>>>               "smtpd",
>>> @@ -857,8 +862,6 @@
>>>               "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/smtplib.py",
>>>               "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py",
>>> -            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>>> -            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>>               "${libdir}/python${PYTHON_MAJMIN}/uuid.py"
>>>           ],
>>>           "cached": [
>>> @@ -989,21 +992,6 @@
>>>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
>>>           ]
>>>       },
>>> -    "pydoc": {
>>> -        "summary": "Python interactive help support",
>>> -        "rdepends": [
>>> -            "core",
>>> -            "netclient"
>>> -        ],
>>> -        "files": [
>>> -            "${bindir}/pydoc*",
>>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data"
>>> -        ],
>>> -        "cached": [
>>> -            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc"
>>> -        ]
>>> -    },
>>>       "resource": {
>>>           "summary": "Python resource control interface",
>>>           "rdepends": [
>>> diff --git a/meta/recipes-devtools/python/python3_3.8.2.bb b/meta/recipes-devtools/python/python3_3.8.2.bb
>>> index a4a16fd495..36aa54ba6c 100644
>>> --- a/meta/recipes-devtools/python/python3_3.8.2.bb
>>> +++ b/meta/recipes-devtools/python/python3_3.8.2.bb
>>> @@ -318,7 +318,6 @@ RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
>>>   FILES_${PN} = ""
>>>   RPROVIDES_${PN}-modules = "${PN}"
>>>   
>>> -FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
>>>   FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
>>>   
>>>   # provide python-pyvenv from python3-venv
>>> @@ -332,7 +331,7 @@ INSANE_SKIP_${PN}-dev += "dev-elf"
>>>   
>>>   # catch all the rest (unsorted)
>>>   PACKAGES += "${PN}-misc"
>>> -RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio"
>>> +RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pickle python3-audio"
>>>   RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
>>>   RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
>>>   FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
>>>
>>
>> 

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

* Re: [OE-core] [PATCH] python3: add pydoc and urllib to core
  2020-05-19  7:43     ` Yu, Mingli
@ 2020-05-19  7:51       ` Alejandro Hernandez
  2020-05-19  8:22         ` Yu, Mingli
  2020-05-19  9:47         ` Richard Purdie
  0 siblings, 2 replies; 8+ messages in thread
From: Alejandro Hernandez @ 2020-05-19  7:51 UTC (permalink / raw)
  To: Yu, Mingli, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 10061 bytes --]

Hey Mingly Yu,

On 5/19/20 12:43 AM, Yu, Mingli wrote:
> Hi Alejandro,
>
>
> On 2020/5/19 下午3:22, Alejandro Hernandez Samaniego wrote:
>> Hello,
>>
>> The more I look into this, the more I realize its incorrect.
>
> Understood your concern.
>
>>
>>
>> On 5/18/20 8:36 AM, Alejandro Hernandez wrote:
>>>
>>> Hello Mingli,
>>>
>>> Did you happen to run the create_manifest task after modifying the 
>>> manifest to make sure that runtime dependencies are still valid?
>>>
>>>
>>> Thanks
>>>
>>> Alejandro
>>>
>>> On 5/18/20 12:32 AM, Yu, Mingli wrote:
>>>> From: Mingli Yu<mingli.yu@windriver.com>
>>>>
>>>> Add pydoc and urllib to core to fix below error:
>>>>   # python3
>>>>   >>> help()
>>>>   Traceback (most recent call last):
>>>>   File "<stdin>", line 1, in <module>
>>>>   File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
>>>>   import pydoc
>>>>   ModuleNotFoundError: No module named 'pydoc'
>>>>   File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
>>>>   import urllib.parse
>>>>   ModuleNotFoundError: No module named 'urllib'
>>
>> Why would pydoc be required to run python? or urllib in any case?
>
>
> It's better make the python3-core more lightweight.
>
> But in a system which didn't install other python modules but just 
> python3-core, then we type help() as below and the help cannot show 
> normally. So add the needed pydoc and urllib file to make the help() 
> works.
>
>  # python3
>  >>> help()
>  Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>  File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
>  import pydoc
>  ModuleNotFoundError: No module named 'pydoc'
>  File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
>  import urllib.parse
>  ModuleNotFoundError: No module named 'urllib'
>
>
> After pydoc and urllib added and also just install python3-core and no 
> additional python3 modules installed.
>
> # python3
> Python 3.8.2 (default, May 18 2020, 07:15:10)
> [GCC 9.3.0] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> help()
> Welcome to Python 3.8's help utility!
>
> If this is your first time using Python, you should definitely check out
> the tutorial on the Internet at https://docs.python.org/3.8/tutorial/.
>
> Enter the name of any module, keyword, or topic to get help on writing
> Python programs and using Python modules.  To quit this help utility and
> return to the interpreter, just type "quit".
>
> To get a list of available modules, keywords, symbols, or topics, type
> "modules", "keywords", "symbols", or "topics".  Each module also comes
> with a one-line summary of what it does; to list the modules whose name
> or summary contain a given string such as "spam", type "modules spam".
> help>
>
>
> Thanks,
>
I still believe python3-core should be left as small as possible, the use case
of an embedded device calling help() is probably seldom, IMO that fits more in
the workflow of installing the netlib and pydoc modules for that specific usecase.

It also looks like simply installing python3-pydoc would do what you want, since
the error to load urllib is coming out of loading pydoc itself and the manifest
does specify the dependency from pydoc to netclient.

Cheers,

Alejandro


>>
>> I believe there is a discrepancy between what python3-core does and 
>> what you believe it should do.
>> python3-core is the smallest possible package to get a working 
>> python3 interpreter, if you install python3-core
>> thats what you get, if you need more modules then you install more 
>> modules, e.g. python3-pydoc, python3-netlib,
>> this way it allows us to keep installation size at minimum.
>>
>> If what you want is to get a fully working python3 interpreter, 
>> without adding any new packages to the installation,
>> then you need to install the python3 package (no core), this will in 
>> fact install python3-modules which contains
>> all the modules, including python3-pydoc and python3-neclient which 
>> is the one that provides urllib.
>>
>> Cheers,
>>
>> Alejandro
>>
>>>> Signed-off-by: Mingli Yu<mingli.yu@windriver.com>
>>>> ---
>>>>   .../python/python3/python3-manifest.json      | 24 
>>>> +++++--------------
>>>>   meta/recipes-devtools/python/python3_3.8.2.bb |  3 +--
>>>>   2 files changed, 7 insertions(+), 20 deletions(-)
>>>>
>>>> diff --git 
>>>> a/meta/recipes-devtools/python/python3/python3-manifest.json 
>>>> b/meta/recipes-devtools/python/python3/python3-manifest.json
>>>> index 3bcc9b8662..808eadb8f6 100644
>>>> --- a/meta/recipes-devtools/python/python3/python3-manifest.json
>>>> +++ b/meta/recipes-devtools/python/python3/python3-manifest.json
>>>> @@ -203,6 +203,7 @@
>>>>               "${bindir}/python${PYTHON_MAJMIN}",
>>>>               "${bindir}/python${PYTHON_MAJMIN}.real",
>>>>               "${bindir}/python3",
>>>> +            "${bindir}/pydoc*",
>>>> "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
>>>> "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
>>>> "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
>>>> @@ -289,6 +290,7 @@
>>>>               "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
>>>> "${libdir}/python${PYTHON_MAJMIN}/platform.py",
>>>> "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
>>>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>>>>               "${libdir}/python${PYTHON_MAJMIN}/re.py",
>>>>               "${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
>>>> "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
>>>> @@ -313,8 +315,11 @@
>>>> "${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
>>>> "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
>>>>               "${libdir}/python${PYTHON_MAJMIN}/types.py",
>>>> +            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>>>> + "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>>> "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
>>>>               "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
>>>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data",
>>>> "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
>>>>           ],
>>>>           "cached": [
>>>> @@ -363,6 +368,7 @@
>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
>>>> + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc",
>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
>>>> @@ -798,7 +804,6 @@
>>>>               "plistlib",
>>>>               "pprint",
>>>>               "profile",
>>>> -            "pydoc",
>>>>               "resource",
>>>>               "shell",
>>>>               "smtpd",
>>>> @@ -857,8 +862,6 @@
>>>>               "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
>>>>               "${libdir}/python${PYTHON_MAJMIN}/smtplib.py",
>>>> "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py",
>>>> -            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>>>> - "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>>>               "${libdir}/python${PYTHON_MAJMIN}/uuid.py"
>>>>           ],
>>>>           "cached": [
>>>> @@ -989,21 +992,6 @@
>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
>>>>           ]
>>>>       },
>>>> -    "pydoc": {
>>>> -        "summary": "Python interactive help support",
>>>> -        "rdepends": [
>>>> -            "core",
>>>> -            "netclient"
>>>> -        ],
>>>> -        "files": [
>>>> -            "${bindir}/pydoc*",
>>>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>>>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data"
>>>> -        ],
>>>> -        "cached": [
>>>> - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc"
>>>> -        ]
>>>> -    },
>>>>       "resource": {
>>>>           "summary": "Python resource control interface",
>>>>           "rdepends": [
>>>> diff --git a/meta/recipes-devtools/python/python3_3.8.2.bb 
>>>> b/meta/recipes-devtools/python/python3_3.8.2.bb
>>>> index a4a16fd495..36aa54ba6c 100644
>>>> --- a/meta/recipes-devtools/python/python3_3.8.2.bb
>>>> +++ b/meta/recipes-devtools/python/python3_3.8.2.bb
>>>> @@ -318,7 +318,6 @@ RRECOMMENDS_${PN}-crypt_append_class-nativesdk 
>>>> = " openssl ca-certificates"
>>>>   FILES_${PN} = ""
>>>>   RPROVIDES_${PN}-modules = "${PN}"
>>>>   -FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} 
>>>> ${bindir}/pydoc3"
>>>>   FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
>>>>     # provide python-pyvenv from python3-venv
>>>> @@ -332,7 +331,7 @@ INSANE_SKIP_${PN}-dev += "dev-elf"
>>>>     # catch all the rest (unsorted)
>>>>   PACKAGES += "${PN}-misc"
>>>> -RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs 
>>>> python3-pydoc python3-pickle python3-audio"
>>>> +RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs 
>>>> python3-pickle python3-audio"
>>>>   RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
>>>>   RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
>>>>   FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} 
>>>> ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
>>>>
>>>
>>>
>
> 

[-- Attachment #2: Type: text/html, Size: 16643 bytes --]

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

* Re: [OE-core] [PATCH] python3: add pydoc and urllib to core
  2020-05-19  7:51       ` Alejandro Hernandez
@ 2020-05-19  8:22         ` Yu, Mingli
  2020-05-19  9:47         ` Richard Purdie
  1 sibling, 0 replies; 8+ messages in thread
From: Yu, Mingli @ 2020-05-19  8:22 UTC (permalink / raw)
  To: Alejandro Hernandez Samaniego, openembedded-core

Hi Alejandro,

On 5/19/20 3:51 PM, Alejandro Hernandez Samaniego wrote:
> Hey Mingly Yu,
> 
> On 5/19/20 12:43 AM, Yu, Mingli wrote:
>> Hi Alejandro,
>>
>>
>> On 2020/5/19 下午3:22, Alejandro Hernandez Samaniego wrote:
>>> Hello,
>>>
>>> The more I look into this, the more I realize its incorrect.
>>
>> Understood your concern.
>>
>>>
>>>
>>> On 5/18/20 8:36 AM, Alejandro Hernandez wrote:
>>>>
>>>> Hello Mingli,
>>>>
>>>> Did you happen to run the create_manifest task after modifying the 
>>>> manifest to make sure that runtime dependencies are still valid?
>>>>
>>>>
>>>> Thanks
>>>>
>>>> Alejandro
>>>>
>>>> On 5/18/20 12:32 AM, Yu, Mingli wrote:
>>>>> From: Mingli Yu<mingli.yu@windriver.com>
>>>>>
>>>>> Add pydoc and urllib to core to fix below error:
>>>>>   # python3
>>>>>   >>> help()
>>>>>   Traceback (most recent call last):
>>>>>   File "<stdin>", line 1, in <module>
>>>>>   File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
>>>>>   import pydoc
>>>>>   ModuleNotFoundError: No module named 'pydoc'
>>>>>   File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
>>>>>   import urllib.parse
>>>>>   ModuleNotFoundError: No module named 'urllib'
>>>
>>> Why would pydoc be required to run python? or urllib in any case?
>>
>>
>> It's better make the python3-core more lightweight.
>>
>> But in a system which didn't install other python modules but just 
>> python3-core, then we type help() as below and the help cannot show 
>> normally. So add the needed pydoc and urllib file to make the help() 
>> works.
>>
>>  # python3
>>  >>> help()
>>  Traceback (most recent call last):
>>  File "<stdin>", line 1, in <module>
>>  File "/usr/lib64/python3.8/sitebuiltins.py", line 102, in __call_
>>  import pydoc
>>  ModuleNotFoundError: No module named 'pydoc'
>>  File "/usr/lib64/python3.8/pydoc.py", line 72, in <module>
>>  import urllib.parse
>>  ModuleNotFoundError: No module named 'urllib'
>>
>>
>> After pydoc and urllib added and also just install python3-core and no 
>> additional python3 modules installed.
>>
>> # python3
>> Python 3.8.2 (default, May 18 2020, 07:15:10)
>> [GCC 9.3.0] on linux
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> help()
>> Welcome to Python 3.8's help utility!
>>
>> If this is your first time using Python, you should definitely check out
>> the tutorial on the Internet at https://docs.python.org/3.8/tutorial/.
>>
>> Enter the name of any module, keyword, or topic to get help on writing
>> Python programs and using Python modules.  To quit this help utility and
>> return to the interpreter, just type "quit".
>>
>> To get a list of available modules, keywords, symbols, or topics, type
>> "modules", "keywords", "symbols", or "topics".  Each module also comes
>> with a one-line summary of what it does; to list the modules whose name
>> or summary contain a given string such as "spam", type "modules spam".
>> help>
>>
>>
>> Thanks,
>>
> I still believe python3-core should be left as small as possible, the use case
> of an embedded device calling help() is probably seldom, IMO that fits more in
> the workflow of installing the netlib and pydoc modules for that specific usecase.
> 
> It also looks like simply installing python3-pydoc would do what you want, since

Install python3-pydoc indeed solves the problem, but does it mean 
python3-core depends on python3-pydoc?

Though the use case to type help() is seldom, but help() is much useful 
and I just add as less as possible files to let help() works.(add urllib 
files in as pydoc depends on it).

Thanks,

> the error to load urllib is coming out of loading pydoc itself and the manifest
> does specify the dependency from pydoc to netclient.
> 
> Cheers,
> 
> Alejandro
> 
> 
>>>
>>> I believe there is a discrepancy between what python3-core does and 
>>> what you believe it should do.
>>> python3-core is the smallest possible package to get a working 
>>> python3 interpreter, if you install python3-core
>>> thats what you get, if you need more modules then you install more 
>>> modules, e.g. python3-pydoc, python3-netlib,
>>> this way it allows us to keep installation size at minimum.
>>>
>>> If what you want is to get a fully working python3 interpreter, 
>>> without adding any new packages to the installation,
>>> then you need to install the python3 package (no core), this will in 
>>> fact install python3-modules which contains
>>> all the modules, including python3-pydoc and python3-neclient which 
>>> is the one that provides urllib.
>>>
>>> Cheers,
>>>
>>> Alejandro
>>>
>>>>> Signed-off-by: Mingli Yu<mingli.yu@windriver.com>
>>>>> ---
>>>>>   .../python/python3/python3-manifest.json      | 24 
>>>>> +++++--------------
>>>>>   meta/recipes-devtools/python/python3_3.8.2.bb |  3 +--
>>>>>   2 files changed, 7 insertions(+), 20 deletions(-)
>>>>>
>>>>> diff --git 
>>>>> a/meta/recipes-devtools/python/python3/python3-manifest.json 
>>>>> b/meta/recipes-devtools/python/python3/python3-manifest.json
>>>>> index 3bcc9b8662..808eadb8f6 100644
>>>>> --- a/meta/recipes-devtools/python/python3/python3-manifest.json
>>>>> +++ b/meta/recipes-devtools/python/python3/python3-manifest.json
>>>>> @@ -203,6 +203,7 @@
>>>>>               "${bindir}/python${PYTHON_MAJMIN}",
>>>>>               "${bindir}/python${PYTHON_MAJMIN}.real",
>>>>>               "${bindir}/python3",
>>>>> +            "${bindir}/pydoc*",
>>>>> "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
>>>>> @@ -289,6 +290,7 @@
>>>>>               "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/platform.py",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
>>>>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>>>>>               "${libdir}/python${PYTHON_MAJMIN}/re.py",
>>>>>               "${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
>>>>> @@ -313,8 +315,11 @@
>>>>> "${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
>>>>>               "${libdir}/python${PYTHON_MAJMIN}/types.py",
>>>>> +            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>>>>> + "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
>>>>>               "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
>>>>> +            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data",
>>>>> "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
>>>>>           ],
>>>>>           "cached": [
>>>>> @@ -363,6 +368,7 @@
>>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
>>>>> + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
>>>>> @@ -798,7 +804,6 @@
>>>>>               "plistlib",
>>>>>               "pprint",
>>>>>               "profile",
>>>>> -            "pydoc",
>>>>>               "resource",
>>>>>               "shell",
>>>>>               "smtpd",
>>>>> @@ -857,8 +862,6 @@
>>>>>               "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
>>>>>               "${libdir}/python${PYTHON_MAJMIN}/smtplib.py",
>>>>> "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py",
>>>>> -            "${libdir}/python${PYTHON_MAJMIN}/urllib",
>>>>> - "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
>>>>>               "${libdir}/python${PYTHON_MAJMIN}/uuid.py"
>>>>>           ],
>>>>>           "cached": [
>>>>> @@ -989,21 +992,6 @@
>>>>> "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
>>>>>           ]
>>>>>       },
>>>>> -    "pydoc": {
>>>>> -        "summary": "Python interactive help support",
>>>>> -        "rdepends": [
>>>>> -            "core",
>>>>> -            "netclient"
>>>>> -        ],
>>>>> -        "files": [
>>>>> -            "${bindir}/pydoc*",
>>>>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
>>>>> -            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data"
>>>>> -        ],
>>>>> -        "cached": [
>>>>> - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc"
>>>>> -        ]
>>>>> -    },
>>>>>       "resource": {
>>>>>           "summary": "Python resource control interface",
>>>>>           "rdepends": [
>>>>> diff --git a/meta/recipes-devtools/python/python3_3.8.2.bb 
>>>>> b/meta/recipes-devtools/python/python3_3.8.2.bb
>>>>> index a4a16fd495..36aa54ba6c 100644
>>>>> --- a/meta/recipes-devtools/python/python3_3.8.2.bb
>>>>> +++ b/meta/recipes-devtools/python/python3_3.8.2.bb
>>>>> @@ -318,7 +318,6 @@ RRECOMMENDS_${PN}-crypt_append_class-nativesdk 
>>>>> = " openssl ca-certificates"
>>>>>   FILES_${PN} = ""
>>>>>   RPROVIDES_${PN}-modules = "${PN}"
>>>>>   -FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} 
>>>>> ${bindir}/pydoc3"
>>>>>   FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
>>>>>     # provide python-pyvenv from python3-venv
>>>>> @@ -332,7 +331,7 @@ INSANE_SKIP_${PN}-dev += "dev-elf"
>>>>>     # catch all the rest (unsorted)
>>>>>   PACKAGES += "${PN}-misc"
>>>>> -RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs 
>>>>> python3-pydoc python3-pickle python3-audio"
>>>>> +RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs 
>>>>> python3-pickle python3-audio"
>>>>>   RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
>>>>>   RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
>>>>>   FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} 
>>>>> ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
>>>>>
>>>>
>>>>
>>
>> 

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

* Re: [OE-core] [PATCH] python3: add pydoc and urllib to core
  2020-05-19  7:51       ` Alejandro Hernandez
  2020-05-19  8:22         ` Yu, Mingli
@ 2020-05-19  9:47         ` Richard Purdie
  1 sibling, 0 replies; 8+ messages in thread
From: Richard Purdie @ 2020-05-19  9:47 UTC (permalink / raw)
  To: Alejandro Hernandez, Yu, Mingli, openembedded-core

On Tue, 2020-05-19 at 00:51 -0700, Alejandro Hernandez wrote:
> 
> I still believe python3-core should be left as small as possible, the
> use case
> of an embedded device calling help() is probably seldom, IMO that
> fits more in
> the workflow of installing the netlib and pydoc modules for that
> specific usecase.
> It also looks like simply installing python3-pydoc would do what you
> want, since
> the error to load urllib is coming out of loading pydoc itself and
> the manifest
> does specify the dependency from pydoc to netclient.

I have to agree with Alejandro here, whilst help() not working is not
ideal, we are targetting "embedded" systems where something like this
is not unreasonable for the size gain.

Does anyone have any size information about the implications of this?
I'd guess there could be quite a chain of modules that could end up
installed with this change.

If you don't like the import error, we could just patch it to say
"Sorry, pydoc not installed".

Cheers,

Richard


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

end of thread, other threads:[~2020-05-19  9:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-18  7:32 [PATCH] python3: add pydoc and urllib to core Yu, Mingli
2020-05-18 15:36 ` [OE-core] " Alejandro Hernandez
2020-05-19  6:23   ` Yu, Mingli
     [not found] ` <1610296324895336.31912@lists.openembedded.org>
2020-05-19  7:22   ` Alejandro Hernandez
2020-05-19  7:43     ` Yu, Mingli
2020-05-19  7:51       ` Alejandro Hernandez
2020-05-19  8:22         ` Yu, Mingli
2020-05-19  9:47         ` Richard Purdie

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.