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"
