[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT/PYTHON3 v4 00/14] Port Python 3 on Unikraft



UPDATE: This version of the series depends on (the order should be considered
when reviewing):
1. pthread-embedded patch `pthread.h: Convert pthread_t to unsigned long` -
This is used by the second patch applied for origin code.
2. newlib series `Fix compilation warnings with Python 3` - this depends on the
Unikraft series `Make changes for fixing compilation warnings with Python3`.
3. gcc series `Use libffi with Python3 _ctypes extension` - this should be
reviewed when testing the _ctypes extension.

These are the patches needed for porting Python 3 on Unikraft. To put it
simple, the summary would sound like this:
- The first 3 patches are quite common.
- The next 5 add and customize configuration files needed by the Python
  interpreter. These files are changed in order to run on Unikraft.
- The next 2 add a bit more glue code.
- The next patch adds a make target for creating Python environments which will
  be needed for testing.
- The last one adds the configuration option for running the main() function
  from the external library, which would simplify the creation of an app.

Besides mounting the filesystem, all the other dependencies are already sent on
the mailing list.

Changes since v3:
- Revisit root filesystem creation
- Update documentation
- Update the second patch
- Fix uuid and _ctypes extensions
- Fix compiling warnings

Changes since v2:
- Bring back patch 1

Changes since v1:
- Remove exportsyms.uk
- Split into 2 libs, core and extensions, because they are using different 
compiling flags
- Enable more extensions: SSL, UUID, zlib, decimal operations with libmpdec, 
XML parsing with Expat

Costin Lupu (3):
  Makefile.uk: Add rule for creating root filesystem
  Provide main() function if configured to do so
  Config.uk: Add configuration options for extensions

Vlad-Andrei Badoiu (11):
  Introduce library skeleton
  Add Makefile.uk
  patches: Fix build issues
  pyconfig.h: Introduce file
  pyconfig.h: Disable features that are not avaiable on Unikraft
  _sysconfigdata.py: Introduce file
  _sysconfigdata.py: Disable features that are not avaiable on Unikraft
  Add modules_config.c
  Add stubs.c for stubbed functions
  Add init.c for initialization
  README.md: Update with info about building and running

 .gitignore                                    |   27 +
 CODING_STYLE.md                               |    4 +
 CONTRIBUTING.md                               |    4 +
 COPYING.md                                    |   39 +
 Config.uk                                     |   78 +
 MAINTAINERS.md                                |   12 +
 Makefile.uk                                   |  492 +++++
 README.md                                     |   88 +
 _sysconfigdata.py                             |  707 ++++++++
 include/Python.h                              |   50 +
 include/pyconfig.h                            | 1590 +++++++++++++++++
 init.c                                        |   46 +
 main.c                                        |    8 +
 modules_config.c                              |  334 ++++
 ...1-Undefine-HAVE_FORK-and-HAVE_EXECVE.patch |   26 +
 ...thread_t-to-unsigned-long-conversion.patch |   40 +
 stubs.c                                       |   45 +
 17 files changed, 3590 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 CODING_STYLE.md
 create mode 100644 CONTRIBUTING.md
 create mode 100644 COPYING.md
 create mode 100644 Config.uk
 create mode 100644 MAINTAINERS.md
 create mode 100644 Makefile.uk
 create mode 100644 README.md
 create mode 100644 _sysconfigdata.py
 create mode 100644 include/Python.h
 create mode 100644 include/pyconfig.h
 create mode 100644 init.c
 create mode 100644 main.c
 create mode 100644 modules_config.c
 create mode 100644 patches/0001-Undefine-HAVE_FORK-and-HAVE_EXECVE.patch
 create mode 100644 patches/0002-Use-pthread_t-to-unsigned-long-conversion.patch
 create mode 100644 stubs.c

-- 
2.20.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.