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

Re: [Minios-devel] [UNIKRAFT/PYTHON3 PATCH v3 01/14] Introduce library skeleton



On 10/7/19 9:49 AM, Felipe Huici wrote:
> Hi Costin, Vlad,
> 
> Thanks so much for this series! Python3 will be a great addition to Unikraft. 
> Please see a couple of comments inline.
> 
> -- Felipe
> 
> On 23.09.19, 11:59, "Costin Lupu" <costin.lupu@xxxxxxxxx> wrote:
> 
>     From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
>     
>     We use the BSD-3-Clause license for this library glue code.
>     
>     Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
>     Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx>
>     ---
>      .gitignore      | 27 +++++++++++++++++++++++++++
>      CODING_STYLE.md |  4 ++++
>      CONTRIBUTING.md |  4 ++++
>      COPYING.md      | 39 +++++++++++++++++++++++++++++++++++++++
>      Config.uk       | 21 +++++++++++++++++++++
>      MAINTAINERS.md  | 12 ++++++++++++
>      README.md       |  7 +++++++
>      7 files changed, 114 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 README.md
>     
>     diff --git a/.gitignore b/.gitignore
>     new file mode 100644
>     index 0000000..75d2fd3
>     --- /dev/null
>     +++ b/.gitignore
>     @@ -0,0 +1,27 @@
>     +*.depend
>     +*.o
>     +*.a
>     +*.d
>     +*.so
>     +*.orig
>     +*.rej
>     +*.bak
>     +*.swp
>     +*~
>     +,*
>     +\#*\#
>     +.\#*
>     +\#_*\#
>     +.\#_*
>     +!.gitignore
>     +.*
>     +
>     +# gnu global files
>     +GPATH
>     +GRTAGS
>     +GSYMS
>     +GTAGS
>     +
>     +# cscope files
>     +cscope.*
>     +ncscope.*
>     diff --git a/CODING_STYLE.md b/CODING_STYLE.md
>     new file mode 100644
>     index 0000000..5730041
>     --- /dev/null
>     +++ b/CODING_STYLE.md
>     @@ -0,0 +1,4 @@
>     +Coding Style
>     +============
>     +
>     +Please refer to the `CODING_STYLE.md` file in the main Unikraft 
> repository.
>     diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
>     new file mode 100644
>     index 0000000..14f6ac6
>     --- /dev/null
>     +++ b/CONTRIBUTING.md
>     @@ -0,0 +1,4 @@
>     +Contributing to Unikraft
>     +========================
>     +
>     +Please refer to the `CONTRIBUTING.md` file in the main Unikraft 
> repository.
>     diff --git a/COPYING.md b/COPYING.md
>     new file mode 100644
>     index 0000000..953e56d
>     --- /dev/null
>     +++ b/COPYING.md
>     @@ -0,0 +1,39 @@
>     +License
>     +=======
>     +
>     +Unikraft python3 wrappers
>     +----------------------------------
>     +
>     +This repository contains wrapper code to build $libname with Unikraft.
>     +Each C code file in this repository should declare who is the
>     +copyright owner and under which terms and conditions the code is
>     +licensed. If such a licence note is missing, the following copyright
>     +notice will apply:
>     +
>     + Copyright (c) Year, Institution. All rights reserved.
>     +
>     + Redistribution and use in source and binary forms, with or without
>     + modification, are permitted provided that the following conditions
>     + are met:
>     +
>     + 1. Redistributions of source code must retain the above copyright
>     +    notice, this list of conditions and the following disclaimer.
>     + 2. Redistributions in binary form must reproduce the above copyright
>     +    notice, this list of conditions and the following disclaimer in the
>     +    documentation and/or other materials provided with the distribution.
>     + 3. Neither the name of the copyright holder nor the names of its
>     +    contributors may be used to endorse or promote products derived from
>     +    this software without specific prior written permission.
>     +
>     + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
> IS"
>     + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
> THE
>     + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
> PURPOSE
>     + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 
> BE
>     + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
>     + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
>     + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
>     + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
>     + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
>     + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
> THE
>     + POSSIBILITY OF SUCH DAMAGE.
>     +
>     diff --git a/Config.uk b/Config.uk
>     new file mode 100644
>     index 0000000..f801a0c
>     --- /dev/null
>     +++ b/Config.uk
>     @@ -0,0 +1,21 @@
>     +menuconfig LIBPYTHON3
>     + bool "Python 3"
>     + default n
>     + select LIBNOLIBC if !HAVE_LIBC
> 
> This port doesn't work with nolibc, this line should probably select 
> LIBNEWLIBC .

Right.

> 
>     + select LIBNEWLIBC_WANT_IO_C99_FORMATS if LIBNEWLIBC
>     + select LIBNEWLIBC_LINUX_ERRNO_EXTENSIONS if LIBNEWLIBC
>     + select LIBUKDEBUG
>     + select LIBUKALLOC
>     + select LIBUKSCHED
>     + select UKUNISTD
>     + select UKSYSINFO
>     + select POSIX_LIBDL
>     + select LIBSYSCALL_SHIM
>     + select LIBVFSCORE
>     + select LIBPTHREAD_EMBEDDED
>     + select LIBLWIP
>     + select LWIP_DHCP
>     + select LWIP_IPV6
> 
> When trying to run things with a 9pfs fileystem I noticed that a significant 
> number of other menu selections have to be made (e.g., uk param library, 9pfs 
> itself, etc.). We should either make these explicity here, or at least 
> document these in the README.md.
> 

This is an open discussion. We should not enforce using 9pfs, it's a
matter of choice for the application/configurator/etc which kind of root
filesystem he/she wants.

Regarding uk param library, I guess it should be enabled by all those
libs that support parameters, such as vfscore. I'll prepare a patch for
that one.

>     +
>     +if LIBPYTHON3
>     +endif
>     diff --git a/MAINTAINERS.md b/MAINTAINERS.md
>     new file mode 100644
>     index 0000000..fdb2fb1
>     --- /dev/null
>     +++ b/MAINTAINERS.md
>     @@ -0,0 +1,12 @@
>     +Maintainers List
>     +================
>     +
>     +For notes on how to read this information, please refer to 
> `MAINTAINERS.md` in
>     +the main Unikraft repository.
>     +
>     + LIB$libnamecaps-UNIKRAFT
>     + M:      Vlad Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
>     + M:      Costin Lupu <costin.lupu@xxxxxxxxx>
>     + M:      Felipe Huici <felipe.huici@xxxxxxxxx>
>     + L:      minios-devel@xxxxxxxxxxxxx
>     + F: *
>     diff --git a/README.md b/README.md
>     new file mode 100644
>     index 0000000..c9544d1
>     --- /dev/null
>     +++ b/README.md
>     @@ -0,0 +1,7 @@
>     +python3 for Unikraft
>     +=============================
>     +
>     +This is the port of python3 for Unikraft as external library.
>     +
>     +Please refer to the `README.md` as well as the documentation in the 
> `doc/`
>     +subdirectory of the main unikraft repository.
>     -- 
>     2.20.1
>     
>     
> 
> _______________________________________________
> Minios-devel mailing list
> Minios-devel@xxxxxxxxxxxxxxxxxxxx
> https://lists.xenproject.org/mailman/listinfo/minios-devel
> 

_______________________________________________
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®.