* [PATCH 1/1] tools/python: move lowlevel packages one level up
2022-04-21 14:31 [PATCH 0/1] Adjust odd Python bindings Elliott Mitchell
@ 2022-04-21 2:23 ` Elliott Mitchell
2022-04-22 1:17 ` [PATCH 0/1] Adjust odd Python bindings Marek Marczykowski-Górecki
1 sibling, 0 replies; 4+ messages in thread
From: Elliott Mitchell @ 2022-04-21 2:23 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, Anthony PERARD, Marek Marczykowski-Górecki
Prior to this a Python script first needed to import 3 levels of
packages, then invoke xen.lowlevel.$tool.$tool() to get a handle. Now
only 2 levels of packages, then xen.lowlevel.$tool() gets a handle.
Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
tools/pygrub/src/pygrub | 4 ++--
tools/python/setup.py | 12 ++++++------
tools/python/xen/lowlevel/{xc => }/xc.c | 0
tools/python/xen/lowlevel/{xs => }/xs.c | 0
4 files changed, 8 insertions(+), 8 deletions(-)
rename tools/python/xen/lowlevel/{xc => }/xc.c (100%)
rename tools/python/xen/lowlevel/{xs => }/xs.c (100%)
diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index ce7ab0eb8c..6b1989c7d8 100755
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -18,7 +18,7 @@ import os, sys, string, struct, tempfile, re, traceback, stat, errno
import copy
import logging
import platform
-import xen.lowlevel.xc
+import xen.lowlevel
import curses, _curses, curses.textpad, curses.ascii
import getopt
@@ -669,7 +669,7 @@ def run_grub(file, entry, fs, cfg_args):
return grubcfg
def supports64bitPVguest():
- xc = xen.lowlevel.xc.xc()
+ xc = xen.lowlevel.xc()
caps = xc.xeninfo()['xen_caps'].split(" ")
for cap in caps:
if cap == "xen-3.0-x86_64":
diff --git a/tools/python/setup.py b/tools/python/setup.py
index 8c95db7769..77546335b8 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -17,28 +17,28 @@ PATH_LIBXENCTRL = XEN_ROOT + "/tools/libs/ctrl"
PATH_LIBXENGUEST = XEN_ROOT + "/tools/libs/guest"
PATH_XENSTORE = XEN_ROOT + "/tools/libs/store"
-xc = Extension("xc",
+xc = Extension("xen.lowlevel.xc",
extra_compile_args = extra_compile_args,
include_dirs = [ PATH_XEN,
PATH_LIBXENTOOLLOG + "/include",
PATH_LIBXENEVTCHN + "/include",
PATH_LIBXENCTRL + "/include",
PATH_LIBXENGUEST + "/include",
- "xen/lowlevel/xc" ],
+ "xen/lowlevel" ],
library_dirs = [ PATH_LIBXENCTRL, PATH_LIBXENGUEST ],
libraries = [ "xenctrl", "xenguest" ],
depends = [ PATH_LIBXENCTRL + "/libxenctrl.so", PATH_LIBXENGUEST + "/libxenguest.so" ],
extra_link_args = SHLIB_libxenctrl + SHLIB_libxenguest,
- sources = [ "xen/lowlevel/xc/xc.c" ])
+ sources = [ "xen/lowlevel/xc.c" ])
-xs = Extension("xs",
+xs = Extension("xen.lowlevel.xs",
extra_compile_args = extra_compile_args,
- include_dirs = [ PATH_XEN, PATH_XENSTORE + "/include", "xen/lowlevel/xs" ],
+ include_dirs = [ PATH_XEN, PATH_XENSTORE + "/include", "xen/lowlevel" ],
library_dirs = [ PATH_XENSTORE ],
libraries = [ "xenstore" ],
depends = [ PATH_XENSTORE + "/libxenstore.so" ],
extra_link_args = SHLIB_libxenstore,
- sources = [ "xen/lowlevel/xs/xs.c" ])
+ sources = [ "xen/lowlevel/xs.c" ])
plat = os.uname()[0]
modules = [ xc, xs ]
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc.c
similarity index 100%
rename from tools/python/xen/lowlevel/xc/xc.c
rename to tools/python/xen/lowlevel/xc.c
diff --git a/tools/python/xen/lowlevel/xs/xs.c b/tools/python/xen/lowlevel/xs.c
similarity index 100%
rename from tools/python/xen/lowlevel/xs/xs.c
rename to tools/python/xen/lowlevel/xs.c
--
2.30.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 0/1] Adjust odd Python bindings
2022-04-21 14:31 [PATCH 0/1] Adjust odd Python bindings Elliott Mitchell
2022-04-21 2:23 ` [PATCH 1/1] tools/python: move lowlevel packages one level up Elliott Mitchell
@ 2022-04-22 1:17 ` Marek Marczykowski-Górecki
2022-04-22 19:59 ` Elliott Mitchell
1 sibling, 1 reply; 4+ messages in thread
From: Marek Marczykowski-Górecki @ 2022-04-22 1:17 UTC (permalink / raw)
To: Elliott Mitchell; +Cc: xen-devel, Wei Liu, Anthony PERARD
[-- Attachment #1: Type: text/plain, Size: 743 bytes --]
On Thu, Apr 21, 2022 at 07:31:26AM -0700, Elliott Mitchell wrote:
> I'm unsure how widely the Python bindings are used. Certainly they were
> used for PyGRUB. Have any other projects used them so far? What I'm
> doing is likely to be contributed to the Xen Project, and I suspect the
> existence of other projects would be known...
Yes, Python bindings are used outside of xen.git. I'm aware of few
places in Qubes OS, but I expect there are other users too. So, I'm
afraid breaking the current import method isn't really an option. What
you could try, is to make both versions work at the same time, but TBH
I'm not sure how to do that with C extension.
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread