[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1066112: weston: Enable support to libseat launcher in weston 10



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
> <charlesmelara@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,
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


Binary
Compatibility
Source
Compatibility

Test Info


Module Namelibweston-10.so.dump
Version #10
Version #21
Archx86_64
GCC Version12.2.0
SubjectBinary Compatibility

Test Results


Total Header Files26
Total Source Files27
Total Objects1
Total Symbols / Types352 / 259
Compatibility 77.8%

Problem Summary


SeverityCount
Added Symbols-0
Removed SymbolsHigh0
Problems with
Data Types
High0
Medium1
Low1
Problems with
Symbols
High0
Medium0
Low0
Problems with
Constants
Low0

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

to the top

Objects  1 


libweston-10.so.0.0.1

to the top



Test Info


Module Namelibweston-10.so.dump
Version #10
Version #21
Archx86_64
SubjectSource Compatibility

Test Results


Total Header Files26
Total Source Files27
Total Objects1
Total Symbols / Types352 / 259
Compatibility 100%

Problem Summary


SeverityCount
Added Symbols-0
Removed SymbolsHigh0
Problems with
Data Types
High0
Medium0
Low1
Problems with
Symbols
High0
Medium0
Low0
Problems with
Constants
Low0

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

to the top

Objects  1 


libweston-10.so.0.0.1

to the top





Attachment: signature.asc
Description: PGP signature


Reply to: