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

    From Carlos Henrique Lima Melara@21:1/5 to All on Tue Mar 12 20:50:02 2024
    XPost: linux.debian.maint.x

    This is a multi-part MIME message sent by reportbug.


    Source: weston
    Version: 10.0.1-1
    Severity: wishlist
    Tags: patch
    X-Debbugs-Cc: carlos.melara@toradex.com

    Dear Maintainers, hi.

    First of all, thanks for maintaining weston in Debian.

    Weston 10 is using the default build options set by upstream plus
    screenshare and systemd features enabled via a debian/rules override of dh_auto_configure. This basically covers the major cases for PCs and
    servers, but for embedded systems and people not wanting to use systemd
    (and logind), this is a problem.

    Weston has support for using libseat for seat management/launching
    weston via the launcher-libseat option (it's turned off by default in meson_options.txt), but weston 11 libseat launcher became the default [1]
    and recently (weston 12) the libseat launcher has become the one and
    only official launcher supported by upstream weston [2].

    Taking this into consideration and the outcome of Init systems and
    systemd GR [3], I'd like to check with you the possibility of enabling the support for libseat launcher in stable via a proposed-updates upload to bookworm.

    I did rebuild bookworm's version with the option enabled and tested it a
    bit in my notebook. I've also used abi-compliance-checker to check if
    this could have caused any ABI change in libweston and it didn't. I'll
    provide the debdiff output for you to check.

    Also, should you answer positively, I can do a more exhaustive testing
    and check if we don't introduce any errors when running with elogind and systemd-logind.

    Cheers,
    Charles

    [1] https://www.collabora.com/news-and-blog/news-and-events/weston-11-whats-new-whats-next.html
    [2] https://www.collabora.com/news-and-blog/news-and-events/weston-12-highlights-and-changes.html
    [3] https://www.debian.org/vote/2019/vote_002

    P.S. I don't think this system info is going to help since I've built in bookworm chroot.

    -- System Information:
    Debian Release: trixie/sid
    APT prefers testing
    APT policy: (900, 'testing'), (500, 'unstable')
    Architecture: amd64 (x86_64)

    Kernel: Linux 6.6.15-amd64 (SMP w/8 CPU threads; PREEMPT)
    Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
    Shell: /bin/sh linked to /usr/bin/dash
    Init: systemd (via /run/systemd/system)
    LSM: AppArmor: enabled

    diff -u weston-10.0.1/debian/changelog weston-10.0.1/debian/changelog
    --- weston-10.0.1/debian/changelog
    +++ weston-10.0.1/debian/changelog
    @@ -1,3 +1,11 @@
    +weston (10.0.1-1+deb12u1) bookworm; urgency=medium
    +
    + * Team upload.
    + * debian/control: add libseat-dev to Build-Depends.
    + * debian/rules: enable libseat support. (Closes: #<bug_number>)
    +
    + -- Carlos Henrique Lima Melara <carlos.melara@toradex.com> Tue, 12 Mar 2024 12:54:10 -0300
    +
    weston (10.0.1-1) unstable; urgency=medium

    * New upstream release.
    diff -u weston-10.0.1/debian/control weston-10.0.1/debian/control
    --- weston-10.0.1/debian/control
    +++ weston-10.0.1/debian/control
    @@ -26,6 +26,7 @@
    libpixman-1-dev (>= 0.25.2),
    libpipewire-0.3-dev,
    libpng-dev,
    + libseat-dev,
    libsystemd-dev,
    libudev-dev (>= 136),
    libva-dev,
    diff -u weston-10.0.1/debian/rules weston-10.0.1/debian/rules
    --- weston-10.0.1/debian/rules
    +++ weston-10.0.1/debian/rules
    @@ -2,7 +2,8 @@

    override_dh_aut
  • From Carlos Henrique Lima Melara@21:1/5 to All on Wed Mar 13 16:10:32 2024
    XPost: linux.debian.maint.x

    Hi,

    On Tue, Mar 12, 2024 at 10:10:06PM +0100, Dylan Aïssi wrote:
    Hello,

    Le mar. 12 mars 2024 à 20:45, Carlos Henrique Lima Melara <charlesmelara@riseup.net> a écrit :

    Taking this into consideration and the outcome of Init systems and
    systemd GR [3], I'd like to check with you the possibility of enabling the support for libseat launcher in stable via a proposed-updates upload to bookworm.

    I'm not against that, but we will have to convince the release team that
    it won't introduce new bugs. That means we have to fill a bug report
    against the pseudo-package "release.debian.org".

    Yeah... Though I thought it was better to first reach the maintainers
    with the proposal before spending a long time testing stuff to see if
    this option would break something.

    And also weston has built-in tests which should help to convince them.

    If we are going to touch the package in Bookworm, I would like to try
    pushing the last bugfix release of the serie 10.0. It was a private
    request from upstream but I didn't realized that there were very few
    changes in the bugfix releases, it's worth a try. What do you think?

    I'm all in on this, I think it's going to make a more compeling case for
    the release team (although I only did CVE fixes to stable, not patch
    releases). It's very few commits, so I think it shouldn't be
    problematic.

    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.

    I did rebuild bookworm's version with the option enabled and tested it a bit in my notebook. I've also used abi-compliance-checker to check if
    this could have caused any ABI change in libweston and it didn't. I'll provide the debdiff output for you to check.

    Also, should you answer positively, I can do a more exhaustive testing
    and check if we don't introduce any errors when running with elogind and systemd-logind.

    This will be very useful to convince the release team.

    Hopefully.

    Best regards,
    Dylan

    Cheers and thanks!
    Charles

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEECgzx8d8+AINglLHJt4M9ggJ8mQsFAmXxwKcACgkQt4M9ggJ8 mQvdzA/+I5kn8UoIABgenVr55yR975oWm0SmfYsOEFlkn3I6ChKC06e0cjrioq8D RMq+FQ3kHEm7HIqWORKtYyIeoYewcZmBT/W4CY6e2KZHN/IrhLDw0tK6HRTS7Sim TuqPbZo/4PNYhPla3T+pKHbyvFWP+3cy7rWj8y0ygF7arYjM60ijXbKs+/bk+Ht+ TRMjDr0Br63j5PKlX76PO/7cbLPD0lRdotVEyFBZVEyPIC76E9v+hD/AErgrfRAB 4RHcdZNpKRY66qxRYYfrzHympXKT9nC0tC2AE2JA3Ks/tFFIj6Y7Y4feeIfg5mhc 3Ebl58m3xl9K2Npsx3HRYF4Do05Tk1U1DagXmUxqZitGlZDjd7wq9QTP1i4ZZhTU AN+BzJDA+hbQrIHwSZ9KiamJ1b9EYLLfGvlHTS3If5EWbEaYFi3ycPpqOzOf1eWx 8va0Pm1cte4zldA0rhUA82DCoxeV6GILa5uedziEy+QAV3jtSW8FucFYj+92s6/l zjn2y+uK1lWJMs0fvtVV4hOjlTPzKW/rAHKJw1cpKNpC95EgRs9LdfD/w7nlWCGf KR25STHxFYRdzqnTpqa7WhaJ5cioiRALqQ5kpChLhaE1X7+evYZtx8Wc4Gsi51Xs NJIH/LJ55YVC0ATD7xfBzlx4tQWYLpiJf/XP5hnC0Wy8hXA2HuU=
    =tHPP
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Carlos Henrique Lima Melara@21:1/5 to All on Wed Mar 13 18:00:02 2024
    XPost: linux.debian.maint.x

    Hi,

    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:

    That was fast :-)

    https://salsa.debian.org/xorg-team/wayland/weston/-/tree/debian-10.0
    I just realized the branch name is confusing...

    Might be a bit confusing with Debian buster (a.k.a. Debian 10), yes
    hahahhaah.

    I can start testing today, but I think we should wait until the weekend
    to be sure enough for filling the bug against the release team. Would
    that be okay?

    Best,
    Dylan

    Cheers,
    Charles

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEECgzx8d8+AINglLHJt4M9ggJ8mQsFAmXx2JsACgkQt4M9ggJ8 mQtxgA//YD9RoyAToN3t10sLCptqfq96pbTVhV9ewz71jHbVGtKt/EgnC0/wU2MD KnqVhKdvO7iah0Kzha4G4vwtbwv2tfCNSJW5IZ0YolFPmIuKFdTp/gVr0ABlVbIm C4DQd1VWYnyXvNAzg/0jciabhuDRmfDdRh53+tpkQPRpA/6fV/C48GQ2uWP7JPQs qsl90GCb1nVl3vwTdtRBzFOfdNyjwUK0Yq7cSJnUPOMyFw6hKtP296XxZJXgASSZ K/WtwKDlGchCtOK37vPxtRJernF/VMvHWcoiTaZFRFTEs1ZohJGlcCE2wpyKTLYc RfNr8dZopRV2e8BNaAGpNTX7G0cRvrkeFjOyFGtdPlJ6+Aqqx7DIFw4Ns1k8kG9X ce7XLHbuOEf6+eNpmankAyeZky3OAWHXqTOcCPUxtGAJc+l7WjT6gAkigfg83OL6 5uh2XymsRqsZ8Z+V3XEwi5U+p6Nkic5oxWc99QANBoqhzUPwhGhAJ0L8mZE3YC8l ZUo4HCipwVR1SqC4ZTyT6UhTIXRYgIodWLoehlk+LboBN0sD725XcgslC/zJT1Lj HDAzchB9SBvhf0+ItKPiXbSloMvmsQSmMA4FIocBzjfA0QmJbFcB3PDw/5CrzYNq Nb+MbiiNtlwUxXAY85uAb4T6Zql3C0XcABob2cZcdq1Vori2qYs=
    =P5Cp
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Carlos Henrique Lima Melara@21:1/5 to Carlos Henrique Lima Melara on Sat Apr 6 09:52:25 2024
    XPost: linux.debian.maint.x

    Hi, Dylan.

    Sorry to bother again, but I'd like to know the status of this upload.

    On Sat, Mar 16, 2024 at 04:42:20PM -0300, Carlos Henrique Lima Melara wrote:
    On Wed, Mar 13, 2024 at 05:42:29PM +0100, Dylan Aïssi wrote:
    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.

    Would you be okay of using 10.0.3 instead of 10.0.5?

    Also, if you need any help, please let me know.

    Maybe a disclaimer I should have sent in the first email, I do work at
    Toradex which is an embedded systems company and we are rebuilding
    weston with libseat-launcher support for a while. I'm also a Debian
    contributor and maintainer (DM) and I suggested to our management to try
    to send this change to Debian as a contribution. They were very
    supportive about contributing back to Debian, so here we are :-)

    Cheers,
    Charles





    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEECgzx8d8+AINglLHJt4M9ggJ8mQsFAmYOs4EACgkQt4M9ggJ8 mQsi3BAApt5qd/Q6tJbyutz23pkZKUu16uBSK1/Tz6rHY0bAyOSvAf3ID74MMCFI pe34c8GEPrcBVPSnNGGKI8N/ssJoHGxjRnfZeziVYM4dT1E424HiOMZBIwARJrNV sEevPXgQ2Z+gM7bRwF7wc2tTfJr0Q1k0Q4v6WzyPPg5gWmYPLBbPhYM0skouuykw esHcer5vE/T1veJqVehEwOH9XsW7feQY5jUQDYrRc0/F3yk2k8zQVt/nZfw4aPwj biFArcCed2zDimy2LhkXjWnRR+xZAZs613YVEfQsIMnicvy5CaO59zzvhHdwk3CX bbLm01rhrprGxlNAQMTQw61UkrcbU5UWKFS+h9a5GVgfSEduc4H5BNvr8RW1QLZA jJX+1aRbPhAU2aGGenfK9PsFe9qgll9T2w7qGOvEnCMpmw6KubrK0cRx1sgypKOR 5yX9ZPxviY5Hr9kAvyIEq5aRBIjnJKxmuCZaya/ziXEW6fbYz8FXnq1V09OPcE3n dD/UwuspO0ECFAk8psOqXg38XiRqfQY+wVRGKvGkFoz24oIxNz2/gWZO8ZNomCkL XnSpveXsGWqKy9VhD/WH/AEetkHobIKoS4wlnxyowWYwAzpHgLVyPL30N9/jBKuN dmNHKMlemsmR9G5WqLBaGNE1Erw8pRCNE2nwK90M4qDan1oXJYo=
    =NggM
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)