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

Reply via email to