| 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 |
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 --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 \