Package: release.debian.org Severity: normal X-Debbugs-Cc: keyd@packages.debian.org Control: affects -1 + src:keyd User: release.debian.org@packages.debian.org Usertags: unblock Please unblock package keyd [ Reason ]2.5.0-4 (already uploaded to sid) fixes a couple of RC bugs in 2.5.0-2 (current in trixie):
* Bug #1106031: The keyd-application-mapper package executes the wrong name for the keyd executable due to a bug I introduced while fixing a different bug.
* Bug #1106190: keyd FTBFS on some 32-bit architectures due to 64-bit time support causing struct input_event to have a pair of longs rather than an embedded struct timeval.
[ Impact ]Without the fix for bug #1106031, the keyd-application-mapper package is completely broken. (However, I expect most users would install the keyd package without installing keyd-application-mapper.)
Without the fix for bug #1106190, the keyd package is unavailable on the following architectures: armel, armhf, hppa, m68k, powerpc, sh4, x32
[ Tests ]For bug #1106031, there is no automated regression test available yet. To manually reproduce the bug (or to verify the fix), see the steps at <https://bugs.debian.org/1106031#5>.
For bug #1106190, build failures should appear at <https://buildd.debian.org/status/package.php?p=keyd&suite=trixie>.
[ Risks ]* The packages built by src:keyd have no reverse dependencies (outside of src:keyd).
* keyd is new as of trixie; if 2.5.0-4 breaks something, it won't break anything that bookworm users currently rely on.
* The fixes are quite simple (the debdiff is small).* Upstream has already accepted the fix for bug #1106190. (The fix for bug #1106031 is Debian-specific because it fixes a Debian-specific change.)
[ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing [ Other info ] 2.5.0-4 has already been uploaded to unstable. unblock keyd/2.5.0-4
diff -Nru keyd-2.5.0/debian/changelog keyd-2.5.0/debian/changelog
--- keyd-2.5.0/debian/changelog 2025-03-18 02:29:23.000000000 -0400
+++ keyd-2.5.0/debian/changelog 2025-05-20 17:20:58.000000000 -0400
@@ -1,3 +1,19 @@
+keyd (2.5.0-4) unstable; urgency=medium
+
+ * Change architecture to linux-all (keyd is Linux-specific) (Closes: #1106189)
+ * Fix build on architectures without time member in struct input_event
+ (Closes: #1106190)
+
+ -- Richard Hansen <rhansen@rhansen.org> Tue, 20 May 2025 17:20:58 -0400
+
+keyd (2.5.0-3) unstable; urgency=medium
+
+ * Update Debian VCS URL to the project's new location
+ * Fix keyd-application-mapper running the wrong keyd executable.
+ Thanks to Martin Marshall for the fix (Closes: #1106031)
+
+ -- Richard Hansen <rhansen@rhansen.org> Tue, 20 May 2025 03:12:46 -0400
+
keyd (2.5.0-2) unstable; urgency=medium
* Restore unintentionally removed debian/.gitignore
diff -Nru keyd-2.5.0/debian/control keyd-2.5.0/debian/control
--- keyd-2.5.0/debian/control 2025-03-18 02:29:23.000000000 -0400
+++ keyd-2.5.0/debian/control 2025-05-20 17:20:23.000000000 -0400
@@ -10,11 +10,11 @@
scdoc,
Standards-Version: 4.7.2
Homepage: https://github.com/rvaiya/keyd
-Vcs-Browser: https://salsa.debian.org/rhansen/keyd
-Vcs-Git: https://salsa.debian.org/rhansen/keyd.git
+Vcs-Browser: https://salsa.debian.org/debian/keyd
+Vcs-Git: https://salsa.debian.org/debian/keyd.git
Package: keyd
-Architecture: any
+Architecture: linux-any
Multi-Arch: foreign
Depends:
# passwd is only required for groupadd/groupdel in keyd.postinst/keyd.postrm
diff -Nru keyd-2.5.0/debian/patches/0008-Rename-usr-bin-keyd-to-keyd.rvaiya-to-avoid-conflict.patch keyd-2.5.0/debian/patches/0008-Rename-usr-bin-keyd-to-keyd.rvaiya-to-avoid-conflict.patch
--- keyd-2.5.0/debian/patches/0008-Rename-usr-bin-keyd-to-keyd.rvaiya-to-avoid-conflict.patch 2025-03-17 23:14:28.000000000 -0400
+++ keyd-2.5.0/debian/patches/0008-Rename-usr-bin-keyd-to-keyd.rvaiya-to-avoid-conflict.patch 2025-05-20 17:17:35.000000000 -0400
@@ -8,7 +8,8 @@
Makefile | 2 +-
docs/{keyd.scdoc => keyd.rvaiya.scdoc} | 8 ++++----
keyd.service.in | 4 ++--
- 3 files changed, 7 insertions(+), 7 deletions(-)
+ scripts/keyd-application-mapper | 2 +-
+ 4 files changed, 8 insertions(+), 8 deletions(-)
rename docs/{keyd.scdoc => keyd.rvaiya.scdoc} (99%)
diff --git a/Makefile b/Makefile
@@ -73,3 +74,16 @@
[Install]
WantedBy=multi-user.target
+diff --git a/scripts/keyd-application-mapper b/scripts/keyd-application-mapper
+index 6973e3e..89cc4e2 100755
+--- a/scripts/keyd-application-mapper
++++ b/scripts/keyd-application-mapper
+@@ -494,7 +494,7 @@ def on_window_change(cls, title):
+ print(f'Active window: {cls}|{title}')
+
+ bindings = lookup_bindings(cls, title)
+- subprocess.run(['keyd', 'bind', 'reset', *bindings], stdout=subprocess.DEVNULL)
++ subprocess.run(['keyd.rvaiya', 'bind', 'reset', *bindings], stdout=subprocess.DEVNULL)
+
+
+ mon = get_monitor(on_window_change)
diff -Nru keyd-2.5.0/debian/patches/0009-Fix-build-on-architectures-without-time-member-in-st.patch keyd-2.5.0/debian/patches/0009-Fix-build-on-architectures-without-time-member-in-st.patch
--- keyd-2.5.0/debian/patches/0009-Fix-build-on-architectures-without-time-member-in-st.patch 1969-12-31 19:00:00.000000000 -0500
+++ keyd-2.5.0/debian/patches/0009-Fix-build-on-architectures-without-time-member-in-st.patch 2025-05-20 17:20:23.000000000 -0400
@@ -0,0 +1,91 @@
+From: Richard Hansen <rhansen@rhansen.org>
+Date: Tue, 20 May 2025 15:53:05 -0400
+Subject: Fix build on architectures without time member in struct input_event
+
+Forwarded: https://github.com/rvaiya/keyd/pull/1016
+Bug-Debian: https://bugs.debian.org/1106190
+---
+ src/vkbd/uinput.c | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/src/vkbd/uinput.c b/src/vkbd/uinput.c
+index 6c5f974..255e161 100644
+--- a/src/vkbd/uinput.c
++++ b/src/vkbd/uinput.c
+@@ -210,8 +210,8 @@ static void write_key_event(const struct vkbd *vkbd, uint8_t code, int state)
+
+ ev.value = state;
+
+- ev.time.tv_sec = 0;
+- ev.time.tv_usec = 0;
++ ev.input_event_sec = 0;
++ ev.input_event_usec = 0;
+
+ xwrite(fd, &ev, sizeof(ev));
+
+@@ -245,8 +245,8 @@ void vkbd_mouse_move(const struct vkbd *vkbd, int x, int y)
+ ev.code = REL_X;
+ ev.value = x;
+
+- ev.time.tv_sec = 0;
+- ev.time.tv_usec = 0;
++ ev.input_event_sec = 0;
++ ev.input_event_usec = 0;
+
+ xwrite(vkbd->pfd, &ev, sizeof(ev));
+ }
+@@ -256,8 +256,8 @@ void vkbd_mouse_move(const struct vkbd *vkbd, int x, int y)
+ ev.code = REL_Y;
+ ev.value = y;
+
+- ev.time.tv_sec = 0;
+- ev.time.tv_usec = 0;
++ ev.input_event_sec = 0;
++ ev.input_event_usec = 0;
+
+ xwrite(vkbd->pfd, &ev, sizeof(ev));
+ }
+@@ -277,8 +277,8 @@ void vkbd_mouse_scroll(const struct vkbd *vkbd, int x, int y)
+ ev.code = REL_WHEEL;
+ ev.value = y;
+
+- ev.time.tv_sec = 0;
+- ev.time.tv_usec = 0;
++ ev.input_event_sec = 0;
++ ev.input_event_usec = 0;
+
+ xwrite(vkbd->pfd, &ev, sizeof(ev));
+
+@@ -286,8 +286,8 @@ void vkbd_mouse_scroll(const struct vkbd *vkbd, int x, int y)
+ ev.code = REL_HWHEEL;
+ ev.value = x;
+
+- ev.time.tv_sec = 0;
+- ev.time.tv_usec = 0;
++ ev.input_event_sec = 0;
++ ev.input_event_usec = 0;
+
+ xwrite(vkbd->pfd, &ev, sizeof(ev));
+
+@@ -307,8 +307,8 @@ void vkbd_mouse_move_abs(const struct vkbd *vkbd, int x, int y)
+ ev.code = ABS_X;
+ ev.value = x;
+
+- ev.time.tv_sec = 0;
+- ev.time.tv_usec = 0;
++ ev.input_event_sec = 0;
++ ev.input_event_usec = 0;
+
+ xwrite(vkbd->pfd, &ev, sizeof(ev));
+ }
+@@ -318,8 +318,8 @@ void vkbd_mouse_move_abs(const struct vkbd *vkbd, int x, int y)
+ ev.code = ABS_Y;
+ ev.value = y;
+
+- ev.time.tv_sec = 0;
+- ev.time.tv_usec = 0;
++ ev.input_event_sec = 0;
++ ev.input_event_usec = 0;
+
+ xwrite(vkbd->pfd, &ev, sizeof(ev));
+ }
diff -Nru keyd-2.5.0/debian/patches/series keyd-2.5.0/debian/patches/series
--- keyd-2.5.0/debian/patches/series 2025-03-17 23:14:28.000000000 -0400
+++ keyd-2.5.0/debian/patches/series 2025-05-20 17:20:23.000000000 -0400
@@ -6,3 +6,4 @@
0006-Pass-CPPFLAGS-CFLAGS-LDFLAGS-to-the-compiler.patch
0007-Reference-man-page-from-systemd-unit-files.patch
0008-Rename-usr-bin-keyd-to-keyd.rvaiya-to-avoid-conflict.patch
+0009-Fix-build-on-architectures-without-time-member-in-st.patch
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature