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

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


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Costin Lupu <costin.lupu@xxxxxxxxx>
  • Date: Mon, 23 Sep 2019 12:58:38 +0300
  • Cc: felipe.huici@xxxxxxxxx, vlad_andrei.badoiu@xxxxxxxxxxxxxxx
  • Delivery-date: Mon, 23 Sep 2019 09:59:03 +0000
  • Ironport-phdr: 9a23:VNqp/Ra3Gny38lXSaQ0ewdj/LSx+4OfEezUN459isYplN5qZrs6zbnLW6fgltlLVR4KTs6sC17ON9fqwEjZYqdbZ6TZeKcYKD0dEwewt3CUYSPafDkP6KPO4JwcbJ+9lEGFfwnegLEJOE9z/bVCB6le77DoVBwmtfVEtfre9FYHdldm42P6v8JPPfQpImCC9YbRvJxmqsAndrMYbjZZsJ6or1BfEoXREd/pKyWh1IV6fgwvw6t2/8ZJ+7Shcoe4t+9JFXa7nY6k2ULtUASg8PWso/sPrrx7DTQWO5nsYTGoblwdDDhbG4h/nQJr/qzP2ueVh1iaUO832Vq00Vi+576h3Uh/oiTwIOCA//WrKl8F/lqNboBampxxi347ZZZyeOfRicq/Be94RWGxMVdtTWSNcGIOxd4sBAfQcM+hWrIfzoEADoQeiCQS2GO/i0CNEimPw0KYn0+ohCwbG3Ak4Et8Qt3TUt8n1NKYUUeuoyqfI0C3Db+5L0jr69IfIdQshoe2NXbJ2a8bRzVQvFxvYjliLtYPlJCmZ1vwQs2eA9eZgT+WvhnchpgpsoTav3t8hhpTGi44I0FzJ9iV0zJwrKdGmSkN3e9CpHINNuyyVKod6WMAvTmFytCokxLALt4S3cDUFxZg5wRPUduaJfJKS4h35UeacOTJ4hHV4d72hnxuy6k2gyvHkVsmzzVZKsjJJktnSuXAJ0Bze8taHSv5n8Ueg3TaDzRzc6vpeLUAsiKrUMIQtwqQ3lpYLsETDGDH5mFnugaOLeUgo5/Kk5ufnb7n8uJOQKY15hhvwP6g2n8ywG+U4MgwAX2iB/uS80aXu8lH+QLVRkv02k6/ZvIreJcQGvq65HhRY3Zo46xqlFzemzc8XkWMdLFJCYB6HlZTmO0nSIPDkCveym1GskDZtx/DHOb3hGYzBIWXdn7f/Y7l971VRyA4yzdBE+5JUEasNIf3tVU/3rtDYCQU5MwOsyeb9FNp9zp8eWX6IAqKBPqPdr1uI5uM3I+aSfoMVuCv9K/k56P7vlnI5n0EScrWt3ZQNc3+0BOppI1iBa3r2ntgBCXsKvhY5TOHyll2CVSRcaGuqUK0m4DE0FZimApnCRoy3m7OOxjq0HppXZmBbEV2MCmvod5iZVPsWci2dPtRhniYZVbi5UIAtzwuutAipg4Zge+/V/Cwfrtfv2cZ448XXlAou7npkAsLb1HuCHE9umWZdbDgtwKF56Whg0krLhaN/mOBZE5pX+utUegwhc4bBxapgDIahCUr6Yt6VRQP+EZ2dCjYrQ4dpzg==
  • Ironport-sdr: 65Xtp7NlB3CqBGdaLt0nwNQQwE+c1IELDJauEorWVMX/em9G6QO3VZi6goQm/UBhiMhl78EK3J USz8lVIiTnEQ==
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

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 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                                     |   77 +
 MAINTAINERS.md                                |   12 +
 Makefile.uk                                   |  488 +++++
 README.md                                     |   43 +
 _sysconfigdata.py                             |  707 ++++++++
 include/pyconfig.h                            | 1589 +++++++++++++++++
 init.c                                        |   46 +
 main.c                                        |    8 +
 modules_config.c                              |  328 ++++
 ...1-Undefine-HAVE_FORK-and-HAVE_EXECVE.patch |   26 +
 patches/0002-Add-cast-for-pthread_t.patch     |   30 +
 stubs.c                                       |   45 +
 16 files changed, 3473 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/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-Add-cast-for-pthread_t.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®.