xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/python/python3/python3-manifest.json (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# DO NOT (entirely) modify this file manually, please read.
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# IMPORTANT NOTE:
4*4882a593Smuzhiyun# Please keep in mind that the create_manifest task relies on the fact the the
5*4882a593Smuzhiyun# target and native Python packages are the same, and it also needs to be executed
6*4882a593Smuzhiyun# with a fully working native package (with all the PACKAGECONFIGs enabled and all
7*4882a593Smuzhiyun# and all the modules should be working, check log.do_compile), otherwise the script
8*4882a593Smuzhiyun# will fail to find dependencies correctly, this note is valid either if you are
9*4882a593Smuzhiyun# upgrading to a new Python version or adding a new package.
10*4882a593Smuzhiyun#
11*4882a593Smuzhiyun#
12*4882a593Smuzhiyun# If you are adding a new package please follow the next steps:
13*4882a593Smuzhiyun#     How to add a new package:
14*4882a593Smuzhiyun#     - If a user wants to add a new package all that has to be done is:
15*4882a593Smuzhiyun#     Modify the python3-manifest.json file, and add the required file(s) to the FILES list,
16*4882a593Smuzhiyun#     fill up the SUMMARY section as well, the script should handle all the rest.
17*4882a593Smuzhiyun#
18*4882a593Smuzhiyun#     Real example:
19*4882a593Smuzhiyun#     We want to add a web browser package, including the file webbrowser.py
20*4882a593Smuzhiyun#     which at the moment is on python3-misc.
21*4882a593Smuzhiyun#     "webbrowser": {
22*4882a593Smuzhiyun#         "files": ["${libdir}/python${PYTHON_MAJMIN}/lib-dynload/webbrowser.py"],
23*4882a593Smuzhiyun#         "rdepends": [],
24*4882a593Smuzhiyun#         "summary": "Python Web Browser support"}
25*4882a593Smuzhiyun#
26*4882a593Smuzhiyun#     * Note that the rdepends field was left empty
27*4882a593Smuzhiyun#
28*4882a593Smuzhiyun#     We run $ bitbake python3 -c create_manifest and the resulting manifest
29*4882a593Smuzhiyun#     should be completed after a few seconds, showing something like:
30*4882a593Smuzhiyun#     "webbrowser": {
31*4882a593Smuzhiyun#         "files": ["${libdir}/python${PYTHON_MAJMIN}/webbrowser.py"],
32*4882a593Smuzhiyun#         "rdepends": ["core","fcntl","io","pickle","shell","subprocess"],
33*4882a593Smuzhiyun#         "summary": "Python Web Browser support"}
34*4882a593Smuzhiyun#
35*4882a593Smuzhiyun#
36*4882a593Smuzhiyun# If you are upgrading Python to a new version please follow the next steps:
37*4882a593Smuzhiyun#     After each Python upgrade, the create_manifest task should be executed, because we
38*4882a593Smuzhiyun#     don't control what changes on upstream Python, so, some module dependency
39*4882a593Smuzhiyun#     might have changed without us realizing it, a certain module can either have
40*4882a593Smuzhiyun#     more or less dependencies, or could be depending on a new file that was just
41*4882a593Smuzhiyun#     created on the new release and for obvious reasons we wouldn't have it on our
42*4882a593Smuzhiyun#     old manifest, all of these issues would cause runtime errors on our system.
43*4882a593Smuzhiyun#
44*4882a593Smuzhiyun#     - Upgrade both the native and target Python packages to a new version
45*4882a593Smuzhiyun#     - Run the create_manifest task for the target Python package as its shown below:
46*4882a593Smuzhiyun#
47*4882a593Smuzhiyun#     $ bitbake python3 -c create_manifest
48*4882a593Smuzhiyun#
49*4882a593Smuzhiyun#     This will automatically replace your manifest file located under the Python directory
50*4882a593Smuzhiyun#     with an new one, which contains the new dependencies (if any).
51*4882a593Smuzhiyun#
52*4882a593Smuzhiyun#     Several things could have gone wrong here, I will try to explain a few:
53*4882a593Smuzhiyun#
54*4882a593Smuzhiyun#     a) A new file was introduced on this release, e.g. sha3*.so:
55*4882a593Smuzhiyun#        The task will check what its needed to import every module, more than one module would
56*4882a593Smuzhiyun#        would probably depend on sha3*.so, although only one module should contain it.
57*4882a593Smuzhiyun#
58*4882a593Smuzhiyun#        After running the task, the new manifest will have the sha3*.so file on more than one
59*4882a593Smuzhiyun#        module, you need to manually decide which one of them should get it and delete it from
60*4882a593Smuzhiyun#        the others, for example sha3*.so should likely be on ${PN}-crypt.
61*4882a593Smuzhiyun#        Once you have deleted from the others you need to run the create_manifest task again,
62*4882a593Smuzhiyun#        this will populate the other module's rdepends fields, with ${PN}-crypt and you should be
63*4882a593Smuzhiyun#        good to go.
64*4882a593Smuzhiyun#
65*4882a593Smuzhiyun#     b) The native package wasn't built correctly and its missing a certain module:
66*4882a593Smuzhiyun#        As mentioned before, you need to make sure the native package was built with all the modules
67*4882a593Smuzhiyun#        because it is used as base to build the manifest file, you need to manually check log.do_compile
68*4882a593Smuzhiyun#        since it won't error out the compile function if its only missing a couple of modules.
69*4882a593Smuzhiyun#
70*4882a593Smuzhiyun#        e.g. missing the _uuid module, log.do_compile would show the following:
71*4882a593Smuzhiyun#        Python build finished successfully!
72*4882a593Smuzhiyun#        The necessary bits to build these optional modules were not found:
73*4882a593Smuzhiyun#        _uuid
74*4882a593Smuzhiyun#
75*4882a593Smuzhiyun#        What will happen here is that the new manifest would not be aware that the _uuid module exists, so
76*4882a593Smuzhiyun#        not only we won't know of any dependencies to it, but also, the _uuid* files will be packaged on
77*4882a593Smuzhiyun#        the misc package (which is where any file that doesn't belong anywhere else ends up).
78*4882a593Smuzhiyun#
79*4882a593Smuzhiyun#        This will eventually cause runtime errors on our system if we don't include the misc package on
80*4882a593Smuzhiyun#        on our image, because the _uuid files will be missing.
81*4882a593Smuzhiyun#        If we build the _uuid module correctly and run the create_manifest task the _uuid files will be
82*4882a593Smuzhiyun#        detected correctly along with its dependencies, and we will get a working manifest.
83*4882a593Smuzhiyun#
84*4882a593Smuzhiyun#        This is the reason why it is important to make sure we have a fully working native build,
85*4882a593Smuzhiyun#        so we can avoid these errors.
86*4882a593Smuzhiyun#
87*4882a593Smuzhiyun#
88*4882a593Smuzhiyun#
89*4882a593Smuzhiyun# DO NOT MODIFY THE NEXT LINE!, IT IS USED AS A MARKER FOR THE ACTUAL JSON MANIFEST
90*4882a593Smuzhiyun# EOC
91*4882a593Smuzhiyun{
92*4882a593Smuzhiyun    "tests": {
93*4882a593Smuzhiyun        "summary": "Python test suite",
94*4882a593Smuzhiyun        "rdepends": [
95*4882a593Smuzhiyun            "core",
96*4882a593Smuzhiyun            "modules"
97*4882a593Smuzhiyun        ],
98*4882a593Smuzhiyun        "files": [
99*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/*/test",
100*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/*/tests",
101*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/idlelib/idle_test/",
102*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/test"
103*4882a593Smuzhiyun        ],
104*4882a593Smuzhiyun        "cached": []
105*4882a593Smuzhiyun    },
106*4882a593Smuzhiyun    "2to3": {
107*4882a593Smuzhiyun        "summary": "Python automated Python 2 to 3 code translator",
108*4882a593Smuzhiyun        "rdepends": [
109*4882a593Smuzhiyun            "core"
110*4882a593Smuzhiyun        ],
111*4882a593Smuzhiyun        "files": [
112*4882a593Smuzhiyun            "${bindir}/2to3*",
113*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib2to3"
114*4882a593Smuzhiyun        ],
115*4882a593Smuzhiyun        "cached": []
116*4882a593Smuzhiyun    },
117*4882a593Smuzhiyun    "asyncio": {
118*4882a593Smuzhiyun        "summary": "Python Asynchronous I/O",
119*4882a593Smuzhiyun        "rdepends": [
120*4882a593Smuzhiyun            "core",
121*4882a593Smuzhiyun            "io",
122*4882a593Smuzhiyun            "logging",
123*4882a593Smuzhiyun            "netclient",
124*4882a593Smuzhiyun            "numbers",
125*4882a593Smuzhiyun            "stringold"
126*4882a593Smuzhiyun        ],
127*4882a593Smuzhiyun        "files": [
128*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/asyncio",
129*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/concurrent",
130*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures",
131*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so"
132*4882a593Smuzhiyun        ],
133*4882a593Smuzhiyun        "cached": []
134*4882a593Smuzhiyun    },
135*4882a593Smuzhiyun    "audio": {
136*4882a593Smuzhiyun        "summary": "Python Audio Handling",
137*4882a593Smuzhiyun        "rdepends": [
138*4882a593Smuzhiyun            "core"
139*4882a593Smuzhiyun        ],
140*4882a593Smuzhiyun        "files": [
141*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/chunk.py",
142*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/audioop.*.so",
143*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/ossaudiodev.*.so",
144*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/sndhdr.py",
145*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/sunau.py",
146*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/wave.py"
147*4882a593Smuzhiyun        ],
148*4882a593Smuzhiyun        "cached": [
149*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/chunk.*.pyc",
150*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sndhdr.*.pyc",
151*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sunau.*.pyc",
152*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/wave.*.pyc"
153*4882a593Smuzhiyun        ]
154*4882a593Smuzhiyun    },
155*4882a593Smuzhiyun    "codecs": {
156*4882a593Smuzhiyun        "summary": "Python codec",
157*4882a593Smuzhiyun        "rdepends": [
158*4882a593Smuzhiyun            "core"
159*4882a593Smuzhiyun        ],
160*4882a593Smuzhiyun        "files": [
161*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multibytecodec.*.so",
162*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/xdrlib.py"
163*4882a593Smuzhiyun        ],
164*4882a593Smuzhiyun        "cached": [
165*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/xdrlib.*.pyc"
166*4882a593Smuzhiyun        ]
167*4882a593Smuzhiyun    },
168*4882a593Smuzhiyun    "compile": {
169*4882a593Smuzhiyun        "summary": "Python bytecode compilation support",
170*4882a593Smuzhiyun        "rdepends": [
171*4882a593Smuzhiyun            "core"
172*4882a593Smuzhiyun        ],
173*4882a593Smuzhiyun        "files": [
174*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/compileall.py",
175*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/filecmp.py",
176*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/py_compile.py"
177*4882a593Smuzhiyun        ],
178*4882a593Smuzhiyun        "cached": [
179*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/compileall.*.pyc",
180*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/filecmp.*.pyc",
181*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/py_compile.*.pyc"
182*4882a593Smuzhiyun        ]
183*4882a593Smuzhiyun    },
184*4882a593Smuzhiyun    "compression": {
185*4882a593Smuzhiyun        "summary": "Python high-level compression support",
186*4882a593Smuzhiyun        "rdepends": [
187*4882a593Smuzhiyun            "core"
188*4882a593Smuzhiyun        ],
189*4882a593Smuzhiyun        "files": [
190*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/gzip.py",
191*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/tarfile.py",
192*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/zipfile.py"
193*4882a593Smuzhiyun        ],
194*4882a593Smuzhiyun        "cached": [
195*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc",
196*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc",
197*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipfile.*.pyc"
198*4882a593Smuzhiyun        ]
199*4882a593Smuzhiyun    },
200*4882a593Smuzhiyun    "core": {
201*4882a593Smuzhiyun        "summary": "Python interpreter and core modules",
202*4882a593Smuzhiyun        "rdepends": [],
203*4882a593Smuzhiyun        "files": [
204*4882a593Smuzhiyun            "${bindir}/python${PYTHON_MAJMIN}",
205*4882a593Smuzhiyun            "${bindir}/python${PYTHON_MAJMIN}.real",
206*4882a593Smuzhiyun            "${bindir}/python3",
207*4882a593Smuzhiyun            "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
208*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
209*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
210*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/UserString.py",
211*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__future__.py",
212*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_abcoll.py",
213*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_bootlocale.py",
214*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_collections_abc.py",
215*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_compression.py",
216*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_markupbase.py",
217*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.py",
218*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py",
219*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_weakrefset.py",
220*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/abc.py",
221*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/argparse.py",
222*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/ast.py",
223*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/bisect.py",
224*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/bz2.py",
225*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/code.py",
226*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/codecs.py",
227*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/codeop.py",
228*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/collections",
229*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/collections/abc.py",
230*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/configparser.py",
231*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/contextlib.py",
232*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/copy.py",
233*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/copyreg.py",
234*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/csv.py",
235*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/dis.py",
236*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/encodings",
237*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/encodings/aliases.py",
238*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/encodings/latin_1.py",
239*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/encodings/utf_8.py",
240*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/enum.py",
241*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/fnmatch.py",
242*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/functools.py",
243*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/genericpath.py",
244*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/getopt.py",
245*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/gettext.py",
246*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/heapq.py",
247*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/imp.py",
248*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib",
249*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap.py",
250*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap_external.py",
251*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib/abc.py",
252*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib/machinery.py",
253*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib/util.py",
254*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/inspect.py",
255*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/io.py",
256*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/keyword.py",
257*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/_struct.*.so",
258*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/binascii.*.so",
259*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/time.*.so",
260*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/xreadlines.*.so",
261*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bisect.*.so",
262*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so",
263*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_csv.*.so",
264*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_heapq.*.so",
265*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so",
266*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so",
267*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixsubprocess.*.so",
268*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_struct.*.so",
269*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/array.*.so",
270*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/binascii.*.so",
271*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/grp.*.so",
272*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/math.*.so",
273*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/parser.*.so",
274*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/readline.*.so",
275*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/select.*.so",
276*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/time.*.so",
277*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/unicodedata.*.so",
278*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/xreadlines.*.so",
279*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/zlib.*.so",
280*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/linecache.py",
281*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/locale.py",
282*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lzma.py",
283*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/new.py",
284*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/ntpath.py",
285*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/opcode.py",
286*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/operator.py",
287*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/optparse.py",
288*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/os.py",
289*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pathlib.py",
290*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
291*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/platform.py",
292*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
293*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/re.py",
294*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
295*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
296*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/runpy.py",
297*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/selectors.py",
298*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/shutil.py",
299*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/signal.py",
300*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/site.py",
301*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py",
302*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/sre_compile.py",
303*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/sre_constants.py",
304*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/sre_parse.py",
305*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/stat.py",
306*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/stringprep.py",
307*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/struct.py",
308*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/subprocess.py",
309*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/symbol.py",
310*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/sysconfig.py",
311*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/textwrap.py",
312*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/threading.py",
313*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/token.py",
314*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
315*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
316*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/types.py",
317*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/typing.py",
318*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/urllib",
319*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/urllib/parse.py",
320*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
321*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
322*4882a593Smuzhiyun            "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
323*4882a593Smuzhiyun        ],
324*4882a593Smuzhiyun        "cached": [
325*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/__future__.*.pyc",
326*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_bootlocale.*.pyc",
327*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_collections_abc.*.pyc",
328*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc",
329*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_markupbase.*.pyc",
330*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sitebuiltins.*.pyc",
331*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.*.pyc",
332*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_weakrefset.*.pyc",
333*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/abc.*.pyc",
334*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/argparse.*.pyc",
335*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ast.*.pyc",
336*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bisect.*.pyc",
337*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bz2.*.pyc",
338*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/code.*.pyc",
339*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codecs.*.pyc",
340*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codeop.*.pyc",
341*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/configparser.*.pyc",
342*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextlib.*.pyc",
343*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copy.*.pyc",
344*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copyreg.*.pyc",
345*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/csv.*.pyc",
346*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dis.*.pyc",
347*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/enum.*.pyc",
348*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fnmatch.*.pyc",
349*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/functools.*.pyc",
350*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/genericpath.*.pyc",
351*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/getopt.*.pyc",
352*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gettext.*.pyc",
353*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/heapq.*.pyc",
354*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imp.*.pyc",
355*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/inspect.*.pyc",
356*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/io.*.pyc",
357*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc",
358*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc",
359*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc",
360*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/lzma.*.pyc",
361*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ntpath.*.pyc",
362*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/opcode.*.pyc",
363*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/operator.*.pyc",
364*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/optparse.*.pyc",
365*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/os.*.pyc",
366*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pathlib.*.pyc",
367*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
368*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
369*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
370*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
371*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
372*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
373*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/runpy.*.pyc",
374*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/selectors.*.pyc",
375*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shutil.*.pyc",
376*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/signal.*.pyc",
377*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/site.*.pyc",
378*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_compile.*.pyc",
379*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_constants.*.pyc",
380*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_parse.*.pyc",
381*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/stat.*.pyc",
382*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/stringprep.*.pyc",
383*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/struct.*.pyc",
384*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/subprocess.*.pyc",
385*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/symbol.*.pyc",
386*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sysconfig.*.pyc",
387*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/textwrap.*.pyc",
388*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/threading.*.pyc",
389*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/token.*.pyc",
390*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tokenize.*.pyc",
391*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/traceback.*.pyc",
392*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/types.*.pyc",
393*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/typing.*.pyc",
394*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/warnings.*.pyc",
395*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/weakref.*.pyc",
396*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__",
397*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__/abc.*.pyc",
398*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__",
399*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/aliases.*.pyc",
400*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/latin_1.*.pyc",
401*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/utf_8.*.pyc",
402*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__",
403*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/abc.*.pyc",
404*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/machinery.*.pyc",
405*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/util.*.pyc",
406*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
407*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__/parse.*.pyc"
408*4882a593Smuzhiyun        ]
409*4882a593Smuzhiyun    },
410*4882a593Smuzhiyun    "crypt": {
411*4882a593Smuzhiyun        "summary": "Python basic cryptographic and hashing support",
412*4882a593Smuzhiyun        "rdepends": [
413*4882a593Smuzhiyun            "core",
414*4882a593Smuzhiyun            "math",
415*4882a593Smuzhiyun            "stringold"
416*4882a593Smuzhiyun        ],
417*4882a593Smuzhiyun        "files": [
418*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/crypt.py",
419*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/hashlib.py",
420*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_blake2.*.so",
421*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_crypt.*.so",
422*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so",
423*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so",
424*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so",
425*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha256.*.so",
426*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so",
427*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha512.*.so"
428*4882a593Smuzhiyun        ],
429*4882a593Smuzhiyun        "cached": [
430*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/crypt.*.pyc",
431*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/hashlib.*.pyc"
432*4882a593Smuzhiyun        ]
433*4882a593Smuzhiyun    },
434*4882a593Smuzhiyun    "ctypes": {
435*4882a593Smuzhiyun        "summary": "Python C types support",
436*4882a593Smuzhiyun        "rdepends": [
437*4882a593Smuzhiyun            "core",
438*4882a593Smuzhiyun            "crypt",
439*4882a593Smuzhiyun            "io",
440*4882a593Smuzhiyun            "math"
441*4882a593Smuzhiyun        ],
442*4882a593Smuzhiyun        "files": [
443*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/ctypes",
444*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ctypes.*.so",
445*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ctypes_test.*.so"
446*4882a593Smuzhiyun        ],
447*4882a593Smuzhiyun        "cached": []
448*4882a593Smuzhiyun    },
449*4882a593Smuzhiyun    "curses": {
450*4882a593Smuzhiyun        "summary": "Python curses support",
451*4882a593Smuzhiyun        "rdepends": [
452*4882a593Smuzhiyun            "core"
453*4882a593Smuzhiyun        ],
454*4882a593Smuzhiyun        "files": [
455*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/curses",
456*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_curses.*.so",
457*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_curses_panel.*.so"
458*4882a593Smuzhiyun        ],
459*4882a593Smuzhiyun        "cached": []
460*4882a593Smuzhiyun    },
461*4882a593Smuzhiyun    "datetime": {
462*4882a593Smuzhiyun        "summary": "Python calendar and time support",
463*4882a593Smuzhiyun        "rdepends": [
464*4882a593Smuzhiyun            "core"
465*4882a593Smuzhiyun        ],
466*4882a593Smuzhiyun        "files": [
467*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_strptime.py",
468*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/calendar.py",
469*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/datetime.py",
470*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_datetime.*.so"
471*4882a593Smuzhiyun        ],
472*4882a593Smuzhiyun        "cached": [
473*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_strptime.*.pyc",
474*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/calendar.*.pyc",
475*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/datetime.*.pyc"
476*4882a593Smuzhiyun        ]
477*4882a593Smuzhiyun    },
478*4882a593Smuzhiyun    "db": {
479*4882a593Smuzhiyun        "summary": "Python file-based database support",
480*4882a593Smuzhiyun        "rdepends": [
481*4882a593Smuzhiyun            "core"
482*4882a593Smuzhiyun        ],
483*4882a593Smuzhiyun        "files": [
484*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/dbm",
485*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_dbm.*.so"
486*4882a593Smuzhiyun        ],
487*4882a593Smuzhiyun        "cached": []
488*4882a593Smuzhiyun    },
489*4882a593Smuzhiyun    "debugger": {
490*4882a593Smuzhiyun        "summary": "Python debugger",
491*4882a593Smuzhiyun        "rdepends": [
492*4882a593Smuzhiyun            "core",
493*4882a593Smuzhiyun            "pprint",
494*4882a593Smuzhiyun            "shell",
495*4882a593Smuzhiyun            "stringold"
496*4882a593Smuzhiyun        ],
497*4882a593Smuzhiyun        "files": [
498*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/bdb.py",
499*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pdb.py"
500*4882a593Smuzhiyun        ],
501*4882a593Smuzhiyun        "cached": [
502*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bdb.*.pyc",
503*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pdb.*.pyc"
504*4882a593Smuzhiyun        ]
505*4882a593Smuzhiyun    },
506*4882a593Smuzhiyun    "dev": {
507*4882a593Smuzhiyun        "cached": [],
508*4882a593Smuzhiyun        "files": [
509*4882a593Smuzhiyun            "${base_libdir}/*.a",
510*4882a593Smuzhiyun            "${base_libdir}/*.o",
511*4882a593Smuzhiyun            "${bindir}/python*-config*",
512*4882a593Smuzhiyun            "${datadir}/aclocal",
513*4882a593Smuzhiyun            "${datadir}/pkgconfig",
514*4882a593Smuzhiyun            "${includedir}",
515*4882a593Smuzhiyun            "${libdir}/*.a",
516*4882a593Smuzhiyun            "${libdir}/*.la",
517*4882a593Smuzhiyun            "${libdir}/*.o",
518*4882a593Smuzhiyun            "${libdir}/lib*${SOLIBSDEV}",
519*4882a593Smuzhiyun            "${libdir}/pkgconfig"
520*4882a593Smuzhiyun        ],
521*4882a593Smuzhiyun        "rdepends": [
522*4882a593Smuzhiyun            "core",
523*4882a593Smuzhiyun            "distutils"
524*4882a593Smuzhiyun        ],
525*4882a593Smuzhiyun        "summary": "Python development package"
526*4882a593Smuzhiyun    },
527*4882a593Smuzhiyun    "difflib": {
528*4882a593Smuzhiyun        "summary": "Python helpers for computing deltas between objects",
529*4882a593Smuzhiyun        "rdepends": [
530*4882a593Smuzhiyun            "core"
531*4882a593Smuzhiyun        ],
532*4882a593Smuzhiyun        "files": [
533*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/difflib.py"
534*4882a593Smuzhiyun        ],
535*4882a593Smuzhiyun        "cached": [
536*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc"
537*4882a593Smuzhiyun        ]
538*4882a593Smuzhiyun    },
539*4882a593Smuzhiyun    "distutils-windows": {
540*4882a593Smuzhiyun        "summary": "Python distribution utilities (Windows installer stubs)",
541*4882a593Smuzhiyun        "rdepends": [
542*4882a593Smuzhiyun            "core"
543*4882a593Smuzhiyun        ],
544*4882a593Smuzhiyun        "files": [],
545*4882a593Smuzhiyun        "cached": []
546*4882a593Smuzhiyun    },
547*4882a593Smuzhiyun    "distutils": {
548*4882a593Smuzhiyun        "summary": "Python Distribution Utilities",
549*4882a593Smuzhiyun        "rdepends": [
550*4882a593Smuzhiyun            "compression",
551*4882a593Smuzhiyun            "core",
552*4882a593Smuzhiyun            "email",
553*4882a593Smuzhiyun            "stringold"
554*4882a593Smuzhiyun        ],
555*4882a593Smuzhiyun        "files": [
556*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/distutils"
557*4882a593Smuzhiyun        ],
558*4882a593Smuzhiyun        "cached": []
559*4882a593Smuzhiyun    },
560*4882a593Smuzhiyun    "doctest": {
561*4882a593Smuzhiyun        "summary": "Python framework for running examples in docstrings",
562*4882a593Smuzhiyun        "rdepends": [
563*4882a593Smuzhiyun            "core",
564*4882a593Smuzhiyun            "debugger",
565*4882a593Smuzhiyun            "difflib",
566*4882a593Smuzhiyun            "pprint",
567*4882a593Smuzhiyun            "shell",
568*4882a593Smuzhiyun            "stringold",
569*4882a593Smuzhiyun            "unittest"
570*4882a593Smuzhiyun        ],
571*4882a593Smuzhiyun        "files": [
572*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/doctest.py"
573*4882a593Smuzhiyun        ],
574*4882a593Smuzhiyun        "cached": [
575*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/doctest.*.pyc"
576*4882a593Smuzhiyun        ]
577*4882a593Smuzhiyun    },
578*4882a593Smuzhiyun    "email": {
579*4882a593Smuzhiyun        "summary": "Python email support",
580*4882a593Smuzhiyun        "rdepends": [
581*4882a593Smuzhiyun            "core",
582*4882a593Smuzhiyun            "crypt",
583*4882a593Smuzhiyun            "datetime",
584*4882a593Smuzhiyun            "io",
585*4882a593Smuzhiyun            "math",
586*4882a593Smuzhiyun            "mime",
587*4882a593Smuzhiyun            "netclient",
588*4882a593Smuzhiyun            "stringold"
589*4882a593Smuzhiyun        ],
590*4882a593Smuzhiyun        "files": [
591*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/email",
592*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/imaplib.py"
593*4882a593Smuzhiyun        ],
594*4882a593Smuzhiyun        "cached": [
595*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imaplib.*.pyc"
596*4882a593Smuzhiyun        ]
597*4882a593Smuzhiyun    },
598*4882a593Smuzhiyun    "fcntl": {
599*4882a593Smuzhiyun        "summary": "Python's fcntl interface",
600*4882a593Smuzhiyun        "rdepends": [
601*4882a593Smuzhiyun            "core"
602*4882a593Smuzhiyun        ],
603*4882a593Smuzhiyun        "files": [
604*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/fcntl.*.so"
605*4882a593Smuzhiyun        ],
606*4882a593Smuzhiyun        "cached": []
607*4882a593Smuzhiyun    },
608*4882a593Smuzhiyun    "gdbm": {
609*4882a593Smuzhiyun        "summary": "Python GNU database support",
610*4882a593Smuzhiyun        "rdepends": [
611*4882a593Smuzhiyun            "core"
612*4882a593Smuzhiyun        ],
613*4882a593Smuzhiyun        "files": [
614*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_gdbm.*.so"
615*4882a593Smuzhiyun        ],
616*4882a593Smuzhiyun        "cached": []
617*4882a593Smuzhiyun    },
618*4882a593Smuzhiyun    "html": {
619*4882a593Smuzhiyun        "summary": "Python HTML processing support",
620*4882a593Smuzhiyun        "rdepends": [
621*4882a593Smuzhiyun            "core"
622*4882a593Smuzhiyun        ],
623*4882a593Smuzhiyun        "files": [
624*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/formatter.py",
625*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/html"
626*4882a593Smuzhiyun        ],
627*4882a593Smuzhiyun        "cached": [
628*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/formatter.*.pyc"
629*4882a593Smuzhiyun        ]
630*4882a593Smuzhiyun    },
631*4882a593Smuzhiyun    "idle": {
632*4882a593Smuzhiyun        "summary": "Python Integrated Development Environment",
633*4882a593Smuzhiyun        "rdepends": [
634*4882a593Smuzhiyun            "core"
635*4882a593Smuzhiyun        ],
636*4882a593Smuzhiyun        "files": [
637*4882a593Smuzhiyun            "${bindir}/idle*",
638*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/idlelib"
639*4882a593Smuzhiyun        ],
640*4882a593Smuzhiyun        "cached": []
641*4882a593Smuzhiyun    },
642*4882a593Smuzhiyun    "image": {
643*4882a593Smuzhiyun        "summary": "Python graphical image handling",
644*4882a593Smuzhiyun        "rdepends": [
645*4882a593Smuzhiyun            "core"
646*4882a593Smuzhiyun        ],
647*4882a593Smuzhiyun        "files": [
648*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/colorsys.py",
649*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/imghdr.py"
650*4882a593Smuzhiyun        ],
651*4882a593Smuzhiyun        "cached": [
652*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/colorsys.*.pyc",
653*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imghdr.*.pyc"
654*4882a593Smuzhiyun        ]
655*4882a593Smuzhiyun    },
656*4882a593Smuzhiyun    "io": {
657*4882a593Smuzhiyun        "summary": "Python low-level I/O",
658*4882a593Smuzhiyun        "rdepends": [
659*4882a593Smuzhiyun            "core",
660*4882a593Smuzhiyun            "crypt",
661*4882a593Smuzhiyun            "math",
662*4882a593Smuzhiyun            "netclient",
663*4882a593Smuzhiyun            "shell"
664*4882a593Smuzhiyun        ],
665*4882a593Smuzhiyun        "files": [
666*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_pyio.py",
667*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py",
668*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_socket.*.so",
669*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ssl.*.so",
670*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/termios.*.so",
671*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pipes.py",
672*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/socket.py",
673*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/ssl.py",
674*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/tempfile.py"
675*4882a593Smuzhiyun        ],
676*4882a593Smuzhiyun        "cached": [
677*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pyio.*.pyc",
678*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc",
679*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pipes.*.pyc",
680*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socket.*.pyc",
681*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ssl.*.pyc",
682*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tempfile.*.pyc"
683*4882a593Smuzhiyun        ]
684*4882a593Smuzhiyun    },
685*4882a593Smuzhiyun    "json": {
686*4882a593Smuzhiyun        "summary": "Python JSON support",
687*4882a593Smuzhiyun        "rdepends": [
688*4882a593Smuzhiyun            "core"
689*4882a593Smuzhiyun        ],
690*4882a593Smuzhiyun        "files": [
691*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/json",
692*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_json.*.so"
693*4882a593Smuzhiyun        ],
694*4882a593Smuzhiyun        "cached": []
695*4882a593Smuzhiyun    },
696*4882a593Smuzhiyun    "logging": {
697*4882a593Smuzhiyun        "summary": "Python logging support",
698*4882a593Smuzhiyun        "rdepends": [
699*4882a593Smuzhiyun            "core",
700*4882a593Smuzhiyun            "io",
701*4882a593Smuzhiyun            "netserver",
702*4882a593Smuzhiyun            "pickle",
703*4882a593Smuzhiyun            "stringold",
704*4882a593Smuzhiyun            "threading"
705*4882a593Smuzhiyun        ],
706*4882a593Smuzhiyun        "files": [
707*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/logging"
708*4882a593Smuzhiyun        ],
709*4882a593Smuzhiyun        "cached": []
710*4882a593Smuzhiyun    },
711*4882a593Smuzhiyun    "mailbox": {
712*4882a593Smuzhiyun        "summary": "Python mailbox format support",
713*4882a593Smuzhiyun        "rdepends": [
714*4882a593Smuzhiyun            "core",
715*4882a593Smuzhiyun            "crypt",
716*4882a593Smuzhiyun            "datetime",
717*4882a593Smuzhiyun            "email",
718*4882a593Smuzhiyun            "fcntl",
719*4882a593Smuzhiyun            "io",
720*4882a593Smuzhiyun            "math",
721*4882a593Smuzhiyun            "mime",
722*4882a593Smuzhiyun            "netclient",
723*4882a593Smuzhiyun            "stringold"
724*4882a593Smuzhiyun        ],
725*4882a593Smuzhiyun        "files": [
726*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/mailbox.py"
727*4882a593Smuzhiyun        ],
728*4882a593Smuzhiyun        "cached": [
729*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/mailbox.*.pyc"
730*4882a593Smuzhiyun        ]
731*4882a593Smuzhiyun    },
732*4882a593Smuzhiyun    "math": {
733*4882a593Smuzhiyun        "summary": "Python math support",
734*4882a593Smuzhiyun        "rdepends": [
735*4882a593Smuzhiyun            "core",
736*4882a593Smuzhiyun            "crypt"
737*4882a593Smuzhiyun        ],
738*4882a593Smuzhiyun        "files": [
739*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_random.*.so",
740*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/cmath.*.so",
741*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/random.py"
742*4882a593Smuzhiyun        ],
743*4882a593Smuzhiyun        "cached": [
744*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/random.*.pyc"
745*4882a593Smuzhiyun        ]
746*4882a593Smuzhiyun    },
747*4882a593Smuzhiyun    "mime": {
748*4882a593Smuzhiyun        "summary": "Python MIME handling APIs",
749*4882a593Smuzhiyun        "rdepends": [
750*4882a593Smuzhiyun            "core"
751*4882a593Smuzhiyun        ],
752*4882a593Smuzhiyun        "files": [
753*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/quopri.py",
754*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/uu.py"
755*4882a593Smuzhiyun        ],
756*4882a593Smuzhiyun        "cached": [
757*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/quopri.*.pyc",
758*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/uu.*.pyc"
759*4882a593Smuzhiyun        ]
760*4882a593Smuzhiyun    },
761*4882a593Smuzhiyun    "mmap": {
762*4882a593Smuzhiyun        "summary": "Python memory-mapped file support",
763*4882a593Smuzhiyun        "rdepends": [
764*4882a593Smuzhiyun            "core"
765*4882a593Smuzhiyun        ],
766*4882a593Smuzhiyun        "files": [
767*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/mmap.*.so"
768*4882a593Smuzhiyun        ],
769*4882a593Smuzhiyun        "cached": []
770*4882a593Smuzhiyun    },
771*4882a593Smuzhiyun    "modules": {
772*4882a593Smuzhiyun        "cached": [],
773*4882a593Smuzhiyun        "files": [],
774*4882a593Smuzhiyun        "rdepends": [
775*4882a593Smuzhiyun            "2to3",
776*4882a593Smuzhiyun            "asyncio",
777*4882a593Smuzhiyun            "audio",
778*4882a593Smuzhiyun            "codecs",
779*4882a593Smuzhiyun            "compile",
780*4882a593Smuzhiyun            "compression",
781*4882a593Smuzhiyun            "core",
782*4882a593Smuzhiyun            "crypt",
783*4882a593Smuzhiyun            "ctypes",
784*4882a593Smuzhiyun            "curses",
785*4882a593Smuzhiyun            "datetime",
786*4882a593Smuzhiyun            "db",
787*4882a593Smuzhiyun            "debugger",
788*4882a593Smuzhiyun            "difflib",
789*4882a593Smuzhiyun            "distutils",
790*4882a593Smuzhiyun            "doctest",
791*4882a593Smuzhiyun            "email",
792*4882a593Smuzhiyun            "fcntl",
793*4882a593Smuzhiyun            "html",
794*4882a593Smuzhiyun            "idle",
795*4882a593Smuzhiyun            "image",
796*4882a593Smuzhiyun            "io",
797*4882a593Smuzhiyun            "json",
798*4882a593Smuzhiyun            "logging",
799*4882a593Smuzhiyun            "mailbox",
800*4882a593Smuzhiyun            "math",
801*4882a593Smuzhiyun            "mime",
802*4882a593Smuzhiyun            "mmap",
803*4882a593Smuzhiyun            "multiprocessing",
804*4882a593Smuzhiyun            "netclient",
805*4882a593Smuzhiyun            "netserver",
806*4882a593Smuzhiyun            "numbers",
807*4882a593Smuzhiyun            "pickle",
808*4882a593Smuzhiyun            "pkgutil",
809*4882a593Smuzhiyun            "plistlib",
810*4882a593Smuzhiyun            "pprint",
811*4882a593Smuzhiyun            "profile",
812*4882a593Smuzhiyun            "pydoc",
813*4882a593Smuzhiyun            "resource",
814*4882a593Smuzhiyun            "shell",
815*4882a593Smuzhiyun            "smtpd",
816*4882a593Smuzhiyun            "sqlite3",
817*4882a593Smuzhiyun	    "statistics",
818*4882a593Smuzhiyun            "stringold",
819*4882a593Smuzhiyun            "syslog",
820*4882a593Smuzhiyun            "terminal",
821*4882a593Smuzhiyun            "threading",
822*4882a593Smuzhiyun            "tkinter",
823*4882a593Smuzhiyun            "unittest",
824*4882a593Smuzhiyun            "unixadmin",
825*4882a593Smuzhiyun            "venv",
826*4882a593Smuzhiyun            "xml",
827*4882a593Smuzhiyun            "xmlrpc"
828*4882a593Smuzhiyun        ],
829*4882a593Smuzhiyun        "rrecommends": [
830*4882a593Smuzhiyun            "distutils-windows"
831*4882a593Smuzhiyun        ],
832*4882a593Smuzhiyun        "summary": "All Python modules"
833*4882a593Smuzhiyun    },
834*4882a593Smuzhiyun    "multiprocessing": {
835*4882a593Smuzhiyun        "summary": "Python multiprocessing support",
836*4882a593Smuzhiyun        "rdepends": [
837*4882a593Smuzhiyun            "core",
838*4882a593Smuzhiyun            "crypt",
839*4882a593Smuzhiyun            "ctypes",
840*4882a593Smuzhiyun            "io",
841*4882a593Smuzhiyun            "math",
842*4882a593Smuzhiyun            "mmap",
843*4882a593Smuzhiyun            "netclient",
844*4882a593Smuzhiyun            "pickle",
845*4882a593Smuzhiyun            "threading"
846*4882a593Smuzhiyun        ],
847*4882a593Smuzhiyun        "files": [
848*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multiprocessing.*.so",
849*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixshmem.*.so",
850*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/multiprocessing"
851*4882a593Smuzhiyun        ],
852*4882a593Smuzhiyun        "cached": []
853*4882a593Smuzhiyun    },
854*4882a593Smuzhiyun    "netclient": {
855*4882a593Smuzhiyun        "summary": "Python Internet Protocol clients",
856*4882a593Smuzhiyun        "rdepends": [
857*4882a593Smuzhiyun            "core",
858*4882a593Smuzhiyun            "crypt",
859*4882a593Smuzhiyun            "datetime",
860*4882a593Smuzhiyun            "email",
861*4882a593Smuzhiyun            "io",
862*4882a593Smuzhiyun            "math",
863*4882a593Smuzhiyun            "mime",
864*4882a593Smuzhiyun            "stringold"
865*4882a593Smuzhiyun        ],
866*4882a593Smuzhiyun        "files": [
867*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/base64.py",
868*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/ftplib.py",
869*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/hmac.py",
870*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/http",
871*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/http/__pycache__",
872*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_uuid.*.so",
873*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/mimetypes.py",
874*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/nntplib.py",
875*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
876*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/secrets.py",
877*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/smtplib.py",
878*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py",
879*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/uuid.py"
880*4882a593Smuzhiyun        ],
881*4882a593Smuzhiyun        "cached": [
882*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/base64.*.pyc",
883*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ftplib.*.pyc",
884*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/hmac.*.pyc",
885*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/mimetypes.*.pyc",
886*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/nntplib.*.pyc",
887*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/poplib.*.pyc",
888*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/secrets.*.pyc",
889*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/smtplib.*.pyc",
890*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/telnetlib.*.pyc",
891*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/uuid.*.pyc"
892*4882a593Smuzhiyun        ]
893*4882a593Smuzhiyun    },
894*4882a593Smuzhiyun    "netserver": {
895*4882a593Smuzhiyun        "summary": "Python Internet Protocol servers",
896*4882a593Smuzhiyun        "rdepends": [
897*4882a593Smuzhiyun            "core",
898*4882a593Smuzhiyun            "crypt",
899*4882a593Smuzhiyun            "datetime",
900*4882a593Smuzhiyun            "email",
901*4882a593Smuzhiyun            "html",
902*4882a593Smuzhiyun            "io",
903*4882a593Smuzhiyun            "math",
904*4882a593Smuzhiyun            "mime",
905*4882a593Smuzhiyun            "netclient",
906*4882a593Smuzhiyun            "stringold"
907*4882a593Smuzhiyun        ],
908*4882a593Smuzhiyun        "files": [
909*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/cgi.py",
910*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/socketserver.py"
911*4882a593Smuzhiyun        ],
912*4882a593Smuzhiyun        "cached": [
913*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cgi.*.pyc",
914*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socketserver.*.pyc"
915*4882a593Smuzhiyun        ]
916*4882a593Smuzhiyun    },
917*4882a593Smuzhiyun    "numbers": {
918*4882a593Smuzhiyun        "summary": "Python number APIs",
919*4882a593Smuzhiyun        "rdepends": [
920*4882a593Smuzhiyun            "core"
921*4882a593Smuzhiyun        ],
922*4882a593Smuzhiyun        "files": [
923*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_pydecimal.py",
924*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/contextvars.py",
925*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/decimal.py",
926*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/fractions.py",
927*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_contextvars.*.so",
928*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_decimal.*.so",
929*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/numbers.py"
930*4882a593Smuzhiyun        ],
931*4882a593Smuzhiyun        "cached": [
932*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pydecimal.*.pyc",
933*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextvars.*.pyc",
934*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/decimal.*.pyc",
935*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fractions.*.pyc",
936*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/numbers.*.pyc"
937*4882a593Smuzhiyun        ]
938*4882a593Smuzhiyun    },
939*4882a593Smuzhiyun    "pickle": {
940*4882a593Smuzhiyun        "summary": "Python serialisation/persistence support",
941*4882a593Smuzhiyun        "rdepends": [
942*4882a593Smuzhiyun            "core"
943*4882a593Smuzhiyun        ],
944*4882a593Smuzhiyun        "files": [
945*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_compat_pickle.py",
946*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_pickle.*.so",
947*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pickle.py",
948*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pickletools.py",
949*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/shelve.py"
950*4882a593Smuzhiyun        ],
951*4882a593Smuzhiyun        "cached": [
952*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compat_pickle.*.pyc",
953*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pickle.*.pyc",
954*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pickletools.*.pyc",
955*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shelve.*.pyc"
956*4882a593Smuzhiyun        ]
957*4882a593Smuzhiyun    },
958*4882a593Smuzhiyun    "pkgutil": {
959*4882a593Smuzhiyun        "summary": "Python package extension utility support",
960*4882a593Smuzhiyun        "rdepends": [
961*4882a593Smuzhiyun            "core"
962*4882a593Smuzhiyun        ],
963*4882a593Smuzhiyun        "files": [],
964*4882a593Smuzhiyun        "cached": []
965*4882a593Smuzhiyun    },
966*4882a593Smuzhiyun    "plistlib": {
967*4882a593Smuzhiyun        "summary": "Generate and parse Mac OS X .plist files",
968*4882a593Smuzhiyun        "rdepends": [
969*4882a593Smuzhiyun            "core",
970*4882a593Smuzhiyun            "datetime",
971*4882a593Smuzhiyun            "xml"
972*4882a593Smuzhiyun        ],
973*4882a593Smuzhiyun        "files": [
974*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/plistlib.py"
975*4882a593Smuzhiyun        ],
976*4882a593Smuzhiyun        "cached": [
977*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/plistlib.*.pyc"
978*4882a593Smuzhiyun        ]
979*4882a593Smuzhiyun    },
980*4882a593Smuzhiyun    "pprint": {
981*4882a593Smuzhiyun        "summary": "Python pretty-print support",
982*4882a593Smuzhiyun        "rdepends": [
983*4882a593Smuzhiyun            "core",
984*4882a593Smuzhiyun	    "profile"
985*4882a593Smuzhiyun        ],
986*4882a593Smuzhiyun        "files": [
987*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pprint.py"
988*4882a593Smuzhiyun        ],
989*4882a593Smuzhiyun        "cached": [
990*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pprint.*.pyc"
991*4882a593Smuzhiyun        ]
992*4882a593Smuzhiyun    },
993*4882a593Smuzhiyun    "profile": {
994*4882a593Smuzhiyun        "summary": "Python basic performance profiling support",
995*4882a593Smuzhiyun        "rdepends": [
996*4882a593Smuzhiyun            "core"
997*4882a593Smuzhiyun        ],
998*4882a593Smuzhiyun        "files": [
999*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/cProfile.py",
1000*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/dataclasses.py",
1001*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lsprof.*.so",
1002*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/profile.py",
1003*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pstats.py"
1004*4882a593Smuzhiyun        ],
1005*4882a593Smuzhiyun        "cached": [
1006*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cProfile.*.pyc",
1007*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dataclasses.*.pyc",
1008*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/profile.*.pyc",
1009*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
1010*4882a593Smuzhiyun        ]
1011*4882a593Smuzhiyun    },
1012*4882a593Smuzhiyun    "pydoc": {
1013*4882a593Smuzhiyun        "summary": "Python interactive help support",
1014*4882a593Smuzhiyun        "rdepends": [
1015*4882a593Smuzhiyun            "core"
1016*4882a593Smuzhiyun        ],
1017*4882a593Smuzhiyun        "files": [
1018*4882a593Smuzhiyun            "${bindir}/pydoc*",
1019*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
1020*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pydoc_data"
1021*4882a593Smuzhiyun        ],
1022*4882a593Smuzhiyun        "cached": [
1023*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc"
1024*4882a593Smuzhiyun        ]
1025*4882a593Smuzhiyun    },
1026*4882a593Smuzhiyun    "resource": {
1027*4882a593Smuzhiyun        "summary": "Python resource control interface",
1028*4882a593Smuzhiyun        "rdepends": [
1029*4882a593Smuzhiyun            "core"
1030*4882a593Smuzhiyun        ],
1031*4882a593Smuzhiyun        "files": [
1032*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/resource.*.so"
1033*4882a593Smuzhiyun        ],
1034*4882a593Smuzhiyun        "cached": []
1035*4882a593Smuzhiyun    },
1036*4882a593Smuzhiyun    "shell": {
1037*4882a593Smuzhiyun        "summary": "Python shell-like functionality",
1038*4882a593Smuzhiyun        "rdepends": [
1039*4882a593Smuzhiyun            "core",
1040*4882a593Smuzhiyun            "stringold"
1041*4882a593Smuzhiyun        ],
1042*4882a593Smuzhiyun        "files": [
1043*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/cmd.py",
1044*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/glob.py",
1045*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/shlex.py"
1046*4882a593Smuzhiyun        ],
1047*4882a593Smuzhiyun        "cached": [
1048*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cmd.*.pyc",
1049*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/glob.*.pyc",
1050*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc"
1051*4882a593Smuzhiyun        ]
1052*4882a593Smuzhiyun    },
1053*4882a593Smuzhiyun    "smtpd": {
1054*4882a593Smuzhiyun        "summary": "Python Simple Mail Transport Daemon",
1055*4882a593Smuzhiyun        "rdepends": [
1056*4882a593Smuzhiyun            "core",
1057*4882a593Smuzhiyun            "crypt",
1058*4882a593Smuzhiyun            "datetime",
1059*4882a593Smuzhiyun            "email",
1060*4882a593Smuzhiyun            "io",
1061*4882a593Smuzhiyun            "math",
1062*4882a593Smuzhiyun            "mime",
1063*4882a593Smuzhiyun            "netclient",
1064*4882a593Smuzhiyun            "stringold"
1065*4882a593Smuzhiyun        ],
1066*4882a593Smuzhiyun        "files": [
1067*4882a593Smuzhiyun            "${bindir}/smtpd.py",
1068*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/asynchat.py",
1069*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/asyncore.py",
1070*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/smtpd.py"
1071*4882a593Smuzhiyun        ],
1072*4882a593Smuzhiyun        "cached": [
1073*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asynchat.*.pyc",
1074*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asyncore.*.pyc",
1075*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/smtpd.*.pyc"
1076*4882a593Smuzhiyun        ]
1077*4882a593Smuzhiyun    },
1078*4882a593Smuzhiyun    "sqlite3": {
1079*4882a593Smuzhiyun        "summary": "Python Sqlite3 database support",
1080*4882a593Smuzhiyun        "rdepends": [
1081*4882a593Smuzhiyun            "core",
1082*4882a593Smuzhiyun            "datetime"
1083*4882a593Smuzhiyun        ],
1084*4882a593Smuzhiyun        "files": [
1085*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sqlite3.*.so",
1086*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/sqlite3"
1087*4882a593Smuzhiyun        ],
1088*4882a593Smuzhiyun        "cached": []
1089*4882a593Smuzhiyun    },
1090*4882a593Smuzhiyun    "statistics": {
1091*4882a593Smuzhiyun	"summary": "Basic statistics module",
1092*4882a593Smuzhiyun	"rdepends": [
1093*4882a593Smuzhiyun	    "core",
1094*4882a593Smuzhiyun	    "math",
1095*4882a593Smuzhiyun	    "numbers"
1096*4882a593Smuzhiyun	],
1097*4882a593Smuzhiyun	"files": [
1098*4882a593Smuzhiyun	    "${libdir}/python${PYTHON_MAJMIN}/statistics.py"
1099*4882a593Smuzhiyun	],
1100*4882a593Smuzhiyun	"cached": [
1101*4882a593Smuzhiyun	    "${libdir}/python${PYTHON_MAJMIN}/__pycache__/statistics.*.pyc"
1102*4882a593Smuzhiyun	]
1103*4882a593Smuzhiyun    },
1104*4882a593Smuzhiyun    "stringold": {
1105*4882a593Smuzhiyun        "summary": "Python string APIs [deprecated]",
1106*4882a593Smuzhiyun        "rdepends": [
1107*4882a593Smuzhiyun            "core"
1108*4882a593Smuzhiyun        ],
1109*4882a593Smuzhiyun        "files": [
1110*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/string.py"
1111*4882a593Smuzhiyun        ],
1112*4882a593Smuzhiyun        "cached": [
1113*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/string.*.pyc"
1114*4882a593Smuzhiyun        ]
1115*4882a593Smuzhiyun    },
1116*4882a593Smuzhiyun    "syslog": {
1117*4882a593Smuzhiyun        "summary": "Python syslog interface",
1118*4882a593Smuzhiyun        "rdepends": [
1119*4882a593Smuzhiyun            "core"
1120*4882a593Smuzhiyun        ],
1121*4882a593Smuzhiyun        "files": [
1122*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/syslog.*.so"
1123*4882a593Smuzhiyun        ],
1124*4882a593Smuzhiyun        "cached": []
1125*4882a593Smuzhiyun    },
1126*4882a593Smuzhiyun    "terminal": {
1127*4882a593Smuzhiyun        "summary": "Python terminal controlling support",
1128*4882a593Smuzhiyun        "rdepends": [
1129*4882a593Smuzhiyun            "core",
1130*4882a593Smuzhiyun            "io"
1131*4882a593Smuzhiyun        ],
1132*4882a593Smuzhiyun        "files": [
1133*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/pty.py",
1134*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/tty.py"
1135*4882a593Smuzhiyun        ],
1136*4882a593Smuzhiyun        "cached": [
1137*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pty.*.pyc",
1138*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tty.*.pyc"
1139*4882a593Smuzhiyun        ]
1140*4882a593Smuzhiyun    },
1141*4882a593Smuzhiyun    "threading": {
1142*4882a593Smuzhiyun        "summary": "Python threading & synchronization support",
1143*4882a593Smuzhiyun        "rdepends": [
1144*4882a593Smuzhiyun            "core"
1145*4882a593Smuzhiyun        ],
1146*4882a593Smuzhiyun        "files": [
1147*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/_threading_local.py",
1148*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_queue.*.so",
1149*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/queue.py"
1150*4882a593Smuzhiyun        ],
1151*4882a593Smuzhiyun        "cached": [
1152*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_threading_local.*.pyc",
1153*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/queue.*.pyc"
1154*4882a593Smuzhiyun        ]
1155*4882a593Smuzhiyun    },
1156*4882a593Smuzhiyun    "tkinter": {
1157*4882a593Smuzhiyun        "summary": "Python Tcl/Tk bindings",
1158*4882a593Smuzhiyun        "rdepends": [
1159*4882a593Smuzhiyun            "core"
1160*4882a593Smuzhiyun        ],
1161*4882a593Smuzhiyun        "files": [
1162*4882a593Smuzhiyun	    "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so",
1163*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/tkinter"
1164*4882a593Smuzhiyun        ],
1165*4882a593Smuzhiyun        "cached": []
1166*4882a593Smuzhiyun    },
1167*4882a593Smuzhiyun    "unittest": {
1168*4882a593Smuzhiyun        "summary": "Python unit testing framework",
1169*4882a593Smuzhiyun        "rdepends": [
1170*4882a593Smuzhiyun            "asyncio",
1171*4882a593Smuzhiyun            "core",
1172*4882a593Smuzhiyun            "difflib",
1173*4882a593Smuzhiyun            "io",
1174*4882a593Smuzhiyun            "logging",
1175*4882a593Smuzhiyun            "netclient",
1176*4882a593Smuzhiyun            "numbers",
1177*4882a593Smuzhiyun            "pprint",
1178*4882a593Smuzhiyun            "stringold"
1179*4882a593Smuzhiyun        ],
1180*4882a593Smuzhiyun        "files": [
1181*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/unittest",
1182*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/unittest/",
1183*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/unittest/__pycache__"
1184*4882a593Smuzhiyun        ],
1185*4882a593Smuzhiyun        "cached": []
1186*4882a593Smuzhiyun    },
1187*4882a593Smuzhiyun    "unixadmin": {
1188*4882a593Smuzhiyun        "summary": "Python Unix administration support",
1189*4882a593Smuzhiyun        "rdepends": [
1190*4882a593Smuzhiyun            "core",
1191*4882a593Smuzhiyun            "io"
1192*4882a593Smuzhiyun        ],
1193*4882a593Smuzhiyun        "files": [
1194*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/getpass.py",
1195*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/nis.*.so"
1196*4882a593Smuzhiyun        ],
1197*4882a593Smuzhiyun        "cached": [
1198*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/getpass.*.pyc"
1199*4882a593Smuzhiyun        ]
1200*4882a593Smuzhiyun    },
1201*4882a593Smuzhiyun    "venv": {
1202*4882a593Smuzhiyun        "summary": "Provides support for creating lightweight virtual environments with their own site directories, optionally isolated from system site directories.",
1203*4882a593Smuzhiyun        "rdepends": [
1204*4882a593Smuzhiyun            "core",
1205*4882a593Smuzhiyun            "logging",
1206*4882a593Smuzhiyun            "stringold"
1207*4882a593Smuzhiyun        ],
1208*4882a593Smuzhiyun        "files": [
1209*4882a593Smuzhiyun            "${bindir}/pyvenv*",
1210*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/venv"
1211*4882a593Smuzhiyun        ],
1212*4882a593Smuzhiyun        "cached": []
1213*4882a593Smuzhiyun    },
1214*4882a593Smuzhiyun    "xml": {
1215*4882a593Smuzhiyun        "summary": "Python basic XML support",
1216*4882a593Smuzhiyun        "rdepends": [
1217*4882a593Smuzhiyun            "core"
1218*4882a593Smuzhiyun        ],
1219*4882a593Smuzhiyun        "files": [
1220*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_elementtree.*.so",
1221*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/pyexpat.*.so",
1222*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/xml"
1223*4882a593Smuzhiyun        ],
1224*4882a593Smuzhiyun        "cached": []
1225*4882a593Smuzhiyun    },
1226*4882a593Smuzhiyun    "xmlrpc": {
1227*4882a593Smuzhiyun        "summary": "Python XML-RPC support",
1228*4882a593Smuzhiyun        "rdepends": [
1229*4882a593Smuzhiyun            "compression",
1230*4882a593Smuzhiyun            "core",
1231*4882a593Smuzhiyun            "crypt",
1232*4882a593Smuzhiyun            "datetime",
1233*4882a593Smuzhiyun            "email",
1234*4882a593Smuzhiyun            "fcntl",
1235*4882a593Smuzhiyun            "html",
1236*4882a593Smuzhiyun            "io",
1237*4882a593Smuzhiyun            "math",
1238*4882a593Smuzhiyun            "mime",
1239*4882a593Smuzhiyun            "netclient",
1240*4882a593Smuzhiyun            "netserver",
1241*4882a593Smuzhiyun            "numbers",
1242*4882a593Smuzhiyun            "pydoc",
1243*4882a593Smuzhiyun            "stringold",
1244*4882a593Smuzhiyun            "xml"
1245*4882a593Smuzhiyun        ],
1246*4882a593Smuzhiyun        "files": [
1247*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/xmlrpc",
1248*4882a593Smuzhiyun            "${libdir}/python${PYTHON_MAJMIN}/xmlrpc/__pycache__"
1249*4882a593Smuzhiyun        ],
1250*4882a593Smuzhiyun        "cached": []
1251*4882a593Smuzhiyun    }
1252*4882a593Smuzhiyun}
1253