Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-evdev for openSUSE:Factory 
checked in at 2024-05-10 12:05:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-evdev (Old)
 and      /work/SRC/openSUSE:Factory/.python-evdev.new.1880 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-evdev"

Fri May 10 12:05:23 2024 rev:15 rq:1172973 version:1.7.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-evdev/python-evdev.changes        
2024-02-20 21:15:08.447630768 +0100
+++ /work/SRC/openSUSE:Factory/.python-evdev.new.1880/python-evdev.changes      
2024-05-10 12:06:32.748557642 +0200
@@ -1,0 +2,6 @@
+Thu May  9 09:18:42 UTC 2024 - Matthias Bach <[email protected]> - 1.7.1
+
+- Update to 1.7.1
+  * Wait up to two seconds for uinput devices to appear.
+
+-------------------------------------------------------------------

Old:
----
  python-evdev-1.7.0.tar.gz

New:
----
  python-evdev-1.7.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-evdev.spec ++++++
--- /var/tmp/diff_new_pack.DZ218Y/_old  2024-05-10 12:06:33.320578485 +0200
+++ /var/tmp/diff_new_pack.DZ218Y/_new  2024-05-10 12:06:33.320578485 +0200
@@ -19,7 +19,7 @@
 %define modname evdev
 %{?sle15_python_module_pythons}
 Name:           python-evdev
-Version:        1.7.0
+Version:        1.7.1
 Release:        0
 Summary:        Python bindings to the Linux input handling subsystem
 License:        BSD-3-Clause

++++++ python-evdev-1.7.0.tar.gz -> python-evdev-1.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-evdev-1.7.0/README.md 
new/python-evdev-1.7.1/README.md
--- old/python-evdev-1.7.0/README.md    1970-01-01 01:00:00.000000000 +0100
+++ new/python-evdev-1.7.1/README.md    2024-05-08 01:01:20.000000000 +0200
@@ -0,0 +1,27 @@
+# evdev
+
+<p>
+    <a href="https://pypi.python.org/pypi/evdev";><img alt="pypi version" 
src="https://img.shields.io/pypi/v/evdev.svg";></a>
+    <a href="https://github.com/gvalkov/python-evdev/blob/main/LICENSE";><img 
alt="License" src="https://img.shields.io/pypi/l/evdev";></a>
+</p>
+
+This package provides bindings to the generic input event interface in Linux.
+The *evdev* interface serves the purpose of passing events generated in the
+kernel directly to userspace through character devices that are typically
+located in `/dev/input/`.
+
+This package also comes with bindings to *uinput*, the userspace input
+subsystem. *Uinput* allows userspace programs to create and handle input 
devices
+that can inject events directly into the input subsystem.
+
+***Documentation:***  
+https://python-evdev.readthedocs.io/en/latest/
+
+***Development:***  
+https://github.com/gvalkov/python-evdev
+
+***Package:***  
+https://pypi.python.org/pypi/evdev
+
+***Changelog:***  
+https://python-evdev.readthedocs.io/en/latest/changelog.html
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-evdev-1.7.0/README.rst 
new/python-evdev-1.7.1/README.rst
--- old/python-evdev-1.7.0/README.rst   2024-02-18 22:15:40.000000000 +0100
+++ new/python-evdev-1.7.1/README.rst   1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-*evdev*
--------
-
-This package provides bindings to the generic input event interface in
-Linux. The *evdev* interface serves the purpose of passing events
-generated in the kernel directly to userspace through character
-devices that are typically located in ``/dev/input/``.
-
-This package also comes with bindings to *uinput*, the userspace input
-subsystem. *Uinput* allows userspace programs to create and handle
-input devices that can inject events directly into the input
-subsystem.
-
-Documentation:
-    https://python-evdev.readthedocs.io/en/latest/
-
-Development:
-    https://github.com/gvalkov/python-evdev
-
-Package:
-    https://pypi.python.org/pypi/evdev
-
-Changelog:
-    https://python-evdev.readthedocs.io/en/latest/changelog.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-evdev-1.7.0/docs/changelog.rst 
new/python-evdev-1.7.1/docs/changelog.rst
--- old/python-evdev-1.7.0/docs/changelog.rst   2024-02-18 22:15:40.000000000 
+0100
+++ new/python-evdev-1.7.1/docs/changelog.rst   2024-05-08 01:01:20.000000000 
+0200
@@ -1,6 +1,16 @@
 Changelog
 ---------
 
+1.7.1 (May 8, 2024)
+====================
+
+- Provide fallback value for ``FF_MAX_EFFECTS``, which fixes the build on EL 7 
(#219).
+
+- Add ``#ifdef`` guards around ``UI_GET_SYSNAME`` to improve kernel 
compatibility (#218) .
+
+- Wait up to two seconds for uinput devices to appear. (#215)
+
+
 1.7.0 (Feb 18, 2024)
 ====================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-evdev-1.7.0/docs/conf.py 
new/python-evdev-1.7.1/docs/conf.py
--- old/python-evdev-1.7.0/docs/conf.py 2024-02-18 22:15:40.000000000 +0100
+++ new/python-evdev-1.7.1/docs/conf.py 2024-05-08 01:01:20.000000000 +0200
@@ -67,7 +67,7 @@
 # built documents.
 #
 # The full version, including alpha/beta/rc tags.
-release = "1.7.0"
+release = "1.7.1"
 
 # The short X.Y version.
 version = release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-evdev-1.7.0/evdev/uinput.c 
new/python-evdev-1.7.1/evdev/uinput.c
--- old/python-evdev-1.7.0/evdev/uinput.c       2024-02-18 22:15:40.000000000 
+0100
+++ new/python-evdev-1.7.1/evdev/uinput.c       2024-05-08 01:01:20.000000000 
+0200
@@ -106,10 +106,12 @@
     int ret = PyArg_ParseTuple(args, "i", &fd);
     if (!ret) return NULL;
 
+    #ifdef UI_GET_SYSNAME
     if (ioctl(fd, UI_GET_SYSNAME(sizeof(sysname)), &sysname) < 0)
         goto on_err;
 
     return Py_BuildValue("s", &sysname);
+    #endif
 
     on_err:
         PyErr_SetFromErrno(PyExc_OSError);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-evdev-1.7.0/evdev/uinput.py 
new/python-evdev-1.7.1/evdev/uinput.py
--- old/python-evdev-1.7.0/evdev/uinput.py      2024-02-18 22:15:40.000000000 
+0100
+++ new/python-evdev-1.7.1/evdev/uinput.py      2024-05-08 01:01:20.000000000 
+0200
@@ -90,7 +90,10 @@
         devnode="/dev/uinput",
         phys="py-evdev-uinput",
         input_props=None,
-        max_effects=ecodes.FF_MAX_EFFECTS,
+        # CentOS 7 has sufficiently old headers that FF_MAX_EFFECTS is not 
defined there,
+        # which causes the whole module to fail loading. Fallback on a 
hardcoded value of
+        # FF_MAX_EFFECTS if it is not defined in the ecodes.
+        max_effects=ecodes.ecodes.get("FF_MAX_EFFECTS", 96),
     ):
         """
         Arguments
@@ -330,11 +333,20 @@
         # It is possible that there is some delay before /dev/input/event* 
shows
         # up on old systems that do not use devtmpfs, so if the device cannot 
be
         # found, wait for a short amount and then try again once.
-        try:
-            return device.InputDevice(device_path)
-        except FileNotFoundError:
-            time.sleep(0.1)
-            return device.InputDevice(device_path)
+        #
+        # Furthermore, even if devtmpfs is in use, it is possible that the 
device
+        # does show up immediately, but without the correct permissions that
+        # still need to be set by udev. Wait for up to two seconds for either 
the
+        # device to show up or the permissions to be set.
+        for attempt in range(19):
+            try:
+                return device.InputDevice(device_path)
+            except (FileNotFoundError, PermissionError):
+                time.sleep(0.1)
+
+        # Last attempt. If this fails, whatever exception the last attempt 
raises
+        # shall be the exception that this function raises.
+        return device.InputDevice(device_path)
 
     def _find_device_fallback(self):
         """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-evdev-1.7.0/pyproject.toml 
new/python-evdev-1.7.1/pyproject.toml
--- old/python-evdev-1.7.0/pyproject.toml       2024-02-18 22:15:40.000000000 
+0100
+++ new/python-evdev-1.7.1/pyproject.toml       2024-05-08 01:01:20.000000000 
+0200
@@ -4,10 +4,10 @@
 
 [project]
 name = "evdev"
-version = "1.7.0"
+version = "1.7.1"
 description = "Bindings to the Linux input handling subsystem"
 keywords = ["evdev", "input", "uinput"]
-readme = "README.rst"
+readme = "README.md"
 license = {file = "LICENSE"}
 requires-python = ">=3.6"
 authors = [
@@ -39,7 +39,7 @@
 ignore = ["E265", "E241", "F403", "F401", "E401", "E731"]
 
 [tool.bumpversion]
-current_version = "1.7.0"
+current_version = "1.7.1"
 commit = true
 tag = true
 allow_dirty = true
@@ -48,4 +48,4 @@
 filename = "pyproject.toml"
 
 [[tool.bumpversion.files]]
-filename = "docs/conf.py"
\ No newline at end of file
+filename = "docs/conf.py"

Reply via email to