Hi, sorry for taking so long. On Wed, Mar 13, 2024 at 05:42:29PM +0100, Dylan Aïssi wrote: > Hi, > > Le mer. 13 mars 2024 à 16:05, Carlos Henrique Lima Melara > <[email protected]> a écrit : > > > > > I can try this week to prepare an updated package in a dedicated branch > > > in salsa, so you can test it. Then, if everything is okay, we could fill > > > the request to the release team. > > > > Sure, just let me know if you need help with anything and/or when the > > packaging is ready for testing. > > Ready for testing at: > https://salsa.debian.org/xorg-team/wayland/weston/-/tree/debian-10.0 > I just realized the branch name is confusing...
So, I have good and bad news, but I guess they are mostly good.
THe bad news first, when I was checking the upstream commits, I saw some
changes in libweston.h which raised some flags about ABI incompatibilty
because they introduced some members in a publicly exposed struct. So I
set my feet on testing abi changes with abi-dumper +
abi-compliance-checker (it was my first time, that's why it took so
long).
The actually bad new is 08979a1 (from 10.0.4) [1] makes some problematic
changes in libweston.h:
--- a/include/libweston/libweston.h
+++ b/include/libweston/libweston.h
@@ -1289,6 +1289,7 @@ struct weston_view {
struct weston_surface *surface;
struct wl_list surface_link;
struct wl_signal destroy_signal;
+ struct wl_signal unmap_signal;
/* struct weston_paint_node::view_link */
struct wl_list paint_node_list;
@@ -1441,6 +1442,7 @@ struct weston_pointer_constraint {
bool hint_is_pending;
struct wl_listener pointer_destroy_listener;
+ struct wl_listener view_unmap_listener;
struct wl_listener surface_commit_listener;
struct wl_listener surface_activate_listener;
};
This introduces an ABI incompatibility in libweston as caught by
abi-compliance-checker (report attached):
Comparing ABIs ...¬
Comparing APIs ...¬
Creating compatibility report ...¬
Binary compatibility: 77.8%¬
Source compatibility: 100%¬
Total binary compatibility problems: 1, warnings: 1¬
Total source compatibility problems: 0, warnings: 1¬
Report: compat_reports/libweston-10.so.dump/0_to_1/compat_report.html¬
I think this would get a solid NO from the release team (although I'm
not sure). Since the whole 10.0.4 release (the 4 commits) are related to
each other, I think we won't be able to pick it.
That said, I started testing with the 10.0.3 release (because if we
can't get the latest, let's try to get something at least). And the
results are good, we have 100% abi and api compatibility for all DSOs,
even internal ones.
Also, building the 10.0.3 (always with libseat launcher support
enabled), the build time tests give the same results (with 10.0.5 I was
getting slightly different results).
I also tested the libseat launcher and normal launcher and they both
work.
Finally, since the 10.0.5 patch release is only 1 commit, we can grab it
as a patch in the packaging side, so we would just miss the 10.0.4 patch
release.
Well, it was a long email, but the main takeway is 10.0.4 introduces an
ABI incompatibility and would be unsuitable for a proposed-update to
bookworm. But we can use the 10.0.3 release plus the only commit in
10.0.5 with libseat launcher support with 100% abi and api
compatibility.
What do you think?
> Best,
> Dylan
Cheers,
Charles
Title: libweston-10.so.dump: 0 to 1 compatibility report
API compatibility report for the libweston-10.so object between 0 and 1 versions on x86_64
Test Info
| Module Name | libweston-10.so.dump |
|---|---|
| Version #1 | 0 |
| Version #2 | 1 |
| Arch | x86_64 |
| GCC Version | 12.2.0 |
| Subject | Binary Compatibility |
Test Results
| Total Header Files | 26 |
|---|---|
| Total Source Files | 27 |
| Total Objects | 1 |
| Total Symbols / Types | 352 / 259 |
| Compatibility | 77.8% |
Problem Summary
| Severity | Count | |
|---|---|---|
| Added Symbols | - | 0 |
| Removed Symbols | High | 0 |
| Problems with Data Types | High | 0 |
| Medium | 1 | |
| Low | 1 | |
| Problems with Symbols | High | 0 |
| Medium | 0 | |
| Low | 0 | |
| Problems with Constants | Low | 0 |
Problems with Data Types, Medium Severity 1
libweston.h
[+] struct weston_view 1
to the top
Problems with Data Types, Low Severity 1
libweston.h
[+] struct weston_view 1
to the top
Header Files 26
backend.h
clockid_t.h
color.h
FILE.h
libweston-internal.h
libweston.h
linux-dmabuf.h
matrix.h
pixel-formats.h
pixman-renderer.h
pixman.h
stddef.h
stdint-intn.h
stdint-uintn.h
struct_FILE.h
struct_timespec.h
timeline.h
types.h
wayland-server-core.h
wayland-server-protocol.h
wayland-server.h
wayland-util.h
weston-log-internal.h
weston-log.h
xkbcommon.h
to the top
Source Files 27
animation.c
bindings.c
color.c
compositor.c
config-parser.c
content-protection.c
data-device.c
drm-formats.c
input.c
linux-dmabuf.c
linux-explicit-synchronization.c
linux-sync-file.c
log.c
matrix.c
noop-renderer.c
os-compatibility.c
pixel-formats.c
pixman-renderer.c
plugin-registry.c
screenshooter.c
timeline.c
touch-calibration.c
weston-direct-display.c
weston-log-file.c
weston-log-flight-rec.c
weston-log.c
zoom.c
bindings.c
color.c
compositor.c
config-parser.c
content-protection.c
data-device.c
drm-formats.c
input.c
linux-dmabuf.c
linux-explicit-synchronization.c
linux-sync-file.c
log.c
matrix.c
noop-renderer.c
os-compatibility.c
pixel-formats.c
pixman-renderer.c
plugin-registry.c
screenshooter.c
timeline.c
touch-calibration.c
weston-direct-display.c
weston-log-file.c
weston-log-flight-rec.c
weston-log.c
zoom.c
to the top
Objects 1
libweston-10.so.0.0.1
to the top
Test Info
| Module Name | libweston-10.so.dump |
|---|---|
| Version #1 | 0 |
| Version #2 | 1 |
| Arch | x86_64 |
| Subject | Source Compatibility |
Test Results
| Total Header Files | 26 |
|---|---|
| Total Source Files | 27 |
| Total Objects | 1 |
| Total Symbols / Types | 352 / 259 |
| Compatibility | 100% |
Problem Summary
| Severity | Count | |
|---|---|---|
| Added Symbols | - | 0 |
| Removed Symbols | High | 0 |
| Problems with Data Types | High | 0 |
| Medium | 0 | |
| Low | 1 | |
| Problems with Symbols | High | 0 |
| Medium | 0 | |
| Low | 0 | |
| Problems with Constants | Low | 0 |
Problems with Data Types, Low Severity 1
libweston.h
[+] struct weston_view 1
to the top
Header Files 26
backend.h
clockid_t.h
color.h
FILE.h
libweston-internal.h
libweston.h
linux-dmabuf.h
matrix.h
pixel-formats.h
pixman-renderer.h
pixman.h
stddef.h
stdint-intn.h
stdint-uintn.h
struct_FILE.h
struct_timespec.h
timeline.h
types.h
wayland-server-core.h
wayland-server-protocol.h
wayland-server.h
wayland-util.h
weston-log-internal.h
weston-log.h
xkbcommon.h
to the top
Source Files 27
animation.c
bindings.c
color.c
compositor.c
config-parser.c
content-protection.c
data-device.c
drm-formats.c
input.c
linux-dmabuf.c
linux-explicit-synchronization.c
linux-sync-file.c
log.c
matrix.c
noop-renderer.c
os-compatibility.c
pixel-formats.c
pixman-renderer.c
plugin-registry.c
screenshooter.c
timeline.c
touch-calibration.c
weston-direct-display.c
weston-log-file.c
weston-log-flight-rec.c
weston-log.c
zoom.c
bindings.c
color.c
compositor.c
config-parser.c
content-protection.c
data-device.c
drm-formats.c
input.c
linux-dmabuf.c
linux-explicit-synchronization.c
linux-sync-file.c
log.c
matrix.c
noop-renderer.c
os-compatibility.c
pixel-formats.c
pixman-renderer.c
plugin-registry.c
screenshooter.c
timeline.c
touch-calibration.c
weston-direct-display.c
weston-log-file.c
weston-log-flight-rec.c
weston-log.c
zoom.c
to the top
Objects 1
libweston-10.so.0.0.1
to the top
signature.asc
Description: PGP signature

