Hains and you should have access now, I've send an invitation to Nautilus7.
Thanks!
Posted 25 January 2022 - 19:47
Edited by Huevos, 25 January 2022 - 19:51.
Posted 26 January 2022 - 02:36
I am using the OpenViX image after the OE-Alliance change. Compiled pyc in the legacy location. No source py files present. OE is Honister and Python version is 3.9.7. The py file compiles to pycache, not overwrites the pyc in the legacy location.
e.g. add ./Screens/MessageBox.py and pyc appears in ./Screens/pycache/MessageBox-Python-3.9.7.pyc
Edited by Huevos, 26 January 2022 - 02:55.
Posted 26 January 2022 - 13:30
That's why I asked what image are you testing.
Obviously the PLi-OE is not OE-A-OE.
OE-A currently applied only the quick and dirty hack to compile py files into their legacy names and locations.
On the other hand, for PLi-OE the whole imporlib pached to support legacy names and locations, without the "compileall" hack.
Posted 26 January 2022 - 14:43
That's why I asked what image are you testing.
Obviously the PLi-OE is not OE-A-OE.
OE-A currently applied only the quick and dirty hack to compile py files into their legacy names and locations.
On the other hand, for PLi-OE the whole imporlib pached to support legacy names and locations, without the "compileall" hack.
Maybe what I am saying is not clear.
PLI-OE and current OE-A-OE both precompile .pyc to the legacy location.
But if you send a .py to the box the new compiled pyc will appear in pycache.
The original pyc in the legacy location will remain without modification.
This behaviour is nothing to do with the build process or OE version... it is happening on the STB.
Posted 26 January 2022 - 16:17
PLI-OE and current OE-A-OE both precompile .pyc to the legacy location.
But if you send a .py to the box the new compiled pyc will appear in pycache.
The original pyc in the legacy location will remain without modification.
This behaviour is nothing to do with the build process or OE version... it is happening on the STB.
Posted 26 January 2022 - 18:19
Damn, I don't understand the patch.
https://github.com/O...09d99e333254e28
What are the relevant lines there?
Posted 26 January 2022 - 19:08
Only "ALTERNATIVE" is optional, it will make scripts using /usr/bin/env python to work without having to specifically define python3.
Posted 26 January 2022 - 19:56
The change in Lib/importlib/_bootstrap_external.py and the resulting importlib.h produced from change in previous .py file.
Posted 27 January 2022 - 15:39
diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py index fe31f43..6ce18db 100644 --- a/Lib/importlib/_bootstrap_external.py +++ b/Lib/importlib/_bootstrap_external.py @@ -389,13 +389,13 @@ def cache_from_source(path, debug_override=None, *, optimization=None): tag = sys.implementation.cache_tag if tag is None: raise NotImplementedError('sys.implementation.cache_tag is None') - almost_filename = ''.join([(base if base else rest), sep, tag]) + almost_filename = ''.join([(base if base else rest)]) if optimization is None: if sys.flags.optimize == 0: optimization = '' else: optimization = sys.flags.optimize - optimization = str(optimization) + optimization = '' if optimization != '': if not optimization.isalnum(): raise ValueError('{!r} is not alphanumeric'.format(optimization)) @@ -426,7 +426,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None): head.lstrip(path_separators), filename, ) - return _path_join(head, _PYCACHE, filename) + return _path_join(head, filename) def source_from_cache(path):
So, I added that.
Then I ran:
bitbake -c clean python3 bitbake -c patch python3
Then I checked:
./tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/python3/python3-3.9.7-r0/Python-3.9.7/Lib/importlib/_bootstrap_external.py
It now looks like this:
def cache_from_source(path, debug_override=None, *, optimization=None): """Given the path to a .py file, return the path to its .pyc file. The .py file does not need to exist; this simply returns the path to the .pyc file calculated as if the .py file were imported. The 'optimization' parameter controls the presumed optimization level of the bytecode file. If 'optimization' is not None, the string representation of the argument is taken and verified to be alphanumeric (else ValueError is raised). The debug_override parameter is deprecated. If debug_override is not None, a True value is the same as setting 'optimization' to the empty string while a False value is equivalent to setting 'optimization' to '1'. If sys.implementation.cache_tag is None then NotImplementedError is raised. """ if debug_override is not None: _warnings.warn('the debug_override parameter is deprecated; use ' "'optimization' instead", DeprecationWarning) if optimization is not None: message = 'debug_override or optimization must be set to None' raise TypeError(message) optimization = '' if debug_override else 1 path = _os.fspath(path) head, tail = _path_split(path) base, sep, rest = tail.rpartition('.') tag = sys.implementation.cache_tag if tag is None: raise NotImplementedError('sys.implementation.cache_tag is None') almost_filename = ''.join([(base if base else rest)]) if optimization is None: if sys.flags.optimize == 0: optimization = '' else: optimization = sys.flags.optimize optimization = '' if optimization != '': if not optimization.isalnum(): raise ValueError('{!r} is not alphanumeric'.format(optimization)) almost_filename = '{}.{}{}'.format(almost_filename, _OPT, optimization) filename = almost_filename + BYTECODE_SUFFIXES[0] if sys.pycache_prefix is not None: # We need an absolute path to the py file to avoid the possibility of # collisions within sys.pycache_prefix, if someone has two different # `foo/bar.py` on their system and they import both of them using the # same sys.pycache_prefix. Let's say sys.pycache_prefix is # `C:\Bytecode`; the idea here is that if we get `Foo\Bar`, we first # make it absolute (`C:\Somewhere\Foo\Bar`), then make it root-relative # (`Somewhere\Foo\Bar`), so we end up placing the bytecode file in an # unambiguous `C:\Bytecode\Somewhere\Foo\Bar\`. if not _path_isabs(head): head = _path_join(_os.getcwd(), head) # Strip initial drive from a Windows path. We know we have an absolute # path here, so the second part of the check rules out a POSIX path that # happens to contain a colon at the second character. if head[1] == ':' and head[0] not in path_separators: head = head[2:] # Strip initial path separator from `head` to complete the conversion # back to a root-relative path before joining. return _path_join( sys.pycache_prefix, head.lstrip(path_separators), filename, ) return _path_join(head, filename)
So I complete the build and flash the image to the STB and py files compiled on the box still end up in pycache. What is going wrong?
Posted 28 January 2022 - 12:09
You missed the importlib.h patch.
So I just need these two?:
diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py diff --git a/Python/importlib.h b/Python/importlib.h
If so, it still does not work. It compiles to PEP-3147 location, not legacy.
Edited by Huevos, 28 January 2022 - 12:17.
Posted 28 January 2022 - 17:00
I've tried adding:
diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py diff --git a/Python/importlib.h b/Python/importlib.h diff --git a/Python/importlib_external.h b/Python/importlib_external.h
But that causes the build to fail:
| rm -r /home/openvix/5.6/builds/openvix/Py3/vuultimo4k/tmp/work/x86_64-linux/python3-native/python3-native-3.9.7-r0/image/home/openvix/5.6/builds/openvix/Py3/vuultimo4k/tmp/work/x86_64-linux/python3-native/python3-native-3.9.7-r0/recipe-sysroot-native/usr/lib/python3.9/lib-dynload/__pycache__ | rm: cannot remove '/home/openvix/5.6/builds/openvix/Py3/vuultimo4k/tmp/work/x86_64-linux/python3-native/python3-native-3.9.7-r0/image/home/openvix/5.6/builds/openvix/Py3/vuultimo4k/tmp/work/x86_64-linux/python3-native/python3-native-3.9.7-r0/recipe-sysroot-native/usr/lib/python3.9/lib-dynload/__pycache__': No such file or directory | make: [Makefile:1707: sharedinstall] Error 1 (ignored)
Posted 28 January 2022 - 20:24
Maybe it's just me.For some reason the openwebif plugin is not working.The folder is there but there are no files *.pyc in it.
root@osmio4k:~# opkg files enigma2-plugin-extensions-openwebif | grep .pyc$ /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgsearch.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/mediaplayeradd.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/timers.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgbouquet.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/index.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/edittimer.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/movies.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/OWFMovieList.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/renderevtblock.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/bqe.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/getcurrent.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/getipv6.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/current.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/removelocation.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/satfinder.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/epgr.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/movielistm3u.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/stream.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/getpid.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/providers.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgmulti.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/wol.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/AT.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/main.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/screenshot.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/mediaplayerwrite.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/at.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/owibranding.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/config.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/timers.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/movierename.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/about.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/mediaplayerremove.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/movies.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/timerlist.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/event.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/eventdescription.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/head.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/mediaplayercurrent.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/mediaplayer.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/config.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/getallservices.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/plugin.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/stream.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/__init__.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/getservices.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgservicenext.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/mobile.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/subservices.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/radio.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/bouqueteditor/web/getprotectionsettings.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/messageanswer.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/moviemove.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/movies.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/providers.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/defaults.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/index.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/tvradio.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/volume.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/satfinder.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/timerchange.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/editmovie.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/powerstate.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/currenttime.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/web.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/getaudiotracks.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/movielist.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/bouqueteditor/web/getservices.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/index.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgsimilar.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/main.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/boxinfo.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/css.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/timercleanup.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/message.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/remotecontrol.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/webtv.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/powerstate.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/timeraddbyeventid.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/locations.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/config.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/grab.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/control.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/message.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/epgdialog.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/tv.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/movies.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/boxinfo.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/satellites.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/external.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/restarttwisted.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/vtiaddon.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgservice.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgnow.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/vol.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgnext.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/epgpop.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/saveepg.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/zap.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/services.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/info.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/bqe.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/moviedetails.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/timerlistwrite.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/ER.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/BQE.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/channels.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/epgdialog.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/getcurrlocation.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/servicelist.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/about.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/myepg.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/plugins.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/movietags.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/channels.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/bouquets.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/timertogglestatus.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/tunersignal.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/base.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/powerstate.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/timerdelete.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/servicelistplayable.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/bouquets.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/channelinfo.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/channels.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/parentcontrollist.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/pluginlistread.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/webtv.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgnownext.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/ajax.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/satellites.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/screenshot.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/message.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgsearchrss.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/bouquets.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/moviedelete.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/renderevtblock.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/__init__.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/mediaplayerlist.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/multiepg.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/recordnow.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/at.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/bouquets.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgservicenow.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/remote.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/selectaudiotrack.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/multiepg.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/mediaplayerfindfile.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/transcoding.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/about.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/eventview.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/__init__.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/rest.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/streamsubservices.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/serviceplayable.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/loadepg.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/movielisthtml.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/epgr.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/settings.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/__init__.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/epgxmltv.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/moviesearch.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/control.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/NET.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/about.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/BouquetEditor.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/audiotrack.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/settings.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/mediaplayercmd.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/__init__.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/getlocations.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/screenshot.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/servicelistreload.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/__init__.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/movielistrss.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/file.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/backport/OrderedDict.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/__init__.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/addlocation.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/settings.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/utilities.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/__init__.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/deviceinfo.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/mediaplayerplay.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/backport/__init__.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/httpserver.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/edittimer.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/timeradd.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/tv.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/i18n.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/ipkg.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/servicesxspf.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/event.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/mediaplayerload.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/mobile/timerlist.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/timers.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/responsive/ajax/terminal.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/eventdescription.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/tvbrowser.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/gettags.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/radio.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/servicesm3u.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/root.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/web/sleeptimer.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/terminal.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/sslcertificate.pyc /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/ajax/current.pyc
No problem here.
Posted 28 January 2022 - 20:38
You missed the importlib.h patch.
So I just need these two?:
diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py diff --git a/Python/importlib.h b/Python/importlib.hIf so, it still does not work. It compiles to PEP-3147 location, not legacy.
How exactly are you applying the patch?
Just adding the patch with .bbappend on OE-A is not working?
If patch doesn't apply, you need to recreate it, for your OE-A version.
Apply the patches on Python (only the python changes, not the header) and then use "make regen-importlib" to create header.
Create a patch from the new generated header files (they include byte-code from importlib freezed into header files).
Use above patch and compile an image with new patched python.
That's all.
Posted 28 January 2022 - 21:50
How exactly are you applying the patch?
Just adding the patch with .bbappend on OE-A is not working?
If patch doesn't apply, you need to recreate it, for your OE-A version.
So here: https://github.com/o..._3.9.%.bbappend
I add:
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += "file://importlib.patch"
Patch file is your patch file from line 1 to line 1660: https://github.com/O...09d99e333254e28
bitbake -c patch python3
That runs clean. No complaining. No fuzz.
Apply the patches on Python (only the python changes, not the header) and then use "make regen-importlib" to create header.
Create a patch from the new generated header files (they include byte-code from importlib freezed into header files).
Use above patch and compile an image with new patched python.
I don't understand this bit.
0 members, 1 guests, 0 anonymous users