Your message dated Fri, 17 May 2019 09:11:05 +0200
with message-id <20190517071105.ga4...@bogon.m.sigxcpu.org>
and subject line Re: Bug#921884: wlroots: ABI break between 0.2 and 0.3
has caused the Debian Bug report #921884,
regarding wlroots: ABI break between 0.2 and 0.3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
921884: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=921884
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: wlroots
Version: 0.3-1
Severity: serious

0.3 changed many symbols.
A full diff is below.  As you can see manny symbols were added (alright,
that means you should have bumped shlibs, which you didn't), but also
several were renamed, which means a real full ABI break happened, but
the SONAME wasn't changed.

I'm afraid this also means upstream is not good at proper ABI hygiene,
so you should be extra careful, starting by adding a .symbols file
(which is very easy since this is a C library!).


At the very least, this caused headaches while packaging sway, see
#821397.

--- 0.2/foo.symbols     2019-02-09 21:54:17.009104873 +0100
+++ 0.3/foo.symbols     2019-02-09 21:54:24.560855387 +0100
@@ -12,6 +12,7 @@
  wlr_backend_is_headless@Base 0
  wlr_backend_is_libinput@Base 0
  wlr_backend_is_multi@Base 0
+ wlr_backend_is_noop@Base 0
  wlr_backend_is_wl@Base 0
  wlr_backend_start@Base 0
  wlr_box_closest_point@Base 0
@@ -44,14 +45,16 @@
  wlr_cursor_warp@Base 0
  wlr_cursor_warp_absolute@Base 0
  wlr_cursor_warp_closest@Base 0
+ wlr_data_control_device_v1_destroy@Base 0
+ wlr_data_control_manager_v1_create@Base 0
+ wlr_data_control_manager_v1_destroy@Base 0
  wlr_data_device_manager_create@Base 0
  wlr_data_device_manager_destroy@Base 0
  wlr_data_source_accept@Base 0
- wlr_data_source_cancel@Base 0
+ wlr_data_source_destroy@Base 0
  wlr_data_source_dnd_action@Base 0
  wlr_data_source_dnd_drop@Base 0
  wlr_data_source_dnd_finish@Base 0
- wlr_data_source_finish@Base 0
  wlr_data_source_init@Base 0
  wlr_data_source_send@Base 0
  wlr_dmabuf_attributes_finish@Base 0
@@ -76,6 +79,19 @@
  wlr_egl_swap_buffers@Base 0
  wlr_export_dmabuf_manager_v1_create@Base 0
  wlr_export_dmabuf_manager_v1_destroy@Base 0
+ wlr_foreign_toplevel_handle_v1_create@Base 0
+ wlr_foreign_toplevel_handle_v1_destroy@Base 0
+ wlr_foreign_toplevel_handle_v1_output_enter@Base 0
+ wlr_foreign_toplevel_handle_v1_output_leave@Base 0
+ wlr_foreign_toplevel_handle_v1_set_activated@Base 0
+ wlr_foreign_toplevel_handle_v1_set_app_id@Base 0
+ wlr_foreign_toplevel_handle_v1_set_maximized@Base 0
+ wlr_foreign_toplevel_handle_v1_set_minimized@Base 0
+ wlr_foreign_toplevel_handle_v1_set_title@Base 0
+ wlr_foreign_toplevel_manager_v1_create@Base 0
+ wlr_foreign_toplevel_manager_v1_destroy@Base 0
+ wlr_fullscreen_shell_v1_create@Base 0
+ wlr_fullscreen_shell_v1_destroy@Base 0
  wlr_gamma_control_manager_create@Base 0
  wlr_gamma_control_manager_destroy@Base 0
  wlr_gamma_control_manager_v1_create@Base 0
@@ -86,8 +102,6 @@
  wlr_gles2_texture_from_wl_drm@Base 0
  wlr_gtk_primary_selection_device_manager_create@Base 0
  wlr_gtk_primary_selection_device_manager_destroy@Base 0
- wlr_gtk_primary_selection_source_finish@Base 0
- wlr_gtk_primary_selection_source_init@Base 0
  wlr_headless_add_input_device@Base 0
  wlr_headless_add_output@Base 0
  wlr_headless_backend_create@Base 0
@@ -160,6 +174,8 @@
  wlr_multi_backend_remove@Base 0
  wlr_multi_for_each_backend@Base 0
  wlr_multi_is_empty@Base 0
+ wlr_noop_add_output@Base 0
+ wlr_noop_backend_create@Base 0
  wlr_output_create_global@Base 0
  wlr_output_cursor_create@Base 0
  wlr_output_cursor_destroy@Base 0
@@ -184,6 +200,7 @@
  wlr_output_init@Base 0
  wlr_output_is_drm@Base 0
  wlr_output_is_headless@Base 0
+ wlr_output_is_noop@Base 0
  wlr_output_is_wl@Base 0
  wlr_output_layout_add@Base 0
  wlr_output_layout_add_auto@Base 0
@@ -229,6 +246,14 @@
  wlr_pointer_constraints_v1_create@Base 0
  wlr_pointer_constraints_v1_destroy@Base 0
  wlr_pointer_destroy@Base 0
+ wlr_pointer_gestures_v1_create@Base 0
+ wlr_pointer_gestures_v1_destroy@Base 0
+ wlr_pointer_gestures_v1_send_pinch_begin@Base 0
+ wlr_pointer_gestures_v1_send_pinch_end@Base 0
+ wlr_pointer_gestures_v1_send_pinch_update@Base 0
+ wlr_pointer_gestures_v1_send_swipe_begin@Base 0
+ wlr_pointer_gestures_v1_send_swipe_end@Base 0
+ wlr_pointer_gestures_v1_send_swipe_update@Base 0
  wlr_pointer_init@Base 0
  wlr_positioner_invert_x@Base 0
  wlr_positioner_invert_y@Base 0
@@ -237,6 +262,9 @@
  wlr_presentation_create@Base 0
  wlr_presentation_destroy@Base 0
  wlr_presentation_send_surface_presented@Base 0
+ wlr_primary_selection_source_destroy@Base 0
+ wlr_primary_selection_source_init@Base 0
+ wlr_primary_selection_source_send@Base 0
  wlr_region_confine@Base 0
  wlr_region_create@Base 0
  wlr_region_expand@Base 0
@@ -244,6 +272,10 @@
  wlr_region_rotated_bounds@Base 0
  wlr_region_scale@Base 0
  wlr_region_transform@Base 0
+ wlr_relative_pointer_manager_v1_create@Base 0
+ wlr_relative_pointer_manager_v1_destroy@Base 0
+ wlr_relative_pointer_manager_v1_send_relative_motion@Base 0
+ wlr_relative_pointer_v1_from_resource@Base 0
  wlr_render_ellipse@Base 0
  wlr_render_ellipse_with_matrix@Base 0
  wlr_render_quad_with_matrix@Base 0
@@ -273,8 +305,6 @@
  wlr_seat_client_for_wl_client@Base 0
  wlr_seat_client_from_pointer_resource@Base 0
  wlr_seat_client_from_resource@Base 0
- wlr_seat_client_send_gtk_primary_selection@Base 0
- wlr_seat_client_send_selection@Base 0
  wlr_seat_create@Base 0
  wlr_seat_destroy@Base 0
  wlr_seat_get_keyboard@Base 0
@@ -295,16 +325,20 @@
  wlr_seat_pointer_notify_axis@Base 0
  wlr_seat_pointer_notify_button@Base 0
  wlr_seat_pointer_notify_enter@Base 0
+ wlr_seat_pointer_notify_frame@Base 0
  wlr_seat_pointer_notify_motion@Base 0
  wlr_seat_pointer_send_axis@Base 0
  wlr_seat_pointer_send_button@Base 0
+ wlr_seat_pointer_send_frame@Base 0
  wlr_seat_pointer_send_motion@Base 0
  wlr_seat_pointer_start_grab@Base 0
  wlr_seat_pointer_surface_has_focus@Base 0
+ wlr_seat_request_set_primary_selection@Base 0
+ wlr_seat_request_set_selection@Base 0
  wlr_seat_set_capabilities@Base 0
- wlr_seat_set_gtk_primary_selection@Base 0
  wlr_seat_set_keyboard@Base 0
  wlr_seat_set_name@Base 0
+ wlr_seat_set_primary_selection@Base 0
  wlr_seat_set_selection@Base 0
  wlr_seat_touch_end_grab@Base 0
  wlr_seat_touch_get_point@Base 0
@@ -371,6 +405,8 @@
  wlr_surface_send_leave@Base 0
  wlr_surface_set_role@Base 0
  wlr_surface_surface_at@Base 0
+ wlr_switch_destroy@Base 0
+ wlr_switch_init@Base 0
  wlr_tablet_create@Base 0
  wlr_tablet_destroy@Base 0
  wlr_tablet_init@Base 0
@@ -426,6 +462,7 @@
  wlr_virtual_keyboard_manager_v1_destroy@Base 0
  wlr_wl_backend_create@Base 0
  wlr_wl_output_create@Base 0
+ wlr_wl_output_set_title@Base 0
  wlr_wl_shell_create@Base 0
  wlr_wl_shell_destroy@Base 0
  wlr_wl_shell_surface_configure@Base 0
@@ -447,6 +484,7 @@
  wlr_xdg_decoration_manager_v1_destroy@Base 0
  wlr_xdg_output_manager_v1_create@Base 0
  wlr_xdg_output_manager_v1_destroy@Base 0
+ wlr_xdg_popup_destroy@Base 0
  wlr_xdg_popup_get_anchor_point@Base 0
  wlr_xdg_popup_get_toplevel_coords@Base 0
  wlr_xdg_popup_unconstrain_from_box@Base 0
@@ -468,7 +506,6 @@
  wlr_xdg_surface_get_geometry@Base 0
  wlr_xdg_surface_ping@Base 0
  wlr_xdg_surface_schedule_configure@Base 0
- wlr_xdg_surface_send_close@Base 0
  wlr_xdg_surface_surface_at@Base 0
  wlr_xdg_surface_v6_for_each_popup@Base 0
  wlr_xdg_surface_v6_for_each_surface@Base 0
@@ -478,6 +515,7 @@
  wlr_xdg_surface_v6_send_close@Base 0
  wlr_xdg_surface_v6_surface_at@Base 0
  wlr_xdg_toplevel_decoration_v1_set_mode@Base 0
+ wlr_xdg_toplevel_send_close@Base 0
  wlr_xdg_toplevel_set_activated@Base 0
  wlr_xdg_toplevel_set_fullscreen@Base 0
  wlr_xdg_toplevel_set_maximized@Base 0


-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Version: wlroots/0.5.0-1

Hi,
On Mon, Feb 11, 2019 at 11:47:33AM +0100, Guido Günther wrote:
> Hi,
> On Sat, Feb 09, 2019 at 11:02:01PM +0100, Mattia Rizzolo wrote:
> > On Sat, Feb 09, 2019 at 10:35:22PM +0100, Guido Günther wrote:
> > > This is well known to the users of wlroots and the reason why we did not
> > > upload to unstable yet but it's good to have a bug tracking that.
> > 
> > ahem… but that's not common knowledge outside that circle...
> > 
> > Can I ask you at least try to minimize the disruption until a stable ABI
> > comes around (hopefully soon…) by:
> > * mentioning this fact in the package description
> > * still adding a .symbols file so a diff of the gone symbols is available
> > * bumping shlibs every time the ABI changes (you should do this regardless)
> > * adding Breaks against everything in the archive that any random upload
> >   breaks
> 
> I've intend to add breaks for reverse deps once they enter the archive
> but currently there are none that I know of.

Upstream bumps the soname now on each release, together with the shlibs
file this should do the trick for the moment.
 -- Guido

--- End Message ---

Reply via email to