# DO NOT (entirely) modify this file manually, please read. # # IMPORTANT NOTE: # Please keep in mind that the create_manifest task relies on the fact the the # target and native Python packages are the same, and it also needs to be executed # with a fully working native package (with all the PACKAGECONFIGs enabled and all # and all the modules should be working, check log.do_compile), otherwise the script # will fail to find dependencies correctly, this note is valid either if you are # upgrading to a new Python version or adding a new package. # # # If you are adding a new package please follow the next steps: # How to add a new package: # - If a user wants to add a new package all that has to be done is: # Modify the python2-manifest.json file, and add the required file(s) to the FILES list, # fill up the SUMMARY section as well, the script should handle all the rest. # # Real example: # We want to add a web browser package, including the file webbrowser.py # which at the moment is on python-misc. # "webbrowser": { # "files": ["${libdir}/python2.7/lib-dynload/webbrowser.py"], # "rdepends": [], # "summary": "Python Web Browser support"} # # * Note that the rdepends field was left empty # # We run $ bitbake python -c create_manifest and the resulting manifest # should be completed after a few seconds, showing something like: # "webbrowser": { # "files": ["${libdir}/python2.7/webbrowser.py"], # "rdepends": ["core","fcntl","io","pickle","shell","subprocess"], # "summary": "Python Web Browser support"} # # # If you are upgrading Python to a new version please follow the next steps: # After each Python upgrade, the create_manifest task should be executed, because we # don't control what changes on upstream Python, so, some module dependency # might have changed without us realizing it, a certain module can either have # more or less dependencies, or could be depending on a new file that was just # created on the new release and for obvious reasons we wouldn't have it on our # old manifest, all of these issues would cause runtime errors on our system. # # - Upgrade both the native and target Python packages to a new version # - Run the create_manifest task for the target Python package as its shown below: # # $ bitbake python -c create_manifest # # This will automatically replace your manifest file located under the Python directory # with an new one, which contains the new dependencies (if any). # # Several things could have gone wrong here, I will try to explain a few: # # a) A new file was introduced on this release, e.g. sha3*.so: # The task will check what its needed to import every module, more than one module would # would probably depend on sha3*.so, although only one module should contain it. # # After running the task, the new manifest will have the sha3*.so file on more than one # module, you need to manually decide which one of them should get it and delete it from # the others, for example sha3*.so should likely be on ${PN}-crypt. # Once you have deleted from the others you need to run the create_manifest task again, # this will populate the other module's rdepends fields, with ${PN}-crypt and you should be # good to go. # # b) The native package wasn't built correctly and its missing a certain module: # As mentioned before, you need to make sure the native package was built with all the modules # because it is used as base to build the manifest file, you need to manually check log.do_compile # since it won't error out the compile function if its only missing a couple of modules. # # e.g. missing the _uuid module, log.do_compile would show the following: # Python build finished successfully! # The necessary bits to build these optional modules were not found: # _uuid # # What will happen here is that the new manifest would not be aware that the _uuid module exists, so # not only we won't know of any dependencies to it, but also, the _uuid* files will be packaged on # the misc package (which is where any file that doesn't belong anywhere else ends up). # # This will eventually cause runtime errors on our system if we don't include the misc package on # on our image, because the _uuid files will be missing. # If we build the _uuid module correctly and run the create_manifest task the _uuid files will be # detected correctly along with its dependencies, and we will get a working manifest. # # This is the reason why it is important to make sure we have a fully working native build, # so we can avoid these errors. # # # # DO NOT MODIFY THE NEXT LINE!, IT IS USED AS A MARKER FOR THE ACTUAL JSON MANIFEST # EOC { "tests": { "summary": "Python test suite", "rdepends": [ "core", "modules" ], "files": [ "${libdir}/python2.7/*/test", "${libdir}/python2.7/*/tests", "${libdir}/python2.7/idlelib/idle_test/", "${libdir}/python2.7/test" ], "cached": [] }, "2to3": { "summary": "Python automated Python 2 to 3 code translator", "rdepends": [ "core" ], "files": [ "${bindir}/2to3*", "${libdir}/python2.7/lib2to3" ] }, "argparse": { "summary": "Python command line argument parser", "rdepends": [ "codecs", "core", "lang", "textutils" ], "files": [ "${libdir}/python2.7/argparse.py" ] }, "audio": { "summary": "Python Audio Handling", "rdepends": [ "core", "crypt", "fcntl", "io", "math" ], "files": [ "${libdir}/python2.7/audiodev.py", "${libdir}/python2.7/chunk.py", "${libdir}/python2.7/lib-dynload/audioop.so", "${libdir}/python2.7/lib-dynload/ossaudiodev.so", "${libdir}/python2.7/sndhdr.py", "${libdir}/python2.7/sunau.py", "${libdir}/python2.7/sunaudio.py", "${libdir}/python2.7/toaiff.py", "${libdir}/python2.7/wave.py" ] }, "bsddb": { "summary": "Python bindings for the Berkeley Database", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/bsddb", "${libdir}/python2.7/lib-dynload/_bsddb.so" ] }, "codecs": { "summary": "Python codec", "rdepends": [ "core", "io", "lang" ], "files": [ "${libdir}/python2.7/gettext.py", "${libdir}/python2.7/lib-dynload/_codecs_cn.so", "${libdir}/python2.7/lib-dynload/_codecs_hk.so", "${libdir}/python2.7/lib-dynload/_codecs_iso2022.so", "${libdir}/python2.7/lib-dynload/_codecs_jp.so", "${libdir}/python2.7/lib-dynload/_codecs_kr.so", "${libdir}/python2.7/lib-dynload/_codecs_tw.so", "${libdir}/python2.7/lib-dynload/_multibytecodec.so", "${libdir}/python2.7/lib-dynload/unicodedata.so", "${libdir}/python2.7/locale.py", "${libdir}/python2.7/stringprep.py", "${libdir}/python2.7/xdrlib.py" ] }, "compile": { "summary": "Python bytecode compilation support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/compileall.py", "${libdir}/python2.7/py_compile.py" ] }, "compiler": { "summary": "Python compiler support", "rdepends": [ "core", "io", "lang" ], "files": [ "${libdir}/python2.7/compiler" ] }, "compression": { "summary": "Python high-level compression support", "rdepends": [ "core", "io", "shell", "unixadmin", "zlib" ], "files": [ "${libdir}/python2.7/gzip.py", "${libdir}/python2.7/lib-dynload/bz2.so", "${libdir}/python2.7/tarfile.py", "${libdir}/python2.7/zipfile.py" ] }, "contextlib": { "summary": "Python utilities for with-statementcontexts.", "rdepends": [ "core", "lang" ], "files": [ "${libdir}/python2.7/contextlib.py" ] }, "core": { "summary": "Python interpreter and core modules", "rdepends": [], "files": [ "${bindir}/python*", "${includedir}/python2.7/pyconfig*.h", "${libdir}/python2.7/ConfigParser.py", "${libdir}/python2.7/UserDict.py", "${libdir}/python2.7/UserList.py", "${libdir}/python2.7/UserString.py", "${libdir}/python2.7/__future__.py", "${libdir}/python2.7/_abcoll.py", "${libdir}/python2.7/_sysconfigdata.py", "${libdir}/python2.7/_weakrefset.py", "${libdir}/python2.7/abc.py", "${libdir}/python2.7/ast.py", "${libdir}/python2.7/atexit.py", "${libdir}/python2.7/codecs.py", "${libdir}/python2.7/collections.py", "${libdir}/python2.7/copy.py", "${libdir}/python2.7/copy_reg.py", "${libdir}/python2.7/encodings", "${libdir}/python2.7/encodings/aliases.py", "${libdir}/python2.7/encodings/utf_8.py", "${libdir}/python2.7/genericpath.py", "${libdir}/python2.7/getopt.py", "${libdir}/python2.7/heapq.py", "${libdir}/python2.7/importlib", "${libdir}/python2.7/keyword.py", "${libdir}/python2.7/lib-dynload/_collections.so", "${libdir}/python2.7/lib-dynload/_heapq.so", "${libdir}/python2.7/lib-dynload/_locale.so", "${libdir}/python2.7/lib-dynload/_struct.so", "${libdir}/python2.7/lib-dynload/binascii.so", "${libdir}/python2.7/lib-dynload/itertools.so", "${libdir}/python2.7/lib-dynload/operator.so", "${libdir}/python2.7/lib-dynload/readline.so", "${libdir}/python2.7/lib-dynload/strop.so", "${libdir}/python2.7/lib-dynload/time.so", "${libdir}/python2.7/lib-dynload/xreadlines.so", "${libdir}/python2.7/linecache.py", "${libdir}/python2.7/new.py", "${libdir}/python2.7/os.py", "${libdir}/python2.7/platform.py", "${libdir}/python2.7/posixpath.py", "${libdir}/python2.7/re.py", "${libdir}/python2.7/rlcompleter.py", "${libdir}/python2.7/site.py", "${libdir}/python2.7/sitecustomize.py", "${libdir}/python2.7/sre_compile.py", "${libdir}/python2.7/sre_constants.py", "${libdir}/python2.7/sre_parse.py", "${libdir}/python2.7/stat.py", "${libdir}/python2.7/string.py", "${libdir}/python2.7/struct.py", "${libdir}/python2.7/sysconfig.py", "${libdir}/python2.7/traceback.py", "${libdir}/python2.7/types.py", "${libdir}/python2.7/warnings.py", "${libdir}/python2.7/weakref.py" ] }, "crypt": { "summary": "Python basic cryptographic and hashing support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/hashlib.py", "${libdir}/python2.7/lib-dynload/_hashlib.so", "${libdir}/python2.7/lib-dynload/crypt.so", "${libdir}/python2.7/md5.py", "${libdir}/python2.7/sha.py" ] }, "ctypes": { "summary": "Python C types support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/ctypes", "${libdir}/python2.7/lib-dynload/_ctypes.so", "${libdir}/python2.7/lib-dynload/_ctypes_test.so" ] }, "curses": { "summary": "Python curses support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/curses", "${libdir}/python2.7/lib-dynload/_curses.so", "${libdir}/python2.7/lib-dynload/_curses_panel.so" ] }, "datetime": { "summary": "Python calendar and time support", "rdepends": [ "codecs", "core", "lang" ], "files": [ "${libdir}/python2.7/_strptime.py", "${libdir}/python2.7/calendar.py", "${libdir}/python2.7/lib-dynload/datetime.so" ] }, "db": { "summary": "Python file-based database support", "rdepends": [ "bsddb", "core", "gdbm" ], "files": [ "${libdir}/python2.7/anydbm.py", "${libdir}/python2.7/dbhash.py", "${libdir}/python2.7/dumbdbm.py", "${libdir}/python2.7/lib-dynload/dbm.so", "${libdir}/python2.7/whichdb.py" ] }, "debugger": { "summary": "Python debugger", "rdepends": [ "core", "io", "lang", "pprint", "shell" ], "files": [ "${libdir}/python2.7/bdb.py", "${libdir}/python2.7/pdb.py" ] }, "dev": { "files": [ "${base_libdir}/*.a", "${base_libdir}/*.o", "${datadir}/aclocal", "${datadir}/pkgconfig", "${includedir}", "${libdir}/*.a", "${libdir}/*.la", "${libdir}/*.o", "${libdir}/lib*${SOLIBSDEV}", "${libdir}/pkgconfig", "${libdir}/python2.7/config/Makefile" ], "rdepends": [ "core" ], "summary": "Python development package" }, "difflib": { "summary": "Python helpers for computing deltas between objects", "rdepends": [ "core", "lang" ], "files": [ "${libdir}/python2.7/difflib.py" ] }, "distutils-staticdev": { "files": [ "${libdir}/python2.7/config/lib*.a" ], "rdepends": [ "distutils" ], "summary": "Python distribution utilities (static libraries)" }, "distutils": { "summary": "Python Distribution Utilities", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/config", "${libdir}/python2.7/distutils" ] }, "doctest": { "summary": "Python framework for running examples in docstrings", "rdepends": [ "core", "crypt", "debugger", "difflib", "fcntl", "io", "lang", "math", "pprint", "shell", "unittest" ], "files": [ "${libdir}/python2.7/doctest.py" ] }, "email": { "summary": "Python email support", "rdepends": [ "contextlib", "core", "crypt", "fcntl", "io", "lang", "math", "netclient", "pickle", "subprocess", "textutils", "threading" ], "files": [ "${libdir}/python2.7/email", "${libdir}/python2.7/imaplib.py" ] }, "fcntl": { "summary": "Python's fcntl interface", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/lib-dynload/fcntl.so" ] }, "gdbm": { "summary": "Python GNU database support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/lib-dynload/gdbm.so" ] }, "hotshot": { "summary": "Python hotshot performance profiler", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/hotshot", "${libdir}/python2.7/lib-dynload/_hotshot.so" ] }, "html": { "summary": "Python HTML processing support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/HTMLParser.py", "${libdir}/python2.7/formatter.py", "${libdir}/python2.7/htmlentitydefs.py", "${libdir}/python2.7/htmllib.py", "${libdir}/python2.7/markupbase.py", "${libdir}/python2.7/sgmllib.py" ] }, "idle": { "summary": "Python Integrated Development Environment", "rdepends": [ "core" ], "files": [ "${bindir}/idle", "${libdir}/python2.7/idlelib" ] }, "image": { "summary": "Python graphical image handling", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/colorsys.py", "${libdir}/python2.7/imghdr.py" ] }, "io": { "summary": "Python low-level I/O", "rdepends": [ "contextlib", "core", "crypt", "fcntl", "lang", "math", "netclient", "textutils" ], "files": [ "${libdir}/python2.7/StringIO.py", "${libdir}/python2.7/_pyio.py", "${libdir}/python2.7/io.py", "${libdir}/python2.7/lib-dynload/_io.so", "${libdir}/python2.7/lib-dynload/_socket.so", "${libdir}/python2.7/lib-dynload/_ssl.so", "${libdir}/python2.7/lib-dynload/cStringIO.so", "${libdir}/python2.7/lib-dynload/select.so", "${libdir}/python2.7/lib-dynload/termios.so", "${libdir}/python2.7/pipes.py", "${libdir}/python2.7/socket.py", "${libdir}/python2.7/ssl.py", "${libdir}/python2.7/tempfile.py" ] }, "json": { "summary": "Python JSON support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/json", "${libdir}/python2.7/lib-dynload/_json.so" ] }, "lang": { "summary": "Python low-level language support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/bisect.py", "${libdir}/python2.7/code.py", "${libdir}/python2.7/codeop.py", "${libdir}/python2.7/dis.py", "${libdir}/python2.7/functools.py", "${libdir}/python2.7/inspect.py", "${libdir}/python2.7/lib-dynload/_bisect.so", "${libdir}/python2.7/lib-dynload/_functools.so", "${libdir}/python2.7/lib-dynload/array.so", "${libdir}/python2.7/lib-dynload/parser.so", "${libdir}/python2.7/opcode.py", "${libdir}/python2.7/repr.py", "${libdir}/python2.7/symbol.py", "${libdir}/python2.7/token.py", "${libdir}/python2.7/tokenize.py" ] }, "logging": { "summary": "Python logging support", "rdepends": [ "core", "io", "threading" ], "files": [ "${libdir}/python2.7/logging" ] }, "mailbox": { "summary": "Python mailbox format support", "rdepends": [ "codecs", "contextlib", "core", "crypt", "datetime", "email", "fcntl", "io", "lang", "math", "mime", "netclient", "textutils" ], "files": [ "${libdir}/python2.7/mailbox.py" ] }, "math": { "summary": "Python math support", "rdepends": [ "core", "crypt" ], "files": [ "${libdir}/python2.7/lib-dynload/_random.so", "${libdir}/python2.7/lib-dynload/cmath.so", "${libdir}/python2.7/lib-dynload/math.so", "${libdir}/python2.7/random.py", "${libdir}/python2.7/sets.py" ] }, "mime": { "summary": "Python MIME handling APIs", "rdepends": [ "contextlib", "core", "crypt", "fcntl", "io", "lang", "math", "netclient", "textutils" ], "files": [ "${libdir}/python2.7/MimeWriter.py", "${libdir}/python2.7/mimetools.py", "${libdir}/python2.7/mimetypes.py", "${libdir}/python2.7/quopri.py", "${libdir}/python2.7/rfc822.py", "${libdir}/python2.7/uu.py" ] }, "mmap": { "summary": "Python memory-mapped file support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/lib-dynload/mmap.so" ] }, "modules": { "files": [], "rdepends": [ "2to3", "argparse", "audio", "bsddb", "codecs", "compile", "compiler", "compression", "contextlib", "core", "crypt", "ctypes", "curses", "datetime", "db", "debugger", "difflib", "distutils", "doctest", "email", "fcntl", "gdbm", "hotshot", "html", "idle", "image", "io", "json", "lang", "logging", "mailbox", "math", "mime", "mmap", "multiprocessing", "netclient", "netserver", "numbers", "pickle", "pkgutil", "plistlib", "pprint", "profile", "pydoc", "re", "resource", "robotparser", "runpy", "shell", "smtpd", "sqlite3", "sqlite3", "stringold", "subprocess", "syslog", "terminal", "textutils", "threading", "tkinter", "unittest", "unixadmin", "xml", "xmlrpc", "zlib" ], "summary": "All Python modules" }, "multiprocessing": { "summary": "Python multiprocessing support", "rdepends": [ "core", "fcntl", "io", "pickle", "subprocess", "threading" ], "files": [ "${libdir}/python2.7/lib-dynload/_multiprocessing.so", "${libdir}/python2.7/multiprocessing" ] }, "netclient": { "summary": "Python Internet Protocol clients", "rdepends": [ "codecs", "contextlib", "core", "crypt", "ctypes", "datetime", "email", "fcntl", "io", "lang", "math", "mime", "pickle", "subprocess", "textutils", "threading" ], "files": [ "${libdir}/python2.7/Cookie.py", "${libdir}/python2.7/_LWPCookieJar.py", "${libdir}/python2.7/_MozillaCookieJar.py", "${libdir}/python2.7/base64.py", "${libdir}/python2.7/cookielib.py", "${libdir}/python2.7/ftplib.py", "${libdir}/python2.7/hmac.py", "${libdir}/python2.7/httplib.py", "${libdir}/python2.7/nntplib.py", "${libdir}/python2.7/poplib.py", "${libdir}/python2.7/smtplib.py", "${libdir}/python2.7/telnetlib.py", "${libdir}/python2.7/urllib.py", "${libdir}/python2.7/urllib2.py", "${libdir}/python2.7/urlparse.py", "${libdir}/python2.7/uuid.py" ] }, "netserver": { "summary": "Python Internet Protocol servers", "rdepends": [ "compression", "contextlib", "core", "crypt", "fcntl", "io", "lang", "math", "mime", "netclient", "shell", "textutils", "threading", "unixadmin", "zlib" ], "files": [ "${libdir}/python2.7/BaseHTTPServer.py", "${libdir}/python2.7/CGIHTTPServer.py", "${libdir}/python2.7/SimpleHTTPServer.py", "${libdir}/python2.7/SocketServer.py", "${libdir}/python2.7/cgi.py" ] }, "numbers": { "summary": "Python number APIs", "rdepends": [ "codecs", "core", "lang", "math", "threading" ], "files": [ "${libdir}/python2.7/decimal.py", "${libdir}/python2.7/fractions.py", "${libdir}/python2.7/numbers.py" ] }, "pickle": { "summary": "Python serialisation/persistence support", "rdepends": [ "core", "io" ], "files": [ "${libdir}/python2.7/lib-dynload/cPickle.so", "${libdir}/python2.7/pickle.py", "${libdir}/python2.7/pickletools.py", "${libdir}/python2.7/shelve.py" ] }, "pkgutil": { "summary": "Python package extension utility support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/pkgutil.py" ] }, "plistlib": { "summary": "Generate and parse Mac OS X .plist files", "rdepends": [ "core", "datetime", "io" ], "files": [ "${libdir}/python2.7/plistlib.py" ] }, "pprint": { "summary": "Python pretty-print support", "rdepends": [ "core", "io" ], "files": [ "${libdir}/python2.7/pprint.py" ] }, "profile": { "summary": "Python basic performance profiling support", "rdepends": [ "codecs", "core", "lang", "resource", "textutils" ], "files": [ "${libdir}/python2.7/cProfile.py", "${libdir}/python2.7/lib-dynload/_lsprof.so", "${libdir}/python2.7/profile.py", "${libdir}/python2.7/pstats.py" ] }, "pydoc": { "summary": "Python interactive help support", "rdepends": [ "codecs", "core", "lang", "pkgutil" ], "files": [ "${bindir}/pydoc", "${libdir}/python2.7/pydoc.py", "${libdir}/python2.7/pydoc_data" ] }, "re": { "summary": "Python Regular Expression APIs", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/sre.py" ] }, "resource": { "summary": "Python resource control interface", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/lib-dynload/resource.so" ] }, "robotparser": { "summary": "Python robots.txt parser", "rdepends": [ "contextlib", "core", "io", "lang", "netclient", "textutils" ], "files": [ "${libdir}/python2.7/robotparser.py" ] }, "runpy": { "summary": "Python helper for locating/executing scripts in module namespace", "rdepends": [ "core", "pkgutil" ], "files": [ "${libdir}/python2.7/runpy.py" ] }, "shell": { "summary": "Python shell-like functionality", "rdepends": [ "compression", "core", "io", "unixadmin", "zlib" ], "files": [ "${libdir}/python2.7/cmd.py", "${libdir}/python2.7/commands.py", "${libdir}/python2.7/dircache.py", "${libdir}/python2.7/fnmatch.py", "${libdir}/python2.7/glob.py", "${libdir}/python2.7/popen2.py", "${libdir}/python2.7/shlex.py", "${libdir}/python2.7/shutil.py" ] }, "smtpd": { "summary": "Python Simple Mail Transport Daemon", "rdepends": [ "core", "fcntl", "io", "lang" ], "files": [ "${bindir}/smtpd.py", "${libdir}/python2.7/asynchat.py", "${libdir}/python2.7/asyncore.py", "${libdir}/python2.7/smtpd.py" ] }, "sqlite3": { "summary": "Python Sqlite3 database support", "rdepends": [ "core", "datetime" ], "files": [ "${libdir}/python2.7/lib-dynload/_sqlite3.so", "${libdir}/python2.7/sqlite3" ] }, "stringold": { "summary": "Python string APIs [deprecated]", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/stringold.py" ] }, "subprocess": { "summary": "Python subprocess support", "rdepends": [ "core", "fcntl", "io", "pickle", "threading" ], "files": [ "${libdir}/python2.7/subprocess.py" ] }, "syslog": { "summary": "Python syslog interface", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/lib-dynload/syslog.so" ] }, "terminal": { "summary": "Python terminal controlling support", "rdepends": [ "core", "io" ], "files": [ "${libdir}/python2.7/pty.py", "${libdir}/python2.7/tty.py" ] }, "textutils": { "summary": "Python option parsin", "rdepends": [ "codecs", "core", "io", "lang" ], "files": [ "${libdir}/python2.7/csv.py", "${libdir}/python2.7/lib-dynload/_csv.so", "${libdir}/python2.7/optparse.py", "${libdir}/python2.7/textwrap.py" ] }, "threading": { "summary": "Python threading & synchronization support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/Queue.py", "${libdir}/python2.7/_threading_local.py", "${libdir}/python2.7/dummy_thread.py", "${libdir}/python2.7/dummy_threading.py", "${libdir}/python2.7/mutex.py", "${libdir}/python2.7/threading.py" ] }, "tkinter": { "summary": "Python Tcl/Tk bindings", "rdepends": [ "core" ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.so", "${libdir}/python2.7/lib-tk" ] }, "unittest": { "summary": "Python unit testing framework", "rdepends": [ "core", "difflib", "io", "lang", "pprint", "shell" ], "files": [ "${libdir}/python2.7/unittest" ] }, "unixadmin": { "summary": "Python Unix administration support", "rdepends": [ "core", "io" ], "files": [ "${libdir}/python2.7/getpass.py", "${libdir}/python2.7/lib-dynload/grp.so", "${libdir}/python2.7/lib-dynload/nis.so" ] }, "xml": { "summary": "Python basic XML support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/lib-dynload/_elementtree.so", "${libdir}/python2.7/lib-dynload/pyexpat.so", "${libdir}/python2.7/xml" ] }, "xmlrpc": { "summary": "Python XML-RPC support", "rdepends": [ "codecs", "compression", "contextlib", "core", "crypt", "datetime", "fcntl", "io", "lang", "math", "mime", "netclient", "netserver", "pkgutil", "pydoc", "textutils", "threading", "xml", "zlib" ], "files": [ "${libdir}/python2.7/DocXMLRPCServer.py", "${libdir}/python2.7/SimpleXMLRPCServer.py", "${libdir}/python2.7/xmlrpclib.py" ] }, "zlib": { "summary": "Python zlib compression support", "rdepends": [ "core" ], "files": [ "${libdir}/python2.7/lib-dynload/zlib.so" ] } }