Em Thu, 24 Apr 2025 15:26:48 +0800 Mauro Carvalho Chehab <mchehab+hua...@kernel.org> escreveu:
> Em Thu, 24 Apr 2025 11:07:05 +0900 > Akira Yokosawa <aki...@gmail.com> escreveu: > > > On Wed, 23 Apr 2025 19:31:36 +0300, Andy Shevchenko wrote: > > > On Wed, Apr 23, 2025 at 06:30:48PM +0900, Akira Yokosawa wrote: > > >> On Tue, 22 Apr 2025 10:57:33 +0300, Andy Shevchenko wrote: > > >>> On Mon, Apr 21, 2025 at 10:35:29AM -0600, Jonathan Corbet wrote: > > >>>> Dmitry Baryshkov <dmitry.barysh...@oss.qualcomm.com> writes: > > > > > > [...] > > > > > >>>>> Would it be possible to properly support O= and create pyc / pycache > > >>>>> inside the object/output dir? > > >>>> > > >>>> I have to confess, I've been wondering if we should be treating the > > >>>> .pyc > > >>>> files like we treat .o files or other intermediate products. Rather > > >>>> than trying to avoid their creation entirely, perhaps we should just be > > >>>> sure they end up in the right place and are properly cleaned up...? > > >>>> > > >>>> To answer Dmitry's question, it seems that setting PYTHONPYCACHEPREFIX > > >>>> should do the trick? > > >>> > > >>> It's not so easy. The Python is written in a way that it thinks it will > > >>> never > > >>> runs object files separately from the source. Hence that variable sets > > >>> only > > >>> the folder per script as _home_ for the cache. It's completely > > >>> unusable. They > > >>> took it wrong. It still can be _painfully_ used, but it will make > > >>> Makefiles > > >>> uglier. > > >> > > >> But, PYTHONPYCACHEPREFIX can be set as an environment variable. > > >> > > >> For example, try: > > >> > > >> export PYTHONPYCACHEPREFIX="$HOME/.cache/__pycache__" > > >> > > >> Wouldn't it be good enough for you? > > > > > > Of course not. We have _many_ scripts in python in kernel and having a > > > cache > > > there for _all_ of them is simply WRONG. You never know what clashes can > > > be > > > there with two complicated enough scripts which may have same module > > > names, > > > etc. > > > > > > > Interesting... > > > > I'm suspecting you replied without having tried the setting... > > > > FYI, this is an excerpt from list of .pyc files under __pycache__ after > > building defconfig kernel and "make htmldocs"; and running > > > > $ find . -name *.pyc" -print" under ~/.cache/__pycache__ > > --------------------------------------------------------------------- > > ./home/.../git/linux/scripts/lib/kdoc/kdoc_files.cpython-312.pyc > > ./home/.../git/linux/scripts/lib/kdoc/kdoc_parser.cpython-312.pyc > > ./home/.../git/linux/scripts/lib/kdoc/kdoc_re.cpython-312.pyc > > ./home/.../git/linux/scripts/lib/kdoc/kdoc_output.cpython-312.pyc > > [...] > > ./usr/lib/python3.12/xml/__init__.cpython-312.pyc > > ./usr/lib/python3.12/xml/parsers/expat.cpython-312.pyc > > ./usr/lib/python3.12/xml/parsers/__init__.cpython-312.pyc > > ./usr/lib/python3.12/xml/etree/ElementPath.cpython-312.pyc > > ./usr/lib/python3.12/xml/etree/__init__.cpython-312.pyc > > ./usr/lib/python3.12/xml/etree/cElementTree.cpython-312.pyc > > ./usr/lib/python3.12/xml/etree/ElementTree.cpython-312.pyc > > ./usr/lib/python3.12/mimetypes.cpython-312.pyc > > [...] > > ./usr/lib/python3/dist-packages/sphinx/deprecation.cpython-312.pyc > > ./usr/lib/python3/dist-packages/sphinx/highlighting.cpython-312.pyc > > ./usr/lib/python3/dist-packages/sphinx/pycode/ast.cpython-312.pyc > > ./usr/lib/python3/dist-packages/sphinx/pycode/__init__.cpython-312.pyc > > ./usr/lib/python3/dist-packages/sphinx/pycode/parser.cpython-312.pyc > > ./usr/lib/python3/dist-packages/sphinx/config.cpython-312.pyc > > [...] > > ./home/.../sphinx-WIP/lib/python3.12/site-packages/sphinx/deprecation.cpython-312.pyc > > ./home/.../sphinx-WIP/lib/python3.12/site-packages/sphinx/highlighting.cpython-312.pyc > > ./home/.../sphinx-WIP/lib/python3.12/site-packages/sphinx/pycode/ast.cpython-312.pyc > > ./home/.../sphinx-WIP/lib/python3.12/site-packages/sphinx/pycode/__init__.cpython-312.pyc > > ./home/.../sphinx-WIP/lib/python3.12/site-packages/sphinx/pycode/parser.cpython-312.pyc > > ./home/.../sphinx-WIP/lib/python3.12/site-packages/sphinx/config.cpython-312.pyc > > [...] > > ------------------------------------------------------------------------- > > > > As you see, each of them are stored at a path corresponding to its original > > .py file. The final part of the excerpt came from me running in-development > > Sphinx in a python venv with the same PYTHONPYCACHEPREFIX setting. > > > > I don't see any possibility of clashes as you mentioned above, > > I didn't test it, but it sounds good enough for me. Could you please send > us a patch on the top of: > > > https://lore.kernel.org/linux-doc/cover.1745453655.git.mchehab+hua...@kernel.org/T/#t > > for us to test it? The idea is to set PYTHONPYCACHEPREFIX only when O= > is used. Heh, I did a quick test here with Sphinx build. It Worked! Patch is after my patch series, and it is just for Sphinx build. We need something similar for the other places where the script is used. Regards, Mauro --- [PATCH] docs: Makefile: store __pycache__ at the output directory Instead of blocking creation of *.pyc cache, store python cache under Documentation/output/__pycache__ Documentation/output/__pycache__/ ├── new_devel │ └── v4l │ └── docs │ ├── Documentation │ │ └── sphinx │ │ ├── automarkup.cpython-313.pyc │ │ ├── kernel_abi.cpython-313.pyc │ │ ├── kerneldoc.cpython-313.pyc │ │ ├── kernel_feat.cpython-313.pyc │ │ ├── kernel_include.cpython-313.pyc │ │ ├── kfigure.cpython-313.pyc │ │ ├── load_config.cpython-313.pyc │ │ ├── maintainers_include.cpython-313.pyc │ │ ├── rstFlatTable.cpython-313.pyc │ │ └── translations.cpython-313.pyc │ └── scripts │ └── lib │ ├── abi │ │ ├── abi_parser.cpython-313.pyc │ │ └── helpers.cpython-313.pyc │ └── kdoc │ ├── kdoc_files.cpython-313.pyc │ ├── kdoc_output.cpython-313.pyc │ ├── kdoc_parser.cpython-313.pyc │ └── kdoc_re.cpython-313.pyc └── usr ├── lib │ └── python3.13 │ └── site-packages │ ├── abrt_exception_handler3.cpython-313.pyc │ ├── alabaster │ │ └── __init__.cpython-313.pyc │ ├── babel │ │ ├── core.cpython-313.pyc │ │ ├── dates.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── localedata.cpython-313.pyc │ │ ├── localtime │ │ │ ├── _fallback.cpython-313.pyc │ │ │ ├── _helpers.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ └── _unix.cpython-313.pyc │ │ ├── messages │ │ │ ├── catalog.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── mofile.cpython-313.pyc │ │ │ ├── plurals.cpython-313.pyc │ │ │ └── pofile.cpython-313.pyc │ │ ├── plural.cpython-313.pyc │ │ └── util.cpython-313.pyc │ ├── chardet │ │ ├── big5freq.cpython-313.pyc │ │ ├── big5prober.cpython-313.pyc │ │ ├── chardistribution.cpython-313.pyc │ │ ├── charsetgroupprober.cpython-313.pyc │ │ ├── charsetprober.cpython-313.pyc │ │ ├── codingstatemachine.cpython-313.pyc │ │ ├── codingstatemachinedict.cpython-313.pyc │ │ ├── cp949prober.cpython-313.pyc │ │ ├── enums.cpython-313.pyc │ │ ├── escprober.cpython-313.pyc │ │ ├── escsm.cpython-313.pyc │ │ ├── eucjpprober.cpython-313.pyc │ │ ├── euckrfreq.cpython-313.pyc │ │ ├── euckrprober.cpython-313.pyc │ │ ├── euctwfreq.cpython-313.pyc │ │ ├── euctwprober.cpython-313.pyc │ │ ├── gb2312freq.cpython-313.pyc │ │ ├── gb2312prober.cpython-313.pyc │ │ ├── hebrewprober.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── jisfreq.cpython-313.pyc │ │ ├── johabfreq.cpython-313.pyc │ │ ├── johabprober.cpython-313.pyc │ │ ├── jpcntx.cpython-313.pyc │ │ ├── langbulgarianmodel.cpython-313.pyc │ │ ├── langgreekmodel.cpython-313.pyc │ │ ├── langhebrewmodel.cpython-313.pyc │ │ ├── langrussianmodel.cpython-313.pyc │ │ ├── langthaimodel.cpython-313.pyc │ │ ├── langturkishmodel.cpython-313.pyc │ │ ├── latin1prober.cpython-313.pyc │ │ ├── macromanprober.cpython-313.pyc │ │ ├── mbcharsetprober.cpython-313.pyc │ │ ├── mbcsgroupprober.cpython-313.pyc │ │ ├── mbcssm.cpython-313.pyc │ │ ├── resultdict.cpython-313.pyc │ │ ├── sbcharsetprober.cpython-313.pyc │ │ ├── sbcsgroupprober.cpython-313.pyc │ │ ├── sjisprober.cpython-313.pyc │ │ ├── universaldetector.cpython-313.pyc │ │ ├── utf1632prober.cpython-313.pyc │ │ ├── utf8prober.cpython-313.pyc │ │ └── version.cpython-313.pyc │ ├── charset_normalizer │ │ ├── api.cpython-313.pyc │ │ ├── cd.cpython-313.pyc │ │ ├── constant.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── legacy.cpython-313.pyc │ │ ├── md.cpython-313.pyc │ │ ├── models.cpython-313.pyc │ │ ├── utils.cpython-313.pyc │ │ └── version.cpython-313.pyc │ ├── defusedxml │ │ ├── common.cpython-313.pyc │ │ ├── ElementTree.cpython-313.pyc │ │ └── __init__.cpython-313.pyc │ ├── _distutils_hack │ │ └── __init__.cpython-313.pyc │ ├── docutils │ │ ├── core.cpython-313.pyc │ │ ├── frontend.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── io.cpython-313.pyc │ │ ├── languages │ │ │ ├── en.cpython-313.pyc │ │ │ └── __init__.cpython-313.pyc │ │ ├── nodes.cpython-313.pyc │ │ ├── parsers │ │ │ ├── __init__.cpython-313.pyc │ │ │ └── rst │ │ │ ├── directives │ │ │ │ ├── admonitions.cpython-313.pyc │ │ │ │ ├── body.cpython-313.pyc │ │ │ │ ├── images.cpython-313.pyc │ │ │ │ ├── __init__.cpython-313.pyc │ │ │ │ ├── misc.cpython-313.pyc │ │ │ │ ├── parts.cpython-313.pyc │ │ │ │ └── tables.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── languages │ │ │ │ ├── en.cpython-313.pyc │ │ │ │ └── __init__.cpython-313.pyc │ │ │ ├── roles.cpython-313.pyc │ │ │ ├── states.cpython-313.pyc │ │ │ └── tableparser.cpython-313.pyc │ │ ├── readers │ │ │ ├── doctree.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ └── standalone.cpython-313.pyc │ │ ├── statemachine.cpython-313.pyc │ │ ├── transforms │ │ │ ├── frontmatter.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── misc.cpython-313.pyc │ │ │ ├── parts.cpython-313.pyc │ │ │ ├── references.cpython-313.pyc │ │ │ ├── universal.cpython-313.pyc │ │ │ └── writer_aux.cpython-313.pyc │ │ ├── utils │ │ │ ├── code_analyzer.cpython-313.pyc │ │ │ ├── error_reporting.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── math │ │ │ │ ├── __init__.cpython-313.pyc │ │ │ │ ├── latex2mathml.cpython-313.pyc │ │ │ │ ├── math2html.cpython-313.pyc │ │ │ │ ├── tex2mathml_extern.cpython-313.pyc │ │ │ │ ├── tex2unichar.cpython-313.pyc │ │ │ │ └── unichar2tex.cpython-313.pyc │ │ │ ├── punctuation_chars.cpython-313.pyc │ │ │ ├── roman.cpython-313.pyc │ │ │ ├── smartquotes.cpython-313.pyc │ │ │ └── urischemes.cpython-313.pyc │ │ └── writers │ │ ├── docutils_xml.cpython-313.pyc │ │ ├── html4css1 │ │ │ └── __init__.cpython-313.pyc │ │ ├── html5_polyglot │ │ │ └── __init__.cpython-313.pyc │ │ ├── _html_base.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── latex2e │ │ │ └── __init__.cpython-313.pyc │ │ └── manpage.cpython-313.pyc │ ├── idna │ │ ├── core.cpython-313.pyc │ │ ├── idnadata.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── intranges.cpython-313.pyc │ │ └── package_data.cpython-313.pyc │ ├── imagesize │ │ ├── imagesize.cpython-313.pyc │ │ └── __init__.cpython-313.pyc │ ├── jinja2 │ │ ├── async_utils.cpython-313.pyc │ │ ├── bccache.cpython-313.pyc │ │ ├── compiler.cpython-313.pyc │ │ ├── defaults.cpython-313.pyc │ │ ├── environment.cpython-313.pyc │ │ ├── exceptions.cpython-313.pyc │ │ ├── ext.cpython-313.pyc │ │ ├── filters.cpython-313.pyc │ │ ├── _identifier.cpython-313.pyc │ │ ├── idtracking.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── lexer.cpython-313.pyc │ │ ├── loaders.cpython-313.pyc │ │ ├── nodes.cpython-313.pyc │ │ ├── optimizer.cpython-313.pyc │ │ ├── parser.cpython-313.pyc │ │ ├── runtime.cpython-313.pyc │ │ ├── sandbox.cpython-313.pyc │ │ ├── tests.cpython-313.pyc │ │ ├── utils.cpython-313.pyc │ │ └── visitor.cpython-313.pyc │ ├── packaging │ │ ├── _elffile.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── _manylinux.cpython-313.pyc │ │ ├── _musllinux.cpython-313.pyc │ │ ├── specifiers.cpython-313.pyc │ │ ├── _structures.cpython-313.pyc │ │ ├── tags.cpython-313.pyc │ │ ├── utils.cpython-313.pyc │ │ └── version.cpython-313.pyc │ ├── pygments │ │ ├── filter.cpython-313.pyc │ │ ├── filters │ │ │ └── __init__.cpython-313.pyc │ │ ├── formatter.cpython-313.pyc │ │ ├── formatters │ │ │ ├── html.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── latex.cpython-313.pyc │ │ │ └── _mapping.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── lexer.cpython-313.pyc │ │ ├── lexers │ │ │ ├── c_cpp.cpython-313.pyc │ │ │ ├── _css_builtins.cpython-313.pyc │ │ │ ├── css.cpython-313.pyc │ │ │ ├── data.cpython-313.pyc │ │ │ ├── html.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── javascript.cpython-313.pyc │ │ │ ├── jvm.cpython-313.pyc │ │ │ ├── _lilypond_builtins.cpython-313.pyc │ │ │ ├── lilypond.cpython-313.pyc │ │ │ ├── lisp.cpython-313.pyc │ │ │ ├── _mapping.cpython-313.pyc │ │ │ ├── markup.cpython-313.pyc │ │ │ ├── python.cpython-313.pyc │ │ │ ├── ruby.cpython-313.pyc │ │ │ ├── _scheme_builtins.cpython-313.pyc │ │ │ └── special.cpython-313.pyc │ │ ├── modeline.cpython-313.pyc │ │ ├── plugin.cpython-313.pyc │ │ ├── regexopt.cpython-313.pyc │ │ ├── style.cpython-313.pyc │ │ ├── styles │ │ │ ├── friendly.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ └── _mapping.cpython-313.pyc │ │ ├── token.cpython-313.pyc │ │ ├── unistring.cpython-313.pyc │ │ └── util.cpython-313.pyc │ ├── pytz │ │ ├── exceptions.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── lazy.cpython-313.pyc │ │ ├── tzfile.cpython-313.pyc │ │ └── tzinfo.cpython-313.pyc │ ├── requests │ │ ├── adapters.cpython-313.pyc │ │ ├── api.cpython-313.pyc │ │ ├── auth.cpython-313.pyc │ │ ├── certs.cpython-313.pyc │ │ ├── compat.cpython-313.pyc │ │ ├── cookies.cpython-313.pyc │ │ ├── exceptions.cpython-313.pyc │ │ ├── hooks.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── _internal_utils.cpython-313.pyc │ │ ├── models.cpython-313.pyc │ │ ├── packages.cpython-313.pyc │ │ ├── sessions.cpython-313.pyc │ │ ├── status_codes.cpython-313.pyc │ │ ├── structures.cpython-313.pyc │ │ ├── utils.cpython-313.pyc │ │ └── __version__.cpython-313.pyc │ ├── snowballstemmer │ │ ├── among.cpython-313.pyc │ │ ├── arabic_stemmer.cpython-313.pyc │ │ ├── armenian_stemmer.cpython-313.pyc │ │ ├── basestemmer.cpython-313.pyc │ │ ├── basque_stemmer.cpython-313.pyc │ │ ├── catalan_stemmer.cpython-313.pyc │ │ ├── danish_stemmer.cpython-313.pyc │ │ ├── dutch_stemmer.cpython-313.pyc │ │ ├── english_stemmer.cpython-313.pyc │ │ ├── finnish_stemmer.cpython-313.pyc │ │ ├── french_stemmer.cpython-313.pyc │ │ ├── german_stemmer.cpython-313.pyc │ │ ├── greek_stemmer.cpython-313.pyc │ │ ├── hindi_stemmer.cpython-313.pyc │ │ ├── hungarian_stemmer.cpython-313.pyc │ │ ├── indonesian_stemmer.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── irish_stemmer.cpython-313.pyc │ │ ├── italian_stemmer.cpython-313.pyc │ │ ├── lithuanian_stemmer.cpython-313.pyc │ │ ├── nepali_stemmer.cpython-313.pyc │ │ ├── norwegian_stemmer.cpython-313.pyc │ │ ├── porter_stemmer.cpython-313.pyc │ │ ├── portuguese_stemmer.cpython-313.pyc │ │ ├── romanian_stemmer.cpython-313.pyc │ │ ├── russian_stemmer.cpython-313.pyc │ │ ├── serbian_stemmer.cpython-313.pyc │ │ ├── spanish_stemmer.cpython-313.pyc │ │ ├── swedish_stemmer.cpython-313.pyc │ │ ├── tamil_stemmer.cpython-313.pyc │ │ ├── turkish_stemmer.cpython-313.pyc │ │ └── yiddish_stemmer.cpython-313.pyc │ ├── socks.cpython-313.pyc │ ├── sphinx │ │ ├── addnodes.cpython-313.pyc │ │ ├── application.cpython-313.pyc │ │ ├── builders │ │ │ ├── changes.cpython-313.pyc │ │ │ ├── dirhtml.cpython-313.pyc │ │ │ ├── dummy.cpython-313.pyc │ │ │ ├── epub3.cpython-313.pyc │ │ │ ├── _epub_base.cpython-313.pyc │ │ │ ├── gettext.cpython-313.pyc │ │ │ ├── html │ │ │ │ ├── _assets.cpython-313.pyc │ │ │ │ ├── __init__.cpython-313.pyc │ │ │ │ └── transforms.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── latex │ │ │ │ ├── constants.cpython-313.pyc │ │ │ │ ├── __init__.cpython-313.pyc │ │ │ │ ├── nodes.cpython-313.pyc │ │ │ │ ├── theming.cpython-313.pyc │ │ │ │ ├── transforms.cpython-313.pyc │ │ │ │ └── util.cpython-313.pyc │ │ │ ├── linkcheck.cpython-313.pyc │ │ │ ├── manpage.cpython-313.pyc │ │ │ ├── singlehtml.cpython-313.pyc │ │ │ ├── texinfo.cpython-313.pyc │ │ │ ├── text.cpython-313.pyc │ │ │ └── xml.cpython-313.pyc │ │ ├── cmd │ │ │ ├── build.cpython-313.pyc │ │ │ └── __init__.cpython-313.pyc │ │ ├── config.cpython-313.pyc │ │ ├── deprecation.cpython-313.pyc │ │ ├── directives │ │ │ ├── code.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── other.cpython-313.pyc │ │ │ └── patches.cpython-313.pyc │ │ ├── domains │ │ │ ├── c │ │ │ │ ├── _ast.cpython-313.pyc │ │ │ │ ├── _ids.cpython-313.pyc │ │ │ │ ├── __init__.cpython-313.pyc │ │ │ │ ├── _parser.cpython-313.pyc │ │ │ │ └── _symbol.cpython-313.pyc │ │ │ ├── changeset.cpython-313.pyc │ │ │ ├── citation.cpython-313.pyc │ │ │ ├── cpp │ │ │ │ ├── _ast.cpython-313.pyc │ │ │ │ ├── _ids.cpython-313.pyc │ │ │ │ ├── __init__.cpython-313.pyc │ │ │ │ ├── _parser.cpython-313.pyc │ │ │ │ └── _symbol.cpython-313.pyc │ │ │ ├── index.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── javascript.cpython-313.pyc │ │ │ ├── math.cpython-313.pyc │ │ │ ├── python │ │ │ │ ├── _annotations.cpython-313.pyc │ │ │ │ ├── __init__.cpython-313.pyc │ │ │ │ └── _object.cpython-313.pyc │ │ │ ├── rst.cpython-313.pyc │ │ │ └── std │ │ │ └── __init__.cpython-313.pyc │ │ ├── environment │ │ │ ├── adapters │ │ │ │ ├── asset.cpython-313.pyc │ │ │ │ ├── indexentries.cpython-313.pyc │ │ │ │ ├── __init__.cpython-313.pyc │ │ │ │ └── toctree.cpython-313.pyc │ │ │ ├── collectors │ │ │ │ ├── asset.cpython-313.pyc │ │ │ │ ├── dependencies.cpython-313.pyc │ │ │ │ ├── __init__.cpython-313.pyc │ │ │ │ ├── metadata.cpython-313.pyc │ │ │ │ ├── title.cpython-313.pyc │ │ │ │ └── toctree.cpython-313.pyc │ │ │ └── __init__.cpython-313.pyc │ │ ├── errors.cpython-313.pyc │ │ ├── events.cpython-313.pyc │ │ ├── ext │ │ │ ├── autosectionlabel.cpython-313.pyc │ │ │ ├── doctest.cpython-313.pyc │ │ │ ├── ifconfig.cpython-313.pyc │ │ │ ├── imgmath.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ └── mathjax.cpython-313.pyc │ │ ├── extension.cpython-313.pyc │ │ ├── highlighting.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── io.cpython-313.pyc │ │ ├── jinja2glue.cpython-313.pyc │ │ ├── locale │ │ │ └── __init__.cpython-313.pyc │ │ ├── parsers.cpython-313.pyc │ │ ├── project.cpython-313.pyc │ │ ├── pycode │ │ │ ├── ast.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ └── parser.cpython-313.pyc │ │ ├── pygments_styles.cpython-313.pyc │ │ ├── registry.cpython-313.pyc │ │ ├── roles.cpython-313.pyc │ │ ├── search │ │ │ ├── en.cpython-313.pyc │ │ │ └── __init__.cpython-313.pyc │ │ ├── theming.cpython-313.pyc │ │ ├── transforms │ │ │ ├── compact_bullet_list.cpython-313.pyc │ │ │ ├── i18n.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── post_transforms │ │ │ │ ├── code.cpython-313.pyc │ │ │ │ ├── images.cpython-313.pyc │ │ │ │ └── __init__.cpython-313.pyc │ │ │ └── references.cpython-313.pyc │ │ ├── util │ │ │ ├── build_phase.cpython-313.pyc │ │ │ ├── cfamily.cpython-313.pyc │ │ │ ├── console.cpython-313.pyc │ │ │ ├── display.cpython-313.pyc │ │ │ ├── docfields.cpython-313.pyc │ │ │ ├── docutils.cpython-313.pyc │ │ │ ├── exceptions.cpython-313.pyc │ │ │ ├── fileutil.cpython-313.pyc │ │ │ ├── http_date.cpython-313.pyc │ │ │ ├── i18n.cpython-313.pyc │ │ │ ├── images.cpython-313.pyc │ │ │ ├── index_entries.cpython-313.pyc │ │ │ ├── __init__.cpython-313.pyc │ │ │ ├── inspect.cpython-313.pyc │ │ │ ├── inventory.cpython-313.pyc │ │ │ ├── _io.cpython-313.pyc │ │ │ ├── logging.cpython-313.pyc │ │ │ ├── matching.cpython-313.pyc │ │ │ ├── math.cpython-313.pyc │ │ │ ├── nodes.cpython-313.pyc │ │ │ ├── osutil.cpython-313.pyc │ │ │ ├── parallel.cpython-313.pyc │ │ │ ├── _pathlib.cpython-313.pyc │ │ │ ├── png.cpython-313.pyc │ │ │ ├── requests.cpython-313.pyc │ │ │ ├── rst.cpython-313.pyc │ │ │ ├── tags.cpython-313.pyc │ │ │ ├── template.cpython-313.pyc │ │ │ ├── texescape.cpython-313.pyc │ │ │ └── typing.cpython-313.pyc │ │ ├── versioning.cpython-313.pyc │ │ └── writers │ │ ├── html5.cpython-313.pyc │ │ ├── html.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── latex.cpython-313.pyc │ │ ├── manpage.cpython-313.pyc │ │ ├── texinfo.cpython-313.pyc │ │ ├── text.cpython-313.pyc │ │ └── xml.cpython-313.pyc │ ├── sphinxcontrib │ │ ├── devhelp │ │ │ └── __init__.cpython-313.pyc │ │ ├── htmlhelp │ │ │ └── __init__.cpython-313.pyc │ │ ├── qthelp │ │ │ └── __init__.cpython-313.pyc │ │ └── serializinghtml │ │ ├── __init__.cpython-313.pyc │ │ └── jsonimpl.cpython-313.pyc │ └── urllib3 │ ├── _collections.cpython-313.pyc │ ├── connection.cpython-313.pyc │ ├── connectionpool.cpython-313.pyc │ ├── contrib │ │ ├── _appengine_environ.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ └── socks.cpython-313.pyc │ ├── exceptions.cpython-313.pyc │ ├── fields.cpython-313.pyc │ ├── filepost.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── packages │ │ ├── __init__.cpython-313.pyc │ │ └── six.cpython-313.pyc │ ├── poolmanager.cpython-313.pyc │ ├── request.cpython-313.pyc │ ├── response.cpython-313.pyc │ ├── util │ │ ├── connection.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── proxy.cpython-313.pyc │ │ ├── queue.cpython-313.pyc │ │ ├── request.cpython-313.pyc │ │ ├── response.cpython-313.pyc │ │ ├── retry.cpython-313.pyc │ │ ├── ssl_.cpython-313.pyc │ │ ├── ssl_match_hostname.cpython-313.pyc │ │ ├── ssltransport.cpython-313.pyc │ │ ├── timeout.cpython-313.pyc │ │ ├── url.cpython-313.pyc │ │ └── wait.cpython-313.pyc │ └── _version.cpython-313.pyc └── lib64 └── python3.13 ├── argparse.cpython-313.pyc ├── ast.cpython-313.pyc ├── base64.cpython-313.pyc ├── bdb.cpython-313.pyc ├── bisect.cpython-313.pyc ├── bz2.cpython-313.pyc ├── calendar.cpython-313.pyc ├── cmd.cpython-313.pyc ├── code.cpython-313.pyc ├── codeop.cpython-313.pyc ├── collections │ └── __init__.cpython-313.pyc ├── _colorize.cpython-313.pyc ├── _compat_pickle.cpython-313.pyc ├── _compression.cpython-313.pyc ├── configparser.cpython-313.pyc ├── contextlib.cpython-313.pyc ├── contextvars.cpython-313.pyc ├── copy.cpython-313.pyc ├── copyreg.cpython-313.pyc ├── csv.cpython-313.pyc ├── dataclasses.cpython-313.pyc ├── datetime.cpython-313.pyc ├── decimal.cpython-313.pyc ├── difflib.cpython-313.pyc ├── dis.cpython-313.pyc ├── doctest.cpython-313.pyc ├── email │ ├── base64mime.cpython-313.pyc │ ├── charset.cpython-313.pyc │ ├── _encoded_words.cpython-313.pyc │ ├── encoders.cpython-313.pyc │ ├── errors.cpython-313.pyc │ ├── feedparser.cpython-313.pyc │ ├── header.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── iterators.cpython-313.pyc │ ├── message.cpython-313.pyc │ ├── _parseaddr.cpython-313.pyc │ ├── parser.cpython-313.pyc │ ├── _policybase.cpython-313.pyc │ ├── quoprimime.cpython-313.pyc │ └── utils.cpython-313.pyc ├── encodings │ ├── aliases.cpython-313.pyc │ ├── idna.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── unicode_escape.cpython-313.pyc │ ├── utf_8.cpython-313.pyc │ └── utf_8_sig.cpython-313.pyc ├── enum.cpython-313.pyc ├── filecmp.cpython-313.pyc ├── fnmatch.cpython-313.pyc ├── functools.cpython-313.pyc ├── __future__.cpython-313.pyc ├── gettext.cpython-313.pyc ├── glob.cpython-313.pyc ├── gzip.cpython-313.pyc ├── hashlib.cpython-313.pyc ├── heapq.cpython-313.pyc ├── hmac.cpython-313.pyc ├── html │ ├── entities.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ └── parser.cpython-313.pyc ├── http │ ├── client.cpython-313.pyc │ ├── cookiejar.cpython-313.pyc │ ├── cookies.cpython-313.pyc │ └── __init__.cpython-313.pyc ├── importlib │ ├── _abc.cpython-313.pyc │ ├── abc.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── metadata │ │ ├── _collections.cpython-313.pyc │ │ ├── _functools.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── _itertools.cpython-313.pyc │ │ └── _meta.cpython-313.pyc │ └── resources │ ├── abc.cpython-313.pyc │ ├── _common.cpython-313.pyc │ ├── _functional.cpython-313.pyc │ └── __init__.cpython-313.pyc ├── inspect.cpython-313.pyc ├── ipaddress.cpython-313.pyc ├── json │ ├── decoder.cpython-313.pyc │ ├── encoder.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ └── scanner.cpython-313.pyc ├── keyword.cpython-313.pyc ├── linecache.cpython-313.pyc ├── locale.cpython-313.pyc ├── logging │ ├── handlers.cpython-313.pyc │ └── __init__.cpython-313.pyc ├── lzma.cpython-313.pyc ├── _markupbase.cpython-313.pyc ├── mimetypes.cpython-313.pyc ├── multiprocessing │ ├── connection.cpython-313.pyc │ ├── context.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── popen_fork.cpython-313.pyc │ ├── process.cpython-313.pyc │ ├── reduction.cpython-313.pyc │ └── util.cpython-313.pyc ├── numbers.cpython-313.pyc ├── opcode.cpython-313.pyc ├── _opcode_metadata.cpython-313.pyc ├── operator.cpython-313.pyc ├── optparse.cpython-313.pyc ├── pathlib │ ├── _abc.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ └── _local.cpython-313.pyc ├── pdb.cpython-313.pyc ├── pickle.cpython-313.pyc ├── platform.cpython-313.pyc ├── pprint.cpython-313.pyc ├── queue.cpython-313.pyc ├── quopri.cpython-313.pyc ├── random.cpython-313.pyc ├── re │ ├── _casefix.cpython-313.pyc │ ├── _compiler.cpython-313.pyc │ ├── _constants.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ └── _parser.cpython-313.pyc ├── reprlib.cpython-313.pyc ├── rlcompleter.cpython-313.pyc ├── selectors.cpython-313.pyc ├── shutil.cpython-313.pyc ├── signal.cpython-313.pyc ├── site-packages │ ├── markupsafe │ │ └── __init__.cpython-313.pyc │ └── PIL │ ├── _binary.cpython-313.pyc │ ├── _deprecate.cpython-313.pyc │ ├── ExifTags.cpython-313.pyc │ ├── Image.cpython-313.pyc │ ├── ImageMode.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── TiffTags.cpython-313.pyc │ ├── _typing.cpython-313.pyc │ ├── _util.cpython-313.pyc │ └── _version.cpython-313.pyc ├── socket.cpython-313.pyc ├── ssl.cpython-313.pyc ├── string.cpython-313.pyc ├── stringprep.cpython-313.pyc ├── struct.cpython-313.pyc ├── subprocess.cpython-313.pyc ├── sysconfig │ └── __init__.cpython-313.pyc ├── _sysconfigdata__linux_x86_64-linux-gnu.cpython-313.pyc ├── tempfile.cpython-313.pyc ├── textwrap.cpython-313.pyc ├── threading.cpython-313.pyc ├── token.cpython-313.pyc ├── tokenize.cpython-313.pyc ├── tomllib │ ├── __init__.cpython-313.pyc │ ├── _parser.cpython-313.pyc │ ├── _re.cpython-313.pyc │ └── _types.cpython-313.pyc ├── traceback.cpython-313.pyc ├── types.cpython-313.pyc ├── typing.cpython-313.pyc ├── unittest │ ├── case.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── loader.cpython-313.pyc │ ├── main.cpython-313.pyc │ ├── result.cpython-313.pyc │ ├── runner.cpython-313.pyc │ ├── signals.cpython-313.pyc │ ├── suite.cpython-313.pyc │ └── util.cpython-313.pyc ├── urllib │ ├── error.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── parse.cpython-313.pyc │ ├── request.cpython-313.pyc │ └── response.cpython-313.pyc ├── uuid.cpython-313.pyc ├── warnings.cpython-313.pyc ├── weakref.cpython-313.pyc ├── _weakrefset.cpython-313.pyc ├── xml │ ├── dom │ │ ├── domreg.cpython-313.pyc │ │ ├── __init__.cpython-313.pyc │ │ ├── minicompat.cpython-313.pyc │ │ ├── minidom.cpython-313.pyc │ │ ├── NodeFilter.cpython-313.pyc │ │ └── xmlbuilder.cpython-313.pyc │ ├── etree │ │ ├── ElementPath.cpython-313.pyc │ │ ├── ElementTree.cpython-313.pyc │ │ └── __init__.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── parsers │ │ ├── expat.cpython-313.pyc │ │ └── __init__.cpython-313.pyc │ └── sax │ ├── _exceptions.cpython-313.pyc │ ├── expatreader.cpython-313.pyc │ ├── handler.cpython-313.pyc │ ├── __init__.cpython-313.pyc │ ├── saxutils.cpython-313.pyc │ └── xmlreader.cpython-313.pyc ├── zipfile │ ├── __init__.cpython-313.pyc │ └── _path │ ├── glob.cpython-313.pyc │ └── __init__.cpython-313.pyc └── zoneinfo ├── _common.cpython-313.pyc ├── __init__.cpython-313.pyc └── _tzpath.cpython-313.pyc 109 directories, 634 files Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org> diff --git a/Documentation/Makefile b/Documentation/Makefile index 8c1f6a3dfc44..59e95ebae786 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -84,7 +84,7 @@ loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit; quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4) cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media $2 && \ - PYTHONDONTWRITEBYTECODE=1 \ + PYTHONPYCACHEPREFIX=$(abspath $(BUILDDIR)/__pycache__) \ BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(src)/$5/$(SPHINX_CONF)) \ $(PYTHON3) $(srctree)/scripts/jobserver-exec \ $(CONFIG_SHELL) $(srctree)/Documentation/sphinx/parallel-wrapper.sh \