Bug 2467653 - Review Request: keyd - A powerful key remapper for the Linux desktop
Summary: Review Request: keyd - A powerful key remapper for the Linux desktop
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/rvaiya/%{name}
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-05-07 07:04 UTC by Dick Marinus
Modified: 2026-08-24 13:58 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)
The .spec file difference from Copr build 10897154 to 10897339 (2.05 KB, patch)
2026-08-24 13:58 UTC, Fedora Review Service
no flags Details | Diff

Description Dick Marinus 2026-05-07 07:04:04 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/meeuw/keyd/fedora-44-x86_64/10431945-keyd/keyd.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/meeuw/keyd/fedora-44-x86_64/10431945-keyd/keyd-2.6.0-1.fc44.src.rpm
Description: Linux lacks a good key remapping solution. In order to achieve satisfactory results a medley of tools need to be employed (e.g xcape, xmodmap) with the end result often being tethered to a specified environment (X11). keyd attempts to solve this problem by providing a flexible system wide daemon which remaps keys using kernel level input primitives (evdev, uinput).
Fedora Account System Username: meeuw

Comment 1 Artur Frenszek-Iwicki 2026-08-23 15:16:18 UTC
Hey, Dick. Are you still interested in this?
If that's the case, please upload the spec+srpm to some persistent storage, as COPR deletes the files after a couple of days.

Comment 3 Artur Frenszek-Iwicki 2026-08-23 19:17:52 UTC
> BuildRequires: gcc-c++
> BuildRequires: kernel-headers
You're missing a BR on "make"; it's not part of the default buildroot since Fedora 34.
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot

> %package -n gnome-shell-extension-keyd
> Summary: Gnome Shell Extension used by keyd to obtain active window information.
> Requires: gnome-shell < 50
This should probably require the main package, as well.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_requiring_base_package

Also, as the extension is just some JavaScript code + metadata,
you can make it "BuildArch: noarch".

> %install
> install -Dm644 LICENSE -t "%{buildroot}/usr/share/licenses/keyd"
You don't need install the file manually; "%license LICENSE" will handle it for you.

> mkdir -p %{buildroot}%{_datadir}/gnome-shell/extensions/keyd.github.com/
> cp -r data/gnome-extension-45/* %{buildroot}%{_datadir}/gnome-shell/extensions/keyd.github.com/
You should aim to preserve file timestamps. Use either "cp -pr" or "cp -a" here.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_timestamps

> %check
> [[ "$(bin/keyd --version)" = "keyd v%{version} ()" ]]
Since %check runs after %install, might make sense to invoke %{buildroot}%{_bindir}/keyd here.

> %files
> %{_docdir}/%{name}
This should be marked as %doc.

> %files
> %{_prefix}/lib/systemd/system/%{name}.service
You could use the %{_unitdir} macro, instead.
> %{_prefix}/lib/systemd/system/%{name}.service
...and %{_sysusersdir} here.

> %files
> %{_mandir}/man1/%{name}.1.gz
> %{_mandir}/man1/%{name}-application-mapper.1.gz
Do not assume that man pages will be gzipped.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages

Comment 4 Dick Marinus 2026-08-24 08:36:50 UTC
Thank you Artur for your good suggestions!

I've also added some systemd scriptlets, changed the gcc-c++ dependency to gcc and added a comment where the gnome-shell < 50 comes from.

Updated spec/srpm:
https://mrns.nl/~meeuw/86f4f9c869699475681a89930701921ae37f8e704ebfb04bc21aae67-keyd-2.6.0-1.fc44.src.rpm
https://mrns.nl/~meeuw/86f4f9c869699475681a89930701921ae37f8e704ebfb04bc21aae67-keyd.spec

Comment 5 Fedora Review Service 2026-08-24 12:52:52 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10897154
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2467653-keyd/fedora-rawhide-x86_64/10897154-keyd/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 6 Fedora Review Service 2026-08-24 13:58:02 UTC
Created attachment 2155518 [details]
The .spec file difference from Copr build 10897154 to 10897339

Comment 7 Fedora Review Service 2026-08-24 13:58:04 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10897339
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2467653-keyd/fedora-rawhide-x86_64/10897339-keyd/fedora-review/review.txt

Found issues:

- Systemd service file(s) in keyd
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_scriptlets

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.


Note You need to log in before you can comment on or make changes to this bug.