Bug 2133456

Summary: Review Request: python-hidtools - Set of tools to interact with the kernel's HID subsystem
Product: [Fedora] Fedora Reporter: Dominik 'Rathann' Mierzejewski <dominik>
Component: Package ReviewAssignee: fedepell <fede>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fede, package-review
Target Milestone: ---Flags: fede: fedora-review?
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-01-02 08:47:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dominik 'Rathann' Mierzejewski 2022-10-10 14:02:48 UTC
Spec URL: https://rathann.fedorapeople.org/review/python-hidtools/python-hidtools.spec
SRPM URL: https://rathann.fedorapeople.org/review/python-hidtools/python-hidtools-0.3-1.fc36.src.rpm
Description:
hid-tools is a set of tools to interact with the kernel's HID subsystem.

Debugging tools for users
$ hid-recorder

hid-recorder prints the HID Report Descriptor from a /dev/hidraw device node and
any HID reports coming from that device. The output format can be used with
hid-replay for debugging. When run without any arguments, the tool prints a list
of available devices.

$ sudo hid-recorder

hid-replay

hid-replay takes the output from hid-recorder and replays it through a virtual
HID device that looks exactly like the one recorded. hid-replay requires UHID
support so make sure pyudev is installed.

$ sudo hid-replay recording-file.hid

hid-decode

hid-decode takes a HID Report Descriptor and prints a human-readable version of
it. hid-decode takes binary report descriptors, strings of bytes, and other
formats.

$ hid-decode /sys/class/input/event5/device/device/report_descriptor

Fedora Account System Username: rathann

Comment 1 Dominik 'Rathann' Mierzejewski 2022-10-10 14:05:30 UTC
koji scratch build successful: https://koji.fedoraproject.org/koji/taskinfo?taskID=92881166

Comment 2 fedepell 2022-11-06 13:53:57 UTC
Hi Dominik!

> Version:        0.3

I saw in the meantime 0.3.1 was released, which also fixes the version problem you are patching. Let's bump to that one and drop the version patch?

> License:        GPLv2+

Should be "GPL-2.0-or-later" I believe now with SPDX.

> Source0:        https://gitlab.freedesktop.org/libevdev/hid-tools/-/archive/%{version}/hid-tools-%{version}.tar.bz2

Maybe change to:
Source0:        %{url}/-/archive/%{version}/hid-tools-%{version}.tar.bz2

I see rpmlint will complain about:

> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/cli/decode.py 644 /bin/env python3
> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/cli/feature.py 644 /bin/env python3
> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/cli/parse_hid.py 644 /bin/env python3
> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/cli/record.py 644 /bin/env python3
> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/cli/replay.py 644 /bin/env python3
> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/hid.py 644 /bin/env python3
> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/hidraw.py 644 /bin/env python3
> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/hut.py 644 /bin/env python3
> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/uhid.py 644 /bin/env python3
> python3-hidtools.noarch: E: non-executable-script /usr/lib/python3.11/site-packages/hidtools/util.py 644 /bin/env python3

Indeed some have a "main" inside so could be potentially executed directly, some don't so having the shebang is a bit strange although not a problem. But this is something that may be discussed with upstream, not sure something to worry too much of.

Comment 3 Dominik 'Rathann' Mierzejewski 2023-01-02 08:47:02 UTC
Thanks for the review, however I decided not to package this as solaar, for which I needed this as a dependency,
decided to go with hid-parser (https://pypi.org/project/hid-parser/) instead. I'll open a new review for that one soon.