Package: release.debian.org
Severity: normal
X-Debbugs-Cc: k...@packages.debian.org
Control: affects -1 + src:keyd
User: release.debian....@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 <rhan...@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 <rhan...@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 <rhan...@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

Reply via email to