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

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



On 10/16/19 11:28 AM, Felipe Huici wrote:
> Hi Costin, Vlad,
> 
> Please see a couple of comments below.
> 
> -- Felipe
> 
> On 13.10.19, 17:28, "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       | 22 ++++++++++++++++++++++
>      MAINTAINERS.md  | 12 ++++++++++++
>      README.md       |  7 +++++++
>      7 files changed, 115 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..b6dab40
>     --- /dev/null
>     +++ b/Config.uk
>     @@ -0,0 +1,22 @@
>     +menuconfig LIBPYTHON3
>     + bool "Python 3"
>     + default n
>     + select LIBNEWLIBC
>     + 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_DNS
>     + select LWIP_IPV6
> 
> I noticed that LIBINTEL_INTRINSICS isn't on here, even though the README.md 
> says it's required. In fact, I was able to compile and run pythonv3 without 
> it, so I guess the documentation is wrong?
> 

Actually this is an open discussion. You can build and run, but don't
you get an exception like this at runtime: `ValueError: unsupported hash
type blake2b`?

Honestly, I don't know how else to work around that other than by using
Intel-Intrinsics. And given that you can run without it, I hesitated to
add it as a strong dependency.

> I also noticed that when selecting Pythonv3 in the menu, zlib gets selected 
> but not libuuid/openssl, do you know why?

Given that they are all on 'y' by default, I think there are 2 possible
reasons:
- either you disabled those
- or you didn't enabled the dependency (e.g. libuuid and openssl libs),
but in that case the extensions don't appear at all in menuconfig.

Cheers,
Costin



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