Jeremy Bícha pushed to branch debian-unstable at X Strike Force / lib / libei


Commits:
5d6d8e65 by Peter Hutterer at 2025-02-12T13:05:24+10:00
libei 1.4.0

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
eda5b907 by Corentin Noël at 2025-03-26T15:33:34+01:00
meson.build: Use the correct name for the libraries overrides

The libraries are actually suffixed with the API number, use the same value as
their pkgconfig basenames.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/326>

- - - - -
fa21d765 by Ian Douglas Scott at 2025-03-31T09:11:56+10:00
proto: Fix `version` for `ei_touchscreen`

Fixes: b1c1c5d579dc ("Add the ei_touchscreen.cancel event and 
ei_touch_cancel()")
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/327>

- - - - -
b0deafc6 by Peter Hutterer at 2025-03-31T10:00:05+10:00
scanner: convert the 'version' and 'since' arguments to int

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/328>

- - - - -
962863cb by Peter Hutterer at 2025-03-31T10:00:19+10:00
scanner: ensure 'since' doesn't exceed the interface version

See https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/327

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/328>

- - - - -
9e0413cb by Peter Hutterer at 2025-04-01T13:52:48+10:00
libei 1.4.1

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
e147d431 by Eric Long at 2025-04-11T15:32:20+08:00
test: increase protocol-test-valgrind timeout

Currently libei's valgrind test setup has 100x timeout (3000s), but the
standalone protocol-test-valgrind still has 30s timeout, which is not enough
for RISC-V hardware. On Milk-V Pioneer (SG2042) it takes ~70s to complete. In
addition, `kill_gently` sends SIGKILL before the process terminates and fails
the test.

Bump protocol-test-valgrind timeout to 300s and increase timeout between kill
signals to 3s to solve the issue.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/329>

- - - - -
247a3d49 by Peter Hutterer at 2025-05-02T05:39:52+00:00
ei: print the sequence number on error for a start_emulating event

This may help debugging which sequence triggered an error.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/330>

- - - - -
daf0b246 by Peter Hutterer at 2025-05-02T15:40:47+10:00
test: add a test for multiple start/stop emulating events

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/331>

- - - - -
daba46a2 by Peter Hutterer at 2025-05-02T15:40:47+10:00
eis: if a client is slow, queue up messages for future delivery

If a receiver client stops calling ei_dispatch for a while eventually
we fill up the send buffer, causing messages to be quietly dropped.
When the client resumes the message stream resumes with whatever we send
next but that can leave the client in an inconsistent state.

deskflow hit this in the server-side where our event sequence of pointer
motion+frames eventually filled up the buffer, causing
eis_device_stop_emulating() to be silently dropped. On the next
InputCapture sequence eis_device_start_emulating() was sent to an
already emulating client (as seen by the client).

This patch adds a secondary queue, if we fail to send a message with
EAGAIN queue it up and flush that queue whenever the next message is
sent. Meanwhile any newly added messages go straight into that queue.

The caveat here: a nonresponding client will eventually trigger OOM,
there is no upper limit on the messages yet

This is the libeis version of
commit 69e973e6b30b ("ei: queue unsent messages for later delivery if our 
buffer is full")

Closes: #79
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/331>

- - - - -
b2484c00 by Peter Hutterer at 2025-05-19T16:11:49+10:00
CI: bump to Fedora 42 and latest ci-templates

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/333>

- - - - -
2556ad38 by Peter Hutterer at 2025-05-19T11:34:54+00:00
tools: handle EI_EVENT_SYNC in the demo client

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/332>

- - - - -
851f935f by Peter Hutterer at 2025-05-19T11:34:54+00:00
tools: print missing event types in the demo client

Instead of aborting, print something useful

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/332>

- - - - -
ee27dd5c by Jonas Ådahl at 2025-05-22T22:43:35+02:00
ei-device: Don't leak fd when receiving the keymap

The ei_keymap dups the file descriptor, so lets close the one we
received from the demarshaller.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/334>

- - - - -
6c5b4863 by Jason Gerecke at 2025-05-29T14:35:19-07:00
scanner: Avoid trailing full stops in regex search for protocol names

Continue to find nested ei_foo.bar.baz but avoid including a trailing
full stop, if it exists.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/336>

- - - - -
50ff529a by Jason Gerecke at 2025-05-29T23:07:48+00:00
Fix MIT license header text

Corrects an issue where a wild search-and-replace mangled the license
texts on protocol implementations.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/335>

- - - - -
efdc58e0 by Peter Hutterer at 2025-06-13T16:49:03+10:00
test: remove an unused function

Obsolete since 479bda259a79 ("Purge libreis from the repo")

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/338>

- - - - -
dbeff9a9 by Peter Hutterer at 2025-06-16T11:20:21+10:00
test: add a bunch of strv helpers

Taken from libinput

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337>

- - - - -
98e445eb by Peter Hutterer at 2025-06-16T11:20:21+10:00
test: add ability to capture logs

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337>

- - - - -
8cd2b01b by Peter Hutterer at 2025-06-16T11:20:21+10:00
test: expose the ei socket fd to tests

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337>

- - - - -
edc8ea04 by Peter Hutterer at 2025-06-16T11:20:21+10:00
eis: don't warn about EPIPE, just debug-log it

While it's not the friendliest way of a client to exit, we do need to
expect clients to disconnect any time and that shouldn't trigger
warnings, it's somewhat expected behavior.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337>

- - - - -
1b11d10f by Kacper Piwiński at 2025-06-29T07:43:34+00:00
util: use already computed strlen

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/342>

- - - - -
54e71e6d by Kacper Piwiński at 2025-06-29T07:48:45+00:00
util: don't call function in macro argument

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/342>

- - - - -
70cfc6ee by David Redondo at 2025-07-01T08:50:48+02:00
Make it possible to fetch the pid of a client in socket mode

This is useful to get some more info about clients that try to
connect.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/339>

- - - - -
ac9b92bb by Jason Gerecke at 2025-07-02T14:03:33-07:00
proto: Correct spelling issues in the protocol documentation

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343>

- - - - -
6aa4dc0c by Jason Gerecke at 2025-07-02T14:03:34-07:00
doc: Correct spelling errors in the code documentation

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343>

- - - - -
883a60d4 by Jason Gerecke at 2025-07-02T14:03:34-07:00
oeffis: Correct spelling errors in log messages

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343>

- - - - -
5567524e by Peter Hutterer at 2025-07-11T00:59:06+00:00
Swap accidental trailing comma for a semicolon

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/347>

- - - - -
6194880a by Jonas Ådahl at 2025-07-16T13:42:13+10:00
libeis: remove leftover debug log

Fixes: 73e0e8d339da ("eis: add EI_EVENT_SYNC as opaque event to correctly 
schedule callbacks")
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/348>

- - - - -
12237f19 by Peter Hutterer at 2025-07-18T13:26:01+10:00
ei: don't use the connection until we have one

If we're in EI_STATE_BACKEND ei->connection is NULL, causing a segfault
if in this state we unref our ei context.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/350>

- - - - -
55335b90 by Peter Hutterer at 2025-07-24T00:54:06+00:00
libei: fix the docs for the various _unref functions

Copy/paste from ei_unref but none of the others will disconnect the
context.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/349>

- - - - -
0488b4b4 by Peter Hutterer at 2025-07-24T11:07:32+10:00
test: expand peck_new() to take varargs

This enables us to pass various configuration into the peck context
in the future without having to update every single test that doesn't
need that particular configuration.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351>

- - - - -
0831303a by Peter Hutterer at 2025-07-24T11:07:32+10:00
test: change peck_new_context to take varargs

This makes peck_new_context() take variable arguments in the style
key, v1, v2... where each value is defined by the free-form key.

What we need right now is the mode of the context, so let's add that.
In the future we will add more configurable bits here.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351>

- - - - -
297f95ef by Peter Hutterer at 2025-07-24T11:07:32+10:00
utils: add the etrace macro

Same as the existing trace but prints to stderr. And #include stdio so
we can use this file as-is instead of needing extra includes.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351>

- - - - -
45c526bc by Peter Hutterer at 2025-07-24T11:07:32+10:00
ei: indentation fix

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351>

- - - - -
500ad051 by Ian Douglas Scott at 2025-07-31T19:33:26-07:00
test: Advertise scroll/button interfaces in `test_connect_receive_seat`

This test was checking for the capabilities for `EI_SCROLL` and
`EI_BUTTON`, but not advertising those interfaces initially. Presumably
this was unintentional, given there's no comment that it's intentionally
advertising some protocols but not others.

Also, should the test have failed to find the capabilities when it
didn't advertise the protocol to to start with? This change just fixes
the test, anyway.

This was causing the test to fail for `reis` CI in a proposed change in
https://github.com/ids1024/reis/pull/11.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/352>

- - - - -
e3e143ea by Axel Karjalainen at 2025-08-05T02:02:38+03:00
test: fix false fail by actually looking for unbound capability mask

The previous implementation of
`test_seat_bind_invalid_caps_expect_disconnection`
didn't follow the protocol specification and assumed that `0x1` was
invalid.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/354>

- - - - -
1faaacda by Peter Hutterer at 2025-08-05T07:02:57+00:00
eis: send the interface version for the scroll interface

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/353>

- - - - -
7347aeac by Peter Hutterer at 2025-08-05T07:02:57+00:00
eis: only send interface versions that the client announced

Do not reply with interfaces that the client never requested.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/353>

- - - - -
3b98946b by Peter Hutterer at 2025-08-05T07:02:57+00:00
eis: only send scroll/button capabilities if the client supports them

Commit a902d5dbd859 ("protocol: replace the capabilities enum with an interface 
list")
added automatic handling for button/scroll interfaces on the protocol
because the libeis C API didn't have those as separate interfaces yet.
Any EIS implementation with POINTER/POINTER_ABSOLUTE would always
announce BUTTON/SCROLL capabilities.

Later in commit e6954b76d3b4 ("eis: change the API to match the protocol 
interfaces closer")
the required C APIs were added but this handling was never removed so an
EIS implementation always replied with button/scroll capabilities even
where not set. Fix this by removing this automatic announcement.

Fixes: e6954b76d3b4 ("eis: change the API to match the protocol interfaces 
closer")
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/353>

- - - - -
f3f69e3a by Axel Karjalainen at 2025-08-14T00:07:08+00:00
doc: Correct meaning of ei_connection.disconnected

Closes https://gitlab.freedesktop.org/libinput/libei/-/issues/85

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344>

- - - - -
4d999849 by Axel Karjalainen at 2025-08-14T00:07:09+00:00
docs: Make the description of context types more generic

The protocol should be separate from any specific implementation's own
terms.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344>

- - - - -
70c3348d by Axel Karjalainen at 2025-08-14T00:07:09+00:00
docs: Extend summaries

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344>

- - - - -
525d55a5 by Axel Karjalainen at 2025-08-14T00:07:09+00:00
docs: Fix issues and make some language clearer

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344>

- - - - -
1010cdff by Jonas Ådahl at 2025-08-21T17:03:27+02:00
eis: Send sync done event on last event unref

This allows the application to hold the sync event for a while longer,
e.g. to ensure previous events from EIS have passed through relevant
plumbing and reached their internally intended targets, which might
happen synchronously between each processed EIS event.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>

- - - - -
8d86ada1 by Jonas Ådahl at 2025-08-21T17:08:53+02:00
ei: Send sync done event on last event unref

This allows the application to hold the sync event for a while longer,
e.g. to ensure previous events from ei have passed through relevant
plumbing and reached their internally intended targets, which might
happen synchronously between each processed ei event.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>

- - - - -
42b9a893 by Jonas Ådahl at 2025-08-21T17:08:53+02:00
eis: Expose eis_event_ref()

This makes handling prolonged synchronization sequences easier, as one
doesn't have to work around only being allowed to hold one reference.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>

- - - - -
5e57b1ed by Jonas Ådahl at 2025-08-21T17:08:53+02:00
ei: Expose ei_event_ref()

As with eis, expose ei_event_ref() as well, for consistency.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>

- - - - -
7667d1fc by Peter Hutterer at 2025-08-25T12:45:11+10:00
test: make some behavior enabling more expressive

Remove the non-obvious +1/-1 and use the enum values instead. Then group
the two together better and remove an unnecessary separate handling of
the flag setting.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>

- - - - -
6c50e2f8 by Peter Hutterer at 2025-08-25T13:40:49+10:00
test: add support for disabling behaviors on the ei/eis context

Historically the preference for testing was to enable a bunch of
specific behaviors and then leave that as-is for the test. This can be
painful for some events, in particular sync/ping that are used
internally by libei's implementation.

Testing those events requires us to match the implementation-defined
internal setup which is a pain. Much easier to add a function
to allow disabling a specific behavior at some point during the test

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>

- - - - -
cae398c1 by Peter Hutterer at 2025-08-25T13:36:18+02:00
test: add a test for delaying the ping/sync

For both the tests send two pings, with a keyboard event in between.
Where the ping is processed, fetch all the events first up front, and
process them one by one in the right order.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>

- - - - -
19b64535 by Peter Hutterer at 2025-08-26T11:25:18+10:00
libei 1.5.0

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
36e3c605 by Jeremy Bícha at 2025-09-04T18:03:36-04:00
New upstream version 1.5.0
- - - - -
74a0c065 by Jeremy Bícha at 2025-09-04T18:03:38-04:00
Update upstream source from tag 'upstream/1.5.0'

Update to upstream version '1.5.0'
with Debian dir 519fce93f105f78cb99de75e881a666af18a5171
- - - - -
f30106d0 by Jeremy Bícha at 2025-09-04T18:04:07-04:00
New upstream release

- - - - -
d1ebb1f7 by Jeremy Bícha at 2025-09-04T18:04:32-04:00
Bump Standards Version to 4.7.2

- - - - -
680a490a by Jeremy Bícha at 2025-09-04T18:04:45-04:00
Remove obsolete Rules-Requires-Root: no

default since trixie

- - - - -
b50c77e1 by Jeremy Bícha at 2025-09-04T18:06:23-04:00
debian/libeis1.symbols: Add new symbols

- - - - -
ae124be8 by Jeremy Bícha at 2025-09-04T18:16:44-04:00
debian/tests/control: update pkg-config binary package name

- - - - -
32aefc74 by Jeremy Bícha at 2025-09-04T18:16:59-04:00
releasing package libei version 1.5.0-1

- - - - -


94 changed files:

- .gitlab-ci.yml
- .gitlab-ci/ci.template
- .gitlab-ci/config.yml
- .pre-commit-config.yaml
- README.md
- debian/changelog
- debian/control
- debian/libeis1.symbols
- debian/tests/control
- meson.build
- meson_options.txt
- proto/ei-scanner
- proto/meson.build
- proto/protocol.xml
- + ruff.toml
- src/brei-shared.h
- src/libei-button.c
- src/libei-button.h
- src/libei-callback.c
- src/libei-callback.h
- src/libei-connection.c
- src/libei-connection.h
- src/libei-device.c
- src/libei-event.c
- src/libei-event.h
- src/libei-handshake.c
- src/libei-keyboard.c
- src/libei-keyboard.h
- + src/libei-ping.c
- src/libei-pointer-absolute.c
- src/libei-pointer-absolute.h
- src/libei-pointer.c
- src/libei-pointer.h
- src/libei-private.h
- src/libei-scroll.c
- src/libei-scroll.h
- src/libei-seat.c
- src/libei-touchscreen.c
- src/libei-touchscreen.h
- src/libei.c
- src/libei.h
- src/libeis-button.c
- src/libeis-button.h
- src/libeis-callback.c
- src/libeis-callback.h
- src/libeis-client.c
- src/libeis-client.h
- src/libeis-connection.c
- src/libeis-connection.h
- src/libeis-device.c
- src/libeis-event.c
- src/libeis-event.h
- src/libeis-handshake.c
- src/libeis-keyboard.c
- src/libeis-keyboard.h
- + src/libeis-ping.c
- src/libeis-pointer-absolute.c
- src/libeis-pointer-absolute.h
- src/libeis-pointer.c
- src/libeis-pointer.h
- src/libeis-private.h
- src/libeis-scroll.c
- src/libeis-scroll.h
- src/libeis-seat.c
- src/libeis-socket.c
- src/libeis-touchscreen.c
- src/libeis-touchscreen.h
- src/libeis.c
- src/libeis.h
- src/liboeffis.c
- src/meson.build
- src/util-io.c
- src/util-io.h
- src/util-macros.h
- src/util-mem.h
- src/util-sources.c
- src/util-strings.c
- src/util-strings.h
- test/buildtest.cc
- test/eierpecken.c
- test/eierpecken.h
- test/eiproto.py.tmpl
- test/meson.build
- test/test-ei-device.c
- test/test-ei-seat.c
- test/test-ei.c
- test/test-eis.c
- test/test_oeffis.py
- test/test_protocol.py
- test/test_scanner.py
- tools/ei-debug-events.c
- tools/ei-demo-client.c
- tools/eis-demo-server.c
- tools/meson.build


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/libei/-/compare/bf799e300131cd98e497c7ceb1956540e1a5a95c...32aefc74e86ff861d48ec1b74f765eb474b48eb7

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/libei/-/compare/bf799e300131cd98e497c7ceb1956540e1a5a95c...32aefc74e86ff861d48ec1b74f765eb474b48eb7
You're receiving this email because of your account on salsa.debian.org.


Reply via email to