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 > <charlesmel...@riseup.net> 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, CharlesTitle: 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