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

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



A couple of more things:

* Config.uk should have SELECT LIBUKTIME ; without this the build breaks.
* If OpenSSL libraries options are not selected, the linker returns an 
undefined reference to `PyInit__hashlib' error. 

Thanks,

-- Felipe

On 07.10.19, 08:50, "Minios-devel on behalf of Felipe Huici" 
<minios-devel-bounces@xxxxxxxxxxxxxxxxxxxx on behalf of Felipe.Huici@xxxxxxxxx> 
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 .
    
        +       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.
    
        +
        +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®.