[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 12:42 PM, Costin Lupu wrote:
> 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.

Nevermind, we did find a way to run gracefully without Intel Intrinsics.
This means that the dependencies remain like this, but in README we'll
say that you can select Intel Intrinsics if you want to use an optimized
version of Blake hashing

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