Re: [oe] [meta-python][PATCH] python3-dbus: re-add recipe with latest patches and add ptest

2024-03-22 Thread Derek Straka
Hi Alex,

Thanks for your reply.  I didn't know Inactive-Upstream was part of the
enum.  I'll update and send a v2 in the morning.

I hear the concerns about adding packages that aren't actively maintained.
I also agree with the sentiment you raise regarding the broader context of
downstream consumers, etc.   Ultimately, it's a package that matters to my
use cases, and I'm going to request we allow the patchset.  I'll accept
responsibility for the additional maintenance burdens, etc.  To mitigate
future issues, I'll push the consumers I can influence to move to a
maintained before the next release.

-Derek


On Fri, Mar 22, 2024, 12:39 AM Alexander Kanavin 
wrote:

> The patches are taken from Fedora, and so aren't backports. Should be
> marked Inactive-Upstream rather.
>
> I would only add it back if it has real consumers or use cases that
> can't be fulfilled by maintained alternatives. Otherwise, anyone can
> carry it privately,
>
> Alex
>
> On Thu, 21 Mar 2024 at 23:18, Derek Straka  wrote:
> >
> > The python3-dbus package was removed in (dac933e).  While the upstream
> > project isn't active, other distributions (e.g. Fedora, Debian, etc)
> > continue to offer the package and apply patches to resolve reported
> issues.
> >
> > While other packages offer similar functionality (e.g. dasbus), they are
> not
> > drop in replacements and the general dbus functionality works out of the
> box.
> > The python package has accomplished it's goal of providing useful
> functionality,
> > and the proposal is to continue to have it available in meta-python for
> use.
> >
> > Signed-off-by: Derek Straka 
> > ---
> >  .../ptest-packagelists-meta-python.inc|   1 +
> >  .../packagegroups/packagegroup-meta-python.bb |   1 +
> >  ...ttribute-conforming-to-introspect.dt.patch |   0
> >  .../0002-Support-asynchronous-calls-58.patch  | 204 
> >  ...mation-between-D-Bus-errors-and-exce.patch | 493 ++
> >  .../python/python3-pydbus/run-ptest   |  15 +
> >  .../python/python3-pydbus_0.6.0.bb|  26 +
> >  7 files changed, 740 insertions(+)
> >  create mode 100644
> meta-python/recipes-devtools/python/python3-pydbus/0001-make-direction-attribute-conforming-to-introspect.dt.patch
> >  create mode 100644
> meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
> >  create mode 100644
> meta-python/recipes-devtools/python/python3-pydbus/0003-Support-transformation-between-D-Bus-errors-and-exce.patch
> >  create mode 100644
> meta-python/recipes-devtools/python/python3-pydbus/run-ptest
> >  create mode 100644 meta-python/recipes-devtools/python/
> python3-pydbus_0.6.0.bb
> >
> > diff --git a/meta-python/conf/include/ptest-packagelists-meta-python.inc
> b/meta-python/conf/include/ptest-packagelists-meta-python.inc
> > index 447e0b938..ec26f768e 100644
> > --- a/meta-python/conf/include/ptest-packagelists-meta-python.inc
> > +++ b/meta-python/conf/include/ptest-packagelists-meta-python.inc
> > @@ -53,6 +53,7 @@ PTESTS_FAST_META_PYTHON = "\
> >  python3-pytest-mock \
> >  python3-pytoml \
> >  python3-pyyaml-include \
> > +python3-pydbus \
> >  python3-rapidjson \
> >  python3-requests-file \
> >  python3-requests-toolbelt \
> > diff --git a/meta-python/recipes-core/packagegroups/
> packagegroup-meta-python.bb b/meta-python/recipes-core/packagegroups/
> packagegroup-meta-python.bb
> > index eb5a26463..e0446da28 100644
> > --- a/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
> > +++ b/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
> > @@ -311,6 +311,7 @@ RDEPENDS:packagegroup-meta-python3 = "\
> >  python3-pycodestyle \
> >  python3-pyconnman \
> >  python3-pycurl \
> > +python3-pydbus \
> >  python3-pydicti \
> >  python3-pyephem \
> >  python3-pyexpect \
> > diff --git
> a/meta-python/recipes-devtools/python/python3-pydbus/0001-make-direction-attribute-conforming-to-introspect.dt.patch
> b/meta-python/recipes-devtools/python/python3-pydbus/0001-make-direction-attribute-conforming-to-introspect.dt.patch
> > new file mode 100644
> > index 0..e69de29bb
> > diff --git
> a/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
> b/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
> > new file mode 100644
> > index 0..44600a8e6
> > --- /dev/null
> > +++
> b/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
> > @@ -0,0 +1,204 @@
> > +From 31d6dd7893a5e1bb9eb14bfcee861a5b62f64960 Mon Sep 17 00:00:00 2001
> > +From: Vendula Poncova 
> > +Date: Thu, 27 Jul 2017 18:41:29 +0200
> > +Subject: [PATCH 2/3] Support asynchronous calls (#58)
> > +
> > +Added support for asynchronous calls of methods. A method is called
> > +synchronously unless its callback parameter is specified. A callback
> > +is a function f(*args, returned=None, 

Re: [oe] [meta-python][PATCH] python3-dbus: re-add recipe with latest patches and add ptest

2024-03-21 Thread Alexander Kanavin
The patches are taken from Fedora, and so aren't backports. Should be
marked Inactive-Upstream rather.

I would only add it back if it has real consumers or use cases that
can't be fulfilled by maintained alternatives. Otherwise, anyone can
carry it privately,

Alex

On Thu, 21 Mar 2024 at 23:18, Derek Straka  wrote:
>
> The python3-dbus package was removed in (dac933e).  While the upstream
> project isn't active, other distributions (e.g. Fedora, Debian, etc)
> continue to offer the package and apply patches to resolve reported issues.
>
> While other packages offer similar functionality (e.g. dasbus), they are not
> drop in replacements and the general dbus functionality works out of the box.
> The python package has accomplished it's goal of providing useful 
> functionality,
> and the proposal is to continue to have it available in meta-python for use.
>
> Signed-off-by: Derek Straka 
> ---
>  .../ptest-packagelists-meta-python.inc|   1 +
>  .../packagegroups/packagegroup-meta-python.bb |   1 +
>  ...ttribute-conforming-to-introspect.dt.patch |   0
>  .../0002-Support-asynchronous-calls-58.patch  | 204 
>  ...mation-between-D-Bus-errors-and-exce.patch | 493 ++
>  .../python/python3-pydbus/run-ptest   |  15 +
>  .../python/python3-pydbus_0.6.0.bb|  26 +
>  7 files changed, 740 insertions(+)
>  create mode 100644 
> meta-python/recipes-devtools/python/python3-pydbus/0001-make-direction-attribute-conforming-to-introspect.dt.patch
>  create mode 100644 
> meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
>  create mode 100644 
> meta-python/recipes-devtools/python/python3-pydbus/0003-Support-transformation-between-D-Bus-errors-and-exce.patch
>  create mode 100644 
> meta-python/recipes-devtools/python/python3-pydbus/run-ptest
>  create mode 100644 
> meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
>
> diff --git a/meta-python/conf/include/ptest-packagelists-meta-python.inc 
> b/meta-python/conf/include/ptest-packagelists-meta-python.inc
> index 447e0b938..ec26f768e 100644
> --- a/meta-python/conf/include/ptest-packagelists-meta-python.inc
> +++ b/meta-python/conf/include/ptest-packagelists-meta-python.inc
> @@ -53,6 +53,7 @@ PTESTS_FAST_META_PYTHON = "\
>  python3-pytest-mock \
>  python3-pytoml \
>  python3-pyyaml-include \
> +python3-pydbus \
>  python3-rapidjson \
>  python3-requests-file \
>  python3-requests-toolbelt \
> diff --git 
> a/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb 
> b/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
> index eb5a26463..e0446da28 100644
> --- a/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
> +++ b/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
> @@ -311,6 +311,7 @@ RDEPENDS:packagegroup-meta-python3 = "\
>  python3-pycodestyle \
>  python3-pyconnman \
>  python3-pycurl \
> +python3-pydbus \
>  python3-pydicti \
>  python3-pyephem \
>  python3-pyexpect \
> diff --git 
> a/meta-python/recipes-devtools/python/python3-pydbus/0001-make-direction-attribute-conforming-to-introspect.dt.patch
>  
> b/meta-python/recipes-devtools/python/python3-pydbus/0001-make-direction-attribute-conforming-to-introspect.dt.patch
> new file mode 100644
> index 0..e69de29bb
> diff --git 
> a/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
>  
> b/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
> new file mode 100644
> index 0..44600a8e6
> --- /dev/null
> +++ 
> b/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
> @@ -0,0 +1,204 @@
> +From 31d6dd7893a5e1bb9eb14bfcee861a5b62f64960 Mon Sep 17 00:00:00 2001
> +From: Vendula Poncova 
> +Date: Thu, 27 Jul 2017 18:41:29 +0200
> +Subject: [PATCH 2/3] Support asynchronous calls (#58)
> +
> +Added support for asynchronous calls of methods. A method is called
> +synchronously unless its callback parameter is specified. A callback
> +is a function f(*args, returned=None, error=None), where args is
> +callback_args specified in the method call, returned is a return
> +value of the method and error is an exception raised by the method.
> +
> +Example of an asynchronous call:
> +
> +def func(x, y, returned=None, error=None):
> +  pass
> +
> +proxy.Method(a, b, callback=func, callback_args=(x, y))
> +
> +Upstream-Status: Backport 
> [https://src.fedoraproject.org/cgit/rpms/python-pydbus.git/]
> +
> +Signed-off-by: Derek Straka 
> +---
> + doc/tutorial.rst   | 11 -
> + pydbus/proxy_method.py | 44 ++-
> + tests/publish_async.py | 63 
> ++
> + tests/run.sh   |  1 +
> + 4 files changed, 112 insertions(+), 7 deletions(-)
> + create mode 100644 tests/publish_async.py
> +
> +diff --git 

[oe] [meta-python][PATCH] python3-dbus: re-add recipe with latest patches and add ptest

2024-03-21 Thread Derek Straka
The python3-dbus package was removed in (dac933e).  While the upstream
project isn't active, other distributions (e.g. Fedora, Debian, etc)
continue to offer the package and apply patches to resolve reported issues.

While other packages offer similar functionality (e.g. dasbus), they are not
drop in replacements and the general dbus functionality works out of the box.
The python package has accomplished it's goal of providing useful functionality,
and the proposal is to continue to have it available in meta-python for use.

Signed-off-by: Derek Straka 
---
 .../ptest-packagelists-meta-python.inc|   1 +
 .../packagegroups/packagegroup-meta-python.bb |   1 +
 ...ttribute-conforming-to-introspect.dt.patch |   0
 .../0002-Support-asynchronous-calls-58.patch  | 204 
 ...mation-between-D-Bus-errors-and-exce.patch | 493 ++
 .../python/python3-pydbus/run-ptest   |  15 +
 .../python/python3-pydbus_0.6.0.bb|  26 +
 7 files changed, 740 insertions(+)
 create mode 100644 
meta-python/recipes-devtools/python/python3-pydbus/0001-make-direction-attribute-conforming-to-introspect.dt.patch
 create mode 100644 
meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
 create mode 100644 
meta-python/recipes-devtools/python/python3-pydbus/0003-Support-transformation-between-D-Bus-errors-and-exce.patch
 create mode 100644 meta-python/recipes-devtools/python/python3-pydbus/run-ptest
 create mode 100644 meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb

diff --git a/meta-python/conf/include/ptest-packagelists-meta-python.inc 
b/meta-python/conf/include/ptest-packagelists-meta-python.inc
index 447e0b938..ec26f768e 100644
--- a/meta-python/conf/include/ptest-packagelists-meta-python.inc
+++ b/meta-python/conf/include/ptest-packagelists-meta-python.inc
@@ -53,6 +53,7 @@ PTESTS_FAST_META_PYTHON = "\
 python3-pytest-mock \
 python3-pytoml \
 python3-pyyaml-include \
+python3-pydbus \
 python3-rapidjson \
 python3-requests-file \
 python3-requests-toolbelt \
diff --git a/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb 
b/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
index eb5a26463..e0446da28 100644
--- a/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
+++ b/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
@@ -311,6 +311,7 @@ RDEPENDS:packagegroup-meta-python3 = "\
 python3-pycodestyle \
 python3-pyconnman \
 python3-pycurl \
+python3-pydbus \
 python3-pydicti \
 python3-pyephem \
 python3-pyexpect \
diff --git 
a/meta-python/recipes-devtools/python/python3-pydbus/0001-make-direction-attribute-conforming-to-introspect.dt.patch
 
b/meta-python/recipes-devtools/python/python3-pydbus/0001-make-direction-attribute-conforming-to-introspect.dt.patch
new file mode 100644
index 0..e69de29bb
diff --git 
a/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
 
b/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
new file mode 100644
index 0..44600a8e6
--- /dev/null
+++ 
b/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-asynchronous-calls-58.patch
@@ -0,0 +1,204 @@
+From 31d6dd7893a5e1bb9eb14bfcee861a5b62f64960 Mon Sep 17 00:00:00 2001
+From: Vendula Poncova 
+Date: Thu, 27 Jul 2017 18:41:29 +0200
+Subject: [PATCH 2/3] Support asynchronous calls (#58)
+
+Added support for asynchronous calls of methods. A method is called
+synchronously unless its callback parameter is specified. A callback
+is a function f(*args, returned=None, error=None), where args is
+callback_args specified in the method call, returned is a return
+value of the method and error is an exception raised by the method.
+
+Example of an asynchronous call:
+
+def func(x, y, returned=None, error=None):
+  pass
+
+proxy.Method(a, b, callback=func, callback_args=(x, y))
+
+Upstream-Status: Backport 
[https://src.fedoraproject.org/cgit/rpms/python-pydbus.git/]
+
+Signed-off-by: Derek Straka 
+---
+ doc/tutorial.rst   | 11 -
+ pydbus/proxy_method.py | 44 ++-
+ tests/publish_async.py | 63 ++
+ tests/run.sh   |  1 +
+ 4 files changed, 112 insertions(+), 7 deletions(-)
+ create mode 100644 tests/publish_async.py
+
+diff --git a/doc/tutorial.rst b/doc/tutorial.rst
+index 7474de3..b8479cf 100644
+--- a/doc/tutorial.rst
 b/doc/tutorial.rst
+@@ -84,7 +84,8 @@ All objects have methods, properties and signals.
+ Setting up an event loop
+ 
+ 
+-To handle signals emitted by exported objects, or to export your own objects, 
you need to setup an event loop.
++To handle signals emitted by exported objects, to asynchronously call methods
++or to export your own objects, you need to setup an event loop.
+ 
+ The only main loop