]> xenbits.xensource.com Git - unikraft/libs/python3.git/log
unikraft/libs/python3.git
2 years agoConfig.uk: Add dependencies for POSIX libraries
Razvan Deaconescu [Mon, 29 Aug 2022 08:27:54 +0000 (11:27 +0300)]
Config.uk: Add dependencies for POSIX libraries

Release 0.10 added `posix-socket` and `posix-event` internal libraries
to the Unikraft core. Consequently, libraries depending on networking
functionality need to be updated to include `posix-socket` and
`posix-event`.

This commit adds `LIBPOSIX_SOCKET` and `LIBPOSIX_EVENT` dependency to
`Config.uk`.

Signed-off-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com>
Approved-by: Alexander Jung <alex@unikraft.org>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Pull-Request-Closes: #6

3 years agopython3: Fix sqlite3 module RELEASE-0.10.0 RELEASE-0.7.0 RELEASE-0.8.0 RELEASE-0.9.0
Vlad Badoiu [Sat, 15 Jan 2022 14:45:13 +0000 (16:45 +0200)]
python3: Fix sqlite3 module

This patch fixes several problems that would cause compilation errors
when the sqlite3 module is selected. This patch fixes the name of
the module to sqlite3 as it defined in the oficial documentation, adds
missing export in module_config.c and defines passes two symbols
MODULE_NAME and SQLITE_OMIT_LOAD_EXTENSION.

Signed-off-by: Vlad Badoiu <vlad_andrei.badoiu@upb.ro>
Reviewed-by: Cezar Craciunoiu <cezar.craciunoiu@gmail.com>
Approved-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Pull-Request: #4

3 years agoCorrect license headers introduced by University Politehnica of Bucharest RELEASE-0.6
Simon Kuenzer [Tue, 13 Jul 2021 19:21:45 +0000 (21:21 +0200)]
Correct license headers introduced by University Politehnica of Bucharest

This commit removes the additional clause
"THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY"
from BSD license headers that got introduced by mistake
with the following commits:
 5772e54 - Add stubs.c for stubbed functions (Vlad-Andrei Badoiu)
 2b241d4 - Add Makefile.uk (Vlad-Andrei Badoiu)
 ab18836 - Add init.c for initialization (Vlad-Andrei Badoiu)

On the one hand, this additional clause is redundant because
the BSD license already states that it must remain and the
copyright notice must be kept.
On the other hand, the clause freezes the file header
and prohibits future contributors from extending the
copyright notice for their contributions. This additional
clause is not part of the official BSD 3-clause.

The original author(s) or an authorized representative from
the author's affiliation consents to the change with a
`Reviewed-by` tag to this commit.

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
Reviewed-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
5 years agoAdd suppress flag for clean build.
Felipe Huici [Fri, 14 Feb 2020 10:30:12 +0000 (11:30 +0100)]
Add suppress flag for clean build.

Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
5 years agoFix broken dependency
Felipe Huici [Sat, 1 Feb 2020 12:30:14 +0000 (13:30 +0100)]
Fix broken dependency

Change dependency to the renamed LIBPOSIX_SYSINFO .

Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
5 years agoMakefile.uk: Make python-rootfs depend on origin code
Costin Lupu [Wed, 30 Oct 2019 15:04:19 +0000 (17:04 +0200)]
Makefile.uk: Make python-rootfs depend on origin code

This is needed in case you want to run `make python-rootfs` before running `make
fetch`.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
5 years agoConfig.uk: Fix extensions menu
Costin Lupu [Thu, 24 Oct 2019 14:44:09 +0000 (17:44 +0300)]
Config.uk: Fix extensions menu

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
5 years agoEnable bzip2 extension
Stefan Teodorescu [Thu, 24 Oct 2019 14:29:46 +0000 (17:29 +0300)]
Enable bzip2 extension

Unit test test_bz2 now passes successfully.

Signed-off-by: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Reviewed-by: Costin Lupu <costin.lupu@cs.pub.ro>
5 years agoConfig.uk: Use new names of internal libs
Costin Lupu [Thu, 17 Oct 2019 15:30:47 +0000 (18:30 +0300)]
Config.uk: Use new names of internal libs

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoREADME.md: Update with info about building and running
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:45 +0000 (17:22 +0300)]
README.md: Update with info about building and running

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoConfig.uk: Add configuration options for extensions
Costin Lupu [Wed, 16 Oct 2019 14:22:44 +0000 (17:22 +0300)]
Config.uk: Add configuration options for extensions

We currently configure the following extensions: XML parsing with Expat lib,
decimal operations with libmpdec, SSL, UUID and zlib. Sqlite will be
automatically supported when the external library will be released.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoProvide main() function if configured to do so
Costin Lupu [Wed, 16 Oct 2019 14:22:43 +0000 (17:22 +0300)]
Provide main() function if configured to do so

Sometimes all you want to run is the Python shell. In this case you can tick the
option in menuconfig so that the library provides the main() function for you.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoMakefile.uk: Add rule for creating root filesystem
Costin Lupu [Wed, 16 Oct 2019 14:22:42 +0000 (17:22 +0300)]
Makefile.uk: Add rule for creating root filesystem

The Python interpreter needs a filesystem where to keep its libraries. This
patch creates a Python virtual environment and installs the Python 3 standard
library in /lib/python3.7 directory. For creating the filesystem the following
command has to be run:

$ make python-rootfs path=<directory>

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd init.c for initialization
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:41 +0000 (17:22 +0300)]
Add init.c for initialization

This patch sets the environment variables that are needed during runtime for
the intepreter.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd stubs.c for stubbed functions
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:40 +0000 (17:22 +0300)]
Add stubs.c for stubbed functions

We add the stubs needed when "forking" processes.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd modules_config.c
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:39 +0000 (17:22 +0300)]
Add modules_config.c

This file is copied from a './Modules/config.c' of a Linux build and it contains
the modules init functions and their registration as Python extensions. We
commented the registration of the modules that we do not support yet. They
should be enabled back when we will add support for them by porting the
underlying native libraries.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years ago_sysconfigdata.py: Disable features that are not avaiable on Unikraft
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:38 +0000 (17:22 +0300)]
_sysconfigdata.py: Disable features that are not avaiable on Unikraft

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years ago_sysconfigdata.py: Introduce file
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:37 +0000 (17:22 +0300)]
_sysconfigdata.py: Introduce file

_sysconfigdata.py contains all the configuration data used by the interpreter at
runtime. This patch adds the slightly changed file generated by a ./configure
run.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agopyconfig.h: Disable features that are not avaiable on Unikraft
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:36 +0000 (17:22 +0300)]
pyconfig.h: Disable features that are not avaiable on Unikraft

Some of these features have to enabled back when we will support them.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agopyconfig.h: Introduce file
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:35 +0000 (17:22 +0300)]
pyconfig.h: Introduce file

pyconfig.h is generated when running ./configure and it contains the features
that are available on the build machine. This is copied from a local build.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agopatches: Fix build issues
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:34 +0000 (17:22 +0300)]
patches: Fix build issues

* Undefine HAVE_FORK and HAVE_EXECV
* Use pthread_t to unsigned long conversion

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd Makefile.uk
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:33 +0000 (17:22 +0300)]
Add Makefile.uk

In the original build, there are two kinds of sources: for core functionality
and for extensions. Each of them has a different set of compiler flags. In
order to emulate the same behavior, we define two libraries: 'python3-core' and
'python3-extensions'. Please notice that we still keep a 'python3' library as
the main logical library.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoIntroduce library skeleton
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:32 +0000 (17:22 +0300)]
Introduce library skeleton

We use the BSD-3-Clause license for this library glue code.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoInitial commit (empty)
Costin Lupu [Tue, 3 Sep 2019 11:15:37 +0000 (14:15 +0300)]
Initial commit (empty)

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>