diff mbox series

[meta-oe,walnascar,1/3] python3-evdev: upgrade 1.9.1 -> 1.9.2

Message ID 20250905180149.2497823-1-rmmuniz@gmail.com
State Not Applicable
Delegated to: Steve Sakoman
Headers show
Series [meta-oe,walnascar,1/3] python3-evdev: upgrade 1.9.1 -> 1.9.2 | expand

Commit Message

Rene Muniz Sept. 5, 2025, 6:01 p.m. UTC
From: Yoann Congal <yoann.congal@smile.fr>

* Remove a merged reproducibility patch
* Adapt the --reproducible option

Changelog (from [0]):

1.9.2 (May 01, 2025)
====================
- Add the "--reproducible" build option which removes the build date and used headers from the
  generated ``ecodes.c``. Example usage::

    python -m build --config-setting=--build-option='build_ecodes --reproducible' -n

- Use ``Generic`` to set precise type for ``InputDevice.path``.

[0]: https://github.com/gvalkov/python-evdev/blob/v1.9.2/docs/changelog.rst

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...ibility-option-for-building-ecodes.c.patch | 116 ------------------
 ...-evdev_1.9.1.bb => python3-evdev_1.9.2.bb} |   5 +-
 2 files changed, 2 insertions(+), 119 deletions(-)
 delete mode 100644 meta-python/recipes-devtools/python/python3-evdev/0001-Add-a-reproducibility-option-for-building-ecodes.c.patch
 rename meta-python/recipes-devtools/python/{python3-evdev_1.9.1.bb => python3-evdev_1.9.2.bb} (75%)

Comments

Steve Sakoman Sept. 8, 2025, 3:42 p.m. UTC | #1
Sent to the wrong mailing list~  This list is for patches to oe-core,
you want the meta-openembeded mailing list:
openembedded-devel@lists.openembedded.org

Steve

On Sat, Sep 6, 2025 at 6:03 AM Rene Muniz via lists.openembedded.org
<rmmuniz=gmail.com@lists.openembedded.org> wrote:
>
> From: Yoann Congal <yoann.congal@smile.fr>
>
> * Remove a merged reproducibility patch
> * Adapt the --reproducible option
>
> Changelog (from [0]):
>
> 1.9.2 (May 01, 2025)
> ====================
> - Add the "--reproducible" build option which removes the build date and used headers from the
>   generated ``ecodes.c``. Example usage::
>
>     python -m build --config-setting=--build-option='build_ecodes --reproducible' -n
>
> - Use ``Generic`` to set precise type for ``InputDevice.path``.
>
> [0]: https://github.com/gvalkov/python-evdev/blob/v1.9.2/docs/changelog.rst
>
> Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  ...ibility-option-for-building-ecodes.c.patch | 116 ------------------
>  ...-evdev_1.9.1.bb => python3-evdev_1.9.2.bb} |   5 +-
>  2 files changed, 2 insertions(+), 119 deletions(-)
>  delete mode 100644 meta-python/recipes-devtools/python/python3-evdev/0001-Add-a-reproducibility-option-for-building-ecodes.c.patch
>  rename meta-python/recipes-devtools/python/{python3-evdev_1.9.1.bb => python3-evdev_1.9.2.bb} (75%)
>
> diff --git a/meta-python/recipes-devtools/python/python3-evdev/0001-Add-a-reproducibility-option-for-building-ecodes.c.patch b/meta-python/recipes-devtools/python/python3-evdev/0001-Add-a-reproducibility-option-for-building-ecodes.c.patch
> deleted file mode 100644
> index e730519884..0000000000
> --- a/meta-python/recipes-devtools/python/python3-evdev/0001-Add-a-reproducibility-option-for-building-ecodes.c.patch
> +++ /dev/null
> @@ -1,116 +0,0 @@
> -From d05c1c9dd298cb95d7feccbddb5caa043a319a01 Mon Sep 17 00:00:00 2001
> -From: Yoann Congal <yoann.congal@smile.fr>
> -Date: Sun, 13 Apr 2025 00:52:13 +0200
> -Subject: [PATCH] Add a reproducibility option for building ecodes.c
> -
> -ecodes.c currently contains the kernel info of the build machine and the
> -full path of the input*.h headers: This is not reproducible as output
> -can change even is headers content do not. Downstream distributions
> -might package ecodes.c and get non-reproducible output.
> -
> -To fix this: introduce a --reproducible option in the build:
> -- in setup.py build_ecodes command
> -- in underlying genecodes_c.py
> -
> -Note: These options are disabled by default so no change is expected in
> -current builds.
> -
> -Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> -Upstream-Status: Submitted [https://github.com/gvalkov/python-evdev/pull/242]
> ----
> - setup.py                 | 13 ++++++++++---
> - src/evdev/genecodes_c.py | 17 +++++++++++------
> - 2 files changed, 21 insertions(+), 9 deletions(-)
> -
> -diff --git a/setup.py b/setup.py
> -index 6b721d7..3371199 100755
> ---- a/setup.py
> -+++ b/setup.py
> -@@ -14,7 +14,7 @@ curdir = Path(__file__).resolve().parent
> - ecodes_c_path = curdir / "src/evdev/ecodes.c"
> -
> -
> --def create_ecodes(headers=None):
> -+def create_ecodes(headers=None, reproducibility=False):
> -     if not headers:
> -         include_paths = set()
> -         cpath = os.environ.get("CPATH", "").strip()
> -@@ -65,7 +65,10 @@ def create_ecodes(headers=None):
> -
> -     print("writing %s (using %s)" % (ecodes_c_path, " ".join(headers)))
> -     with ecodes_c_path.open("w") as fh:
> --        cmd = [sys.executable, "src/evdev/genecodes_c.py", "--ecodes", *headers]
> -+        cmd = [sys.executable, "src/evdev/genecodes_c.py"]
> -+        if reproducibility:
> -+            cmd.append("--reproducibility")
> -+        cmd.extend(["--ecodes", *headers])
> -         run(cmd, check=True, stdout=fh)
> -
> -
> -@@ -74,17 +77,21 @@ class build_ecodes(Command):
> -
> -     user_options = [
> -         ("evdev-headers=", None, "colon-separated paths to input subsystem headers"),
> -+        ("reproducibility", None, "hide host details (host/paths) to create a reproducible output"),
> -     ]
> -
> -     def initialize_options(self):
> -         self.evdev_headers = None
> -+        self.reproducibility = False
> -
> -     def finalize_options(self):
> -         if self.evdev_headers:
> -             self.evdev_headers = self.evdev_headers.split(":")
> -+        if self.reproducibility is None:
> -+            self.reproducibility = False
> -
> -     def run(self):
> --        create_ecodes(self.evdev_headers)
> -+        create_ecodes(self.evdev_headers, reproducibility=self.reproducibility)
> -
> -
> - class build_ext(_build_ext.build_ext):
> -diff --git a/src/evdev/genecodes_c.py b/src/evdev/genecodes_c.py
> -index 5c2d946..24cad27 100644
> ---- a/src/evdev/genecodes_c.py
> -+++ b/src/evdev/genecodes_c.py
> -@@ -15,22 +15,27 @@ headers = [
> -     "/usr/include/linux/uinput.h",
> - ]
> -
> --opts, args = getopt.getopt(sys.argv[1:], "", ["ecodes", "stubs"])
> -+opts, args = getopt.getopt(sys.argv[1:], "", ["ecodes", "stubs", "reproducibility"])
> - if not opts:
> --    print("usage: genecodes.py [--ecodes|--stubs] <headers>")
> -+    print("usage: genecodes.py [--ecodes|--stubs] [--reproducibility] <headers>")
> -     exit(2)
> -
> - if args:
> -     headers = args
> -
> -+reproducibility = ("--reproducibility", "") in opts
> -+
> -
> - # -----------------------------------------------------------------------------
> - macro_regex = r"#define\s+((?:KEY|ABS|REL|SW|MSC|LED|BTN|REP|SND|ID|EV|BUS|SYN|FF|UI_FF|INPUT_PROP)_\w+)"
> - macro_regex = re.compile(macro_regex)
> -
> --# Uname without hostname.
> --uname = list(os.uname())
> --uname = " ".join((uname[0], *uname[2:]))
> -+if reproducibility:
> -+    uname = "hidden for reproducibility"
> -+else:
> -+    # Uname without hostname.
> -+    uname = list(os.uname())
> -+    uname = " ".join((uname[0], *uname[2:]))
> -
> -
> - # -----------------------------------------------------------------------------
> -@@ -138,5 +143,5 @@ elif ("--stubs", "") in opts:
> -     template = template_stubs
> -
> - body = os.linesep.join(body)
> --text = template % (uname, headers, body)
> -+text = template % (uname, headers if not reproducibility else ["hidden for reproducibility"], body)
> - print(text.strip())
> diff --git a/meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb b/meta-python/recipes-devtools/python/python3-evdev_1.9.2.bb
> similarity index 75%
> rename from meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb
> rename to meta-python/recipes-devtools/python/python3-evdev_1.9.2.bb
> index af88770c59..28c8ea4bc1 100644
> --- a/meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb
> +++ b/meta-python/recipes-devtools/python/python3-evdev_1.9.2.bb
> @@ -3,8 +3,7 @@ HOMEPAGE = "https://github.com/gvalkov/python-evdev"
>  LICENSE = "BSD-3-Clause"
>  LIC_FILES_CHKSUM = "file://LICENSE;md5=d7bd1cc4c71b706c7e2d4053aef50f2a"
>
> -SRC_URI += "file://0001-Add-a-reproducibility-option-for-building-ecodes.c.patch"
> -SRC_URI[sha256sum] = "dc640a064cb1c9fe1f8b970dc2039945a2a275d7b7ee62284bf427238abe45ee"
> +SRC_URI[sha256sum] = "5d3278892ce1f92a74d6bf888cc8525d9f68af85dbe336c95d1c87fb8f423069"
>
>  inherit pypi python_setuptools_build_meta
>
> @@ -14,7 +13,7 @@ do_compile:prepend() {
>
>  PEP517_BUILD_OPTS = "--config-setting=--build-option='build_ecodes \
>      --evdev-headers ${STAGING_DIR_TARGET}/usr/include/linux/input.h:${STAGING_DIR_TARGET}/usr/include/linux/input-event-codes.h \
> -    --reproducibility'"
> +    --reproducible'"
>
>  RDEPENDS:${PN} += "\
>      python3-ctypes \
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#223043): https://lists.openembedded.org/g/openembedded-core/message/223043
> Mute This Topic: https://lists.openembedded.org/mt/115098119/3620601
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [steve@sakoman.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta-python/recipes-devtools/python/python3-evdev/0001-Add-a-reproducibility-option-for-building-ecodes.c.patch b/meta-python/recipes-devtools/python/python3-evdev/0001-Add-a-reproducibility-option-for-building-ecodes.c.patch
deleted file mode 100644
index e730519884..0000000000
--- a/meta-python/recipes-devtools/python/python3-evdev/0001-Add-a-reproducibility-option-for-building-ecodes.c.patch
+++ /dev/null
@@ -1,116 +0,0 @@ 
-From d05c1c9dd298cb95d7feccbddb5caa043a319a01 Mon Sep 17 00:00:00 2001
-From: Yoann Congal <yoann.congal@smile.fr>
-Date: Sun, 13 Apr 2025 00:52:13 +0200
-Subject: [PATCH] Add a reproducibility option for building ecodes.c
-
-ecodes.c currently contains the kernel info of the build machine and the
-full path of the input*.h headers: This is not reproducible as output
-can change even is headers content do not. Downstream distributions
-might package ecodes.c and get non-reproducible output.
-
-To fix this: introduce a --reproducible option in the build:
-- in setup.py build_ecodes command
-- in underlying genecodes_c.py
-
-Note: These options are disabled by default so no change is expected in
-current builds.
-
-Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
-Upstream-Status: Submitted [https://github.com/gvalkov/python-evdev/pull/242]
----
- setup.py                 | 13 ++++++++++---
- src/evdev/genecodes_c.py | 17 +++++++++++------
- 2 files changed, 21 insertions(+), 9 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 6b721d7..3371199 100755
---- a/setup.py
-+++ b/setup.py
-@@ -14,7 +14,7 @@ curdir = Path(__file__).resolve().parent
- ecodes_c_path = curdir / "src/evdev/ecodes.c"
- 
- 
--def create_ecodes(headers=None):
-+def create_ecodes(headers=None, reproducibility=False):
-     if not headers:
-         include_paths = set()
-         cpath = os.environ.get("CPATH", "").strip()
-@@ -65,7 +65,10 @@ def create_ecodes(headers=None):
- 
-     print("writing %s (using %s)" % (ecodes_c_path, " ".join(headers)))
-     with ecodes_c_path.open("w") as fh:
--        cmd = [sys.executable, "src/evdev/genecodes_c.py", "--ecodes", *headers]
-+        cmd = [sys.executable, "src/evdev/genecodes_c.py"]
-+        if reproducibility:
-+            cmd.append("--reproducibility")
-+        cmd.extend(["--ecodes", *headers])
-         run(cmd, check=True, stdout=fh)
- 
- 
-@@ -74,17 +77,21 @@ class build_ecodes(Command):
- 
-     user_options = [
-         ("evdev-headers=", None, "colon-separated paths to input subsystem headers"),
-+        ("reproducibility", None, "hide host details (host/paths) to create a reproducible output"),
-     ]
- 
-     def initialize_options(self):
-         self.evdev_headers = None
-+        self.reproducibility = False
- 
-     def finalize_options(self):
-         if self.evdev_headers:
-             self.evdev_headers = self.evdev_headers.split(":")
-+        if self.reproducibility is None:
-+            self.reproducibility = False
- 
-     def run(self):
--        create_ecodes(self.evdev_headers)
-+        create_ecodes(self.evdev_headers, reproducibility=self.reproducibility)
- 
- 
- class build_ext(_build_ext.build_ext):
-diff --git a/src/evdev/genecodes_c.py b/src/evdev/genecodes_c.py
-index 5c2d946..24cad27 100644
---- a/src/evdev/genecodes_c.py
-+++ b/src/evdev/genecodes_c.py
-@@ -15,22 +15,27 @@ headers = [
-     "/usr/include/linux/uinput.h",
- ]
- 
--opts, args = getopt.getopt(sys.argv[1:], "", ["ecodes", "stubs"])
-+opts, args = getopt.getopt(sys.argv[1:], "", ["ecodes", "stubs", "reproducibility"])
- if not opts:
--    print("usage: genecodes.py [--ecodes|--stubs] <headers>")
-+    print("usage: genecodes.py [--ecodes|--stubs] [--reproducibility] <headers>")
-     exit(2)
- 
- if args:
-     headers = args
- 
-+reproducibility = ("--reproducibility", "") in opts
-+
- 
- # -----------------------------------------------------------------------------
- macro_regex = r"#define\s+((?:KEY|ABS|REL|SW|MSC|LED|BTN|REP|SND|ID|EV|BUS|SYN|FF|UI_FF|INPUT_PROP)_\w+)"
- macro_regex = re.compile(macro_regex)
- 
--# Uname without hostname.
--uname = list(os.uname())
--uname = " ".join((uname[0], *uname[2:]))
-+if reproducibility:
-+    uname = "hidden for reproducibility"
-+else:
-+    # Uname without hostname.
-+    uname = list(os.uname())
-+    uname = " ".join((uname[0], *uname[2:]))
- 
- 
- # -----------------------------------------------------------------------------
-@@ -138,5 +143,5 @@ elif ("--stubs", "") in opts:
-     template = template_stubs
- 
- body = os.linesep.join(body)
--text = template % (uname, headers, body)
-+text = template % (uname, headers if not reproducibility else ["hidden for reproducibility"], body)
- print(text.strip())
diff --git a/meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb b/meta-python/recipes-devtools/python/python3-evdev_1.9.2.bb
similarity index 75%
rename from meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb
rename to meta-python/recipes-devtools/python/python3-evdev_1.9.2.bb
index af88770c59..28c8ea4bc1 100644
--- a/meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb
+++ b/meta-python/recipes-devtools/python/python3-evdev_1.9.2.bb
@@ -3,8 +3,7 @@  HOMEPAGE = "https://github.com/gvalkov/python-evdev"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d7bd1cc4c71b706c7e2d4053aef50f2a"
 
-SRC_URI += "file://0001-Add-a-reproducibility-option-for-building-ecodes.c.patch"
-SRC_URI[sha256sum] = "dc640a064cb1c9fe1f8b970dc2039945a2a275d7b7ee62284bf427238abe45ee"
+SRC_URI[sha256sum] = "5d3278892ce1f92a74d6bf888cc8525d9f68af85dbe336c95d1c87fb8f423069"
 
 inherit pypi python_setuptools_build_meta
 
@@ -14,7 +13,7 @@  do_compile:prepend() {
 
 PEP517_BUILD_OPTS = "--config-setting=--build-option='build_ecodes \
     --evdev-headers ${STAGING_DIR_TARGET}/usr/include/linux/input.h:${STAGING_DIR_TARGET}/usr/include/linux/input-event-codes.h \
-    --reproducibility'"
+    --reproducible'"
 
 RDEPENDS:${PN} += "\
     python3-ctypes \