Skip to content

Commit 4775a40

Browse files
committed
Deb: Track libmariadb3 ABI explicitly to detect future symbol changes
When this file exists, Debian builds will automatically compare the built ABI and symbols to the ones defined in the list. If there is a mismatch, developers need to update the libmariadb3.symbols file, otherwise the build fails. This ensures there are no accidental symbol changes. This also helps track what symbols changed and in what versions. Also add a README embedded in the sources to facilitate correct use of this new file. This change is made for branch 10.2, as it was the first server version to introduce an embedded libmariadb3 client library, and from this version the file with the same libmariadb3 specific content will be merged to 10.3, 10.4 and 10.5. Related: MDEV-21732
1 parent 347f6d0 commit 4775a40

File tree

2 files changed

+378
-0
lines changed

2 files changed

+378
-0
lines changed

debian/libmariadb3.symbols

+336
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,336 @@
1+
libmariadb.so.3 libmariadb3 #MINVER#
2+
* Build-Depends-Package: libmariadb-dev
3+
libmariadb_3@libmariadb_3 3.0.0
4+
libmariadbclient_18@libmariadbclient_18 3.0.0
5+
libmysqlclient_18@libmysqlclient_18 3.0.0
6+
ma_pvio_register_callback@libmariadb_3 3.0.0
7+
mariadb_cancel@libmariadb_3 3.0.0
8+
mariadb_connection@libmariadb_3 3.0.0
9+
mariadb_convert_string@libmariadb_3 3.0.0
10+
mariadb_deinitialize_ssl@libmariadb_3 3.0.0
11+
mariadb_free_rpl_event@libmariadb_3 3.1.0
12+
mariadb_get_charset_by_name@libmariadb_3 3.0.0
13+
mariadb_get_charset_by_nr@libmariadb_3 3.0.0
14+
mariadb_get_info@libmariadb_3 3.0.0
15+
mariadb_get_infov@libmariadb_3 3.0.0
16+
mariadb_reconnect@libmariadb_3 3.0.0
17+
mariadb_rpl_close@libmariadb_3 3.1.0
18+
mariadb_rpl_fetch@libmariadb_3 3.1.0
19+
mariadb_rpl_get_optionsv@libmariadb_3 3.1.0
20+
mariadb_rpl_open@libmariadb_3 3.1.0
21+
mariadb_rpl_optionsv@libmariadb_3 3.1.0
22+
mariadb_stmt_execute_direct@libmariadb_3 3.0.0
23+
mariadb_stmt_fetch_fields@libmariadb_3 3.1.0
24+
mysql_affected_rows@libmariadbclient_18 3.0.0
25+
mysql_affected_rows@libmysqlclient_18 3.0.0
26+
mysql_autocommit_cont@libmariadb_3 3.0.0
27+
mysql_autocommit@libmariadbclient_18 3.0.0
28+
mysql_autocommit@libmysqlclient_18 3.0.0
29+
mysql_autocommit_start@libmariadb_3 3.0.0
30+
mysql_change_user_cont@libmariadb_3 3.0.0
31+
mysql_change_user@libmariadbclient_18 3.0.0
32+
mysql_change_user@libmysqlclient_18 3.0.0
33+
mysql_change_user_start@libmariadb_3 3.0.0
34+
mysql_character_set_name@libmariadbclient_18 3.0.0
35+
mysql_character_set_name@libmysqlclient_18 3.0.0
36+
mysql_client_find_plugin@libmariadbclient_18 3.0.0
37+
mysql_client_find_plugin@libmysqlclient_18 3.0.0
38+
mysql_client_register_plugin@libmariadbclient_18 3.0.0
39+
mysql_client_register_plugin@libmysqlclient_18 3.0.0
40+
mysql_close_cont@libmariadb_3 3.0.0
41+
mysql_close@libmariadbclient_18 3.0.0
42+
mysql_close@libmysqlclient_18 3.0.0
43+
mysql_close_start@libmariadb_3 3.0.0
44+
mysql_commit_cont@libmariadb_3 3.0.0
45+
mysql_commit@libmariadbclient_18 3.0.0
46+
mysql_commit@libmysqlclient_18 3.0.0
47+
mysql_commit_start@libmariadb_3 3.0.0
48+
mysql_data_seek@libmariadbclient_18 3.0.0
49+
mysql_data_seek@libmysqlclient_18 3.0.0
50+
mysql_debug@libmariadbclient_18 3.0.0
51+
mysql_debug@libmysqlclient_18 3.0.0
52+
mysql_dump_debug_info_cont@libmariadb_3 3.0.0
53+
mysql_dump_debug_info@libmariadbclient_18 3.0.0
54+
mysql_dump_debug_info@libmysqlclient_18 3.0.0
55+
mysql_dump_debug_info_start@libmariadb_3 3.0.0
56+
mysql_embedded@libmariadbclient_18 3.0.0
57+
mysql_embedded@libmysqlclient_18 3.0.0
58+
mysql_eof@libmariadbclient_18 3.0.0
59+
mysql_eof@libmysqlclient_18 3.0.0
60+
mysql_errno@libmariadbclient_18 3.0.0
61+
mysql_errno@libmysqlclient_18 3.0.0
62+
mysql_error@libmariadbclient_18 3.0.0
63+
mysql_error@libmysqlclient_18 3.0.0
64+
mysql_escape_string@libmariadbclient_18 3.0.0
65+
mysql_escape_string@libmysqlclient_18 3.0.0
66+
mysql_fetch_field_direct@libmariadbclient_18 3.0.0
67+
mysql_fetch_field_direct@libmysqlclient_18 3.0.0
68+
mysql_fetch_field@libmariadbclient_18 3.0.0
69+
mysql_fetch_field@libmysqlclient_18 3.0.0
70+
mysql_fetch_fields@libmariadbclient_18 3.0.0
71+
mysql_fetch_fields@libmysqlclient_18 3.0.0
72+
mysql_fetch_lengths@libmariadbclient_18 3.0.0
73+
mysql_fetch_lengths@libmysqlclient_18 3.0.0
74+
mysql_fetch_row_cont@libmariadb_3 3.0.0
75+
mysql_fetch_row@libmariadbclient_18 3.0.0
76+
mysql_fetch_row@libmysqlclient_18 3.0.0
77+
mysql_fetch_row_start@libmariadb_3 3.0.0
78+
mysql_field_count@libmariadbclient_18 3.0.0
79+
mysql_field_count@libmysqlclient_18 3.0.0
80+
mysql_field_seek@libmariadbclient_18 3.0.0
81+
mysql_field_seek@libmysqlclient_18 3.0.0
82+
mysql_field_tell@libmariadbclient_18 3.0.0
83+
mysql_field_tell@libmysqlclient_18 3.0.0
84+
mysql_free_result_cont@libmariadb_3 3.0.0
85+
mysql_free_result@libmariadbclient_18 3.0.0
86+
mysql_free_result@libmysqlclient_18 3.0.0
87+
mysql_free_result_start@libmariadb_3 3.0.0
88+
mysql_get_character_set_info@libmariadbclient_18 3.0.0
89+
mysql_get_character_set_info@libmysqlclient_18 3.0.0
90+
mysql_get_charset_by_name@libmariadbclient_18 3.0.0
91+
mysql_get_charset_by_name@libmysqlclient_18 3.0.0
92+
mysql_get_charset_by_nr@libmariadbclient_18 3.0.0
93+
mysql_get_charset_by_nr@libmysqlclient_18 3.0.0
94+
mysql_get_client_info@libmariadbclient_18 3.0.0
95+
mysql_get_client_info@libmysqlclient_18 3.0.0
96+
mysql_get_client_version@libmariadbclient_18 3.0.0
97+
mysql_get_client_version@libmysqlclient_18 3.0.0
98+
mysql_get_host_info@libmariadbclient_18 3.0.0
99+
mysql_get_host_info@libmysqlclient_18 3.0.0
100+
mysql_get_option@libmariadbclient_18 3.0.0
101+
mysql_get_option@libmysqlclient_18 3.0.0
102+
mysql_get_optionv@libmariadbclient_18 3.0.0
103+
mysql_get_optionv@libmysqlclient_18 3.0.0
104+
mysql_get_parameters@libmariadbclient_18 3.0.0
105+
mysql_get_parameters@libmysqlclient_18 3.0.0
106+
mysql_get_proto_info@libmariadbclient_18 3.0.0
107+
mysql_get_proto_info@libmysqlclient_18 3.0.0
108+
mysql_get_server_info@libmariadbclient_18 3.0.0
109+
mysql_get_server_info@libmysqlclient_18 3.0.0
110+
mysql_get_server_name@libmariadbclient_18 3.0.0
111+
mysql_get_server_name@libmysqlclient_18 3.0.0
112+
mysql_get_server_version@libmariadbclient_18 3.0.0
113+
mysql_get_server_version@libmysqlclient_18 3.0.0
114+
mysql_get_socket@libmariadbclient_18 3.0.0
115+
mysql_get_socket@libmysqlclient_18 3.0.0
116+
mysql_get_ssl_cipher@libmariadbclient_18 3.0.0
117+
mysql_get_ssl_cipher@libmysqlclient_18 3.0.0
118+
mysql_get_timeout_value@libmariadb_3 3.0.19
119+
mysql_get_timeout_value_ms@libmariadb_3 3.0.19
120+
mysql_hex_string@libmariadbclient_18 3.0.0
121+
mysql_hex_string@libmysqlclient_18 3.0.0
122+
mysql_info@libmariadbclient_18 3.0.0
123+
mysql_info@libmysqlclient_18 3.0.0
124+
mysql_init@libmariadbclient_18 3.0.0
125+
mysql_init@libmysqlclient_18 3.0.0
126+
mysql_insert_id@libmariadbclient_18 3.0.0
127+
mysql_insert_id@libmysqlclient_18 3.0.0
128+
mysql_kill_cont@libmariadb_3 3.0.0
129+
mysql_kill@libmariadbclient_18 3.0.0
130+
mysql_kill@libmysqlclient_18 3.0.0
131+
mysql_kill_start@libmariadb_3 3.0.0
132+
mysql_list_dbs@libmariadbclient_18 3.0.0
133+
mysql_list_dbs@libmysqlclient_18 3.0.0
134+
mysql_list_fields_cont@libmariadb_3 3.0.0
135+
mysql_list_fields@libmariadbclient_18 3.0.0
136+
mysql_list_fields@libmysqlclient_18 3.0.0
137+
mysql_list_fields_start@libmariadb_3 3.0.0
138+
mysql_list_processes@libmariadbclient_18 3.0.0
139+
mysql_list_processes@libmysqlclient_18 3.0.0
140+
mysql_list_tables@libmariadbclient_18 3.0.0
141+
mysql_list_tables@libmysqlclient_18 3.0.0
142+
mysql_load_plugin@libmariadbclient_18 3.0.0
143+
mysql_load_plugin@libmysqlclient_18 3.0.0
144+
mysql_load_plugin_v@libmariadbclient_18 3.0.0
145+
mysql_load_plugin_v@libmysqlclient_18 3.0.0
146+
mysql_more_results@libmariadbclient_18 3.0.0
147+
mysql_more_results@libmysqlclient_18 3.0.0
148+
mysql_net_field_length@libmariadbclient_18 3.0.0
149+
mysql_net_field_length@libmysqlclient_18 3.0.0
150+
mysql_net_read_packet@libmariadbclient_18 3.0.0
151+
mysql_net_read_packet@libmysqlclient_18 3.0.0
152+
mysql_next_result_cont@libmariadb_3 3.0.0
153+
mysql_next_result@libmariadbclient_18 3.0.0
154+
mysql_next_result@libmysqlclient_18 3.0.0
155+
mysql_next_result_start@libmariadb_3 3.0.0
156+
mysql_num_fields@libmariadbclient_18 3.0.0
157+
mysql_num_fields@libmysqlclient_18 3.0.0
158+
mysql_num_rows@libmariadbclient_18 3.0.0
159+
mysql_num_rows@libmysqlclient_18 3.0.0
160+
mysql_options4@libmariadbclient_18 3.0.0
161+
mysql_options4@libmysqlclient_18 3.0.0
162+
mysql_options@libmariadbclient_18 3.0.0
163+
mysql_options@libmysqlclient_18 3.0.0
164+
mysql_optionsv@libmariadb_3 3.0.0
165+
mysql_ping_cont@libmariadb_3 3.0.0
166+
mysql_ping@libmariadbclient_18 3.0.0
167+
mysql_ping@libmysqlclient_18 3.0.0
168+
mysql_ping_start@libmariadb_3 3.0.0
169+
mysql_ps_fetch_functions@libmariadb_3 3.0.0
170+
mysql_query_cont@libmariadb_3 3.0.0
171+
mysql_query@libmariadbclient_18 3.0.0
172+
mysql_query@libmysqlclient_18 3.0.0
173+
mysql_query_start@libmariadb_3 3.0.0
174+
mysql_read_query_result_cont@libmariadb_3 3.0.0
175+
mysql_read_query_result@libmariadbclient_18 3.0.0
176+
mysql_read_query_result@libmysqlclient_18 3.0.0
177+
mysql_read_query_result_start@libmariadb_3 3.0.0
178+
mysql_real_connect_cont@libmariadb_3 3.0.0
179+
mysql_real_connect@libmariadbclient_18 3.0.0
180+
mysql_real_connect@libmysqlclient_18 3.0.0
181+
mysql_real_connect_start@libmariadb_3 3.0.0
182+
mysql_real_escape_string@libmariadbclient_18 3.0.0
183+
mysql_real_escape_string@libmysqlclient_18 3.0.0
184+
mysql_real_query_cont@libmariadb_3 3.0.0
185+
mysql_real_query@libmariadbclient_18 3.0.0
186+
mysql_real_query@libmysqlclient_18 3.0.0
187+
mysql_real_query_start@libmariadb_3 3.0.0
188+
mysql_refresh_cont@libmariadb_3 3.0.0
189+
mysql_refresh@libmariadbclient_18 3.0.0
190+
mysql_refresh@libmysqlclient_18 3.0.0
191+
mysql_refresh_start@libmariadb_3 3.0.0
192+
mysql_reset_connection_cont@libmariadb_3 3.0.0
193+
mysql_reset_connection@libmariadbclient_18 3.0.0
194+
mysql_reset_connection@libmysqlclient_18 3.0.0
195+
mysql_reset_connection_start@libmariadb_3 3.0.0
196+
mysql_rollback_cont@libmariadb_3 3.0.0
197+
mysql_rollback@libmariadbclient_18 3.0.0
198+
mysql_rollback@libmysqlclient_18 3.0.0
199+
mysql_rollback_start@libmariadb_3 3.0.0
200+
mysql_row_seek@libmariadbclient_18 3.0.0
201+
mysql_row_seek@libmysqlclient_18 3.0.0
202+
mysql_row_tell@libmariadbclient_18 3.0.0
203+
mysql_row_tell@libmysqlclient_18 3.0.0
204+
mysql_select_db_cont@libmariadb_3 3.0.0
205+
mysql_select_db@libmariadbclient_18 3.0.0
206+
mysql_select_db@libmysqlclient_18 3.0.0
207+
mysql_select_db_start@libmariadb_3 3.0.0
208+
mysql_send_query_cont@libmariadb_3 3.0.0
209+
mysql_send_query@libmariadbclient_18 3.0.0
210+
mysql_send_query@libmysqlclient_18 3.0.0
211+
mysql_send_query_start@libmariadb_3 3.0.0
212+
mysql_server_end@libmariadbclient_18 3.0.0
213+
mysql_server_end@libmysqlclient_18 3.0.0
214+
mysql_server_init@libmariadbclient_18 3.0.0
215+
mysql_server_init@libmysqlclient_18 3.0.0
216+
mysql_session_track_get_first@libmariadbclient_18 3.0.0
217+
mysql_session_track_get_first@libmysqlclient_18 3.0.0
218+
mysql_session_track_get_next@libmariadbclient_18 3.0.0
219+
mysql_session_track_get_next@libmysqlclient_18 3.0.0
220+
mysql_set_character_set_cont@libmariadb_3 3.0.0
221+
mysql_set_character_set@libmariadbclient_18 3.0.0
222+
mysql_set_character_set@libmysqlclient_18 3.0.0
223+
mysql_set_character_set_start@libmariadb_3 3.0.0
224+
mysql_set_local_infile_default@libmariadbclient_18 3.0.0
225+
mysql_set_local_infile_default@libmysqlclient_18 3.0.0
226+
mysql_set_local_infile_handler@libmariadbclient_18 3.0.0
227+
mysql_set_local_infile_handler@libmysqlclient_18 3.0.0
228+
mysql_set_server_option_cont@libmariadb_3 3.0.0
229+
mysql_set_server_option@libmariadbclient_18 3.0.0
230+
mysql_set_server_option@libmysqlclient_18 3.0.0
231+
mysql_set_server_option_start@libmariadb_3 3.0.0
232+
mysql_shutdown_cont@libmariadb_3 3.0.0
233+
mysql_shutdown@libmariadbclient_18 3.0.0
234+
mysql_shutdown@libmysqlclient_18 3.0.0
235+
mysql_shutdown_start@libmariadb_3 3.0.0
236+
mysql_sqlstate@libmariadbclient_18 3.0.0
237+
mysql_sqlstate@libmysqlclient_18 3.0.0
238+
mysql_ssl_set@libmariadbclient_18 3.0.0
239+
mysql_ssl_set@libmysqlclient_18 3.0.0
240+
mysql_stat_cont@libmariadb_3 3.0.0
241+
mysql_stat@libmariadbclient_18 3.0.0
242+
mysql_stat@libmysqlclient_18 3.0.0
243+
mysql_stat_start@libmariadb_3 3.0.0
244+
mysql_stmt_affected_rows@libmariadbclient_18 3.0.0
245+
mysql_stmt_affected_rows@libmysqlclient_18 3.0.0
246+
mysql_stmt_attr_get@libmariadbclient_18 3.0.0
247+
mysql_stmt_attr_get@libmysqlclient_18 3.0.0
248+
mysql_stmt_attr_set@libmariadbclient_18 3.0.0
249+
mysql_stmt_attr_set@libmysqlclient_18 3.0.0
250+
mysql_stmt_bind_param@libmariadbclient_18 3.0.0
251+
mysql_stmt_bind_param@libmysqlclient_18 3.0.0
252+
mysql_stmt_bind_result@libmariadbclient_18 3.0.0
253+
mysql_stmt_bind_result@libmysqlclient_18 3.0.0
254+
mysql_stmt_close_cont@libmariadb_3 3.0.0
255+
mysql_stmt_close@libmariadbclient_18 3.0.0
256+
mysql_stmt_close@libmysqlclient_18 3.0.0
257+
mysql_stmt_close_start@libmariadb_3 3.0.0
258+
mysql_stmt_data_seek@libmariadbclient_18 3.0.0
259+
mysql_stmt_data_seek@libmysqlclient_18 3.0.0
260+
mysql_stmt_errno@libmariadbclient_18 3.0.0
261+
mysql_stmt_errno@libmysqlclient_18 3.0.0
262+
mysql_stmt_error@libmariadbclient_18 3.0.0
263+
mysql_stmt_error@libmysqlclient_18 3.0.0
264+
mysql_stmt_execute_cont@libmariadb_3 3.0.0
265+
mysql_stmt_execute@libmariadbclient_18 3.0.0
266+
mysql_stmt_execute@libmysqlclient_18 3.0.0
267+
mysql_stmt_execute_start@libmariadb_3 3.0.0
268+
mysql_stmt_fetch_column@libmariadbclient_18 3.0.0
269+
mysql_stmt_fetch_column@libmysqlclient_18 3.0.0
270+
mysql_stmt_fetch_cont@libmariadb_3 3.0.0
271+
mysql_stmt_fetch@libmariadbclient_18 3.0.0
272+
mysql_stmt_fetch@libmysqlclient_18 3.0.0
273+
mysql_stmt_fetch_start@libmariadb_3 3.0.0
274+
mysql_stmt_field_count@libmariadbclient_18 3.0.0
275+
mysql_stmt_field_count@libmysqlclient_18 3.0.0
276+
mysql_stmt_free_result_cont@libmariadb_3 3.0.0
277+
mysql_stmt_free_result@libmariadbclient_18 3.0.0
278+
mysql_stmt_free_result@libmysqlclient_18 3.0.0
279+
mysql_stmt_free_result_start@libmariadb_3 3.0.0
280+
mysql_stmt_init@libmariadbclient_18 3.0.0
281+
mysql_stmt_init@libmysqlclient_18 3.0.0
282+
mysql_stmt_insert_id@libmariadbclient_18 3.0.0
283+
mysql_stmt_insert_id@libmysqlclient_18 3.0.0
284+
mysql_stmt_more_results@libmariadbclient_18 3.0.0
285+
mysql_stmt_more_results@libmysqlclient_18 3.0.0
286+
mysql_stmt_next_result_cont@libmariadb_3 3.0.0
287+
mysql_stmt_next_result@libmariadbclient_18 3.0.0
288+
mysql_stmt_next_result@libmysqlclient_18 3.0.0
289+
mysql_stmt_next_result_start@libmariadb_3 3.0.0
290+
mysql_stmt_num_rows@libmariadbclient_18 3.0.0
291+
mysql_stmt_num_rows@libmysqlclient_18 3.0.0
292+
mysql_stmt_param_count@libmariadbclient_18 3.0.0
293+
mysql_stmt_param_count@libmysqlclient_18 3.0.0
294+
mysql_stmt_param_metadata@libmariadbclient_18 3.0.0
295+
mysql_stmt_param_metadata@libmysqlclient_18 3.0.0
296+
mysql_stmt_prepare_cont@libmariadb_3 3.0.0
297+
mysql_stmt_prepare@libmariadbclient_18 3.0.0
298+
mysql_stmt_prepare@libmysqlclient_18 3.0.0
299+
mysql_stmt_prepare_start@libmariadb_3 3.0.0
300+
mysql_stmt_reset_cont@libmariadb_3 3.0.0
301+
mysql_stmt_reset@libmariadbclient_18 3.0.0
302+
mysql_stmt_reset@libmysqlclient_18 3.0.0
303+
mysql_stmt_reset_start@libmariadb_3 3.0.0
304+
mysql_stmt_result_metadata@libmariadbclient_18 3.0.0
305+
mysql_stmt_result_metadata@libmysqlclient_18 3.0.0
306+
mysql_stmt_row_seek@libmariadbclient_18 3.0.0
307+
mysql_stmt_row_seek@libmysqlclient_18 3.0.0
308+
mysql_stmt_row_tell@libmariadbclient_18 3.0.0
309+
mysql_stmt_row_tell@libmysqlclient_18 3.0.0
310+
mysql_stmt_send_long_data_cont@libmariadb_3 3.0.0
311+
mysql_stmt_send_long_data@libmariadbclient_18 3.0.0
312+
mysql_stmt_send_long_data@libmysqlclient_18 3.0.0
313+
mysql_stmt_send_long_data_start@libmariadb_3 3.0.0
314+
mysql_stmt_sqlstate@libmariadbclient_18 3.0.0
315+
mysql_stmt_sqlstate@libmysqlclient_18 3.0.0
316+
mysql_stmt_store_result_cont@libmariadb_3 3.0.0
317+
mysql_stmt_store_result@libmariadbclient_18 3.0.0
318+
mysql_stmt_store_result@libmysqlclient_18 3.0.0
319+
mysql_stmt_store_result_start@libmariadb_3 3.0.0
320+
mysql_stmt_warning_count@libmariadb_3 3.0.0
321+
mysql_store_result_cont@libmariadb_3 3.0.0
322+
mysql_store_result@libmariadbclient_18 3.0.0
323+
mysql_store_result@libmysqlclient_18 3.0.0
324+
mysql_store_result_start@libmariadb_3 3.0.0
325+
mysql_thread_end@libmariadbclient_18 3.0.0
326+
mysql_thread_end@libmysqlclient_18 3.0.0
327+
mysql_thread_id@libmariadbclient_18 3.0.0
328+
mysql_thread_id@libmysqlclient_18 3.0.0
329+
mysql_thread_init@libmariadbclient_18 3.0.0
330+
mysql_thread_init@libmysqlclient_18 3.0.0
331+
mysql_thread_safe@libmariadbclient_18 3.0.0
332+
mysql_thread_safe@libmysqlclient_18 3.0.0
333+
mysql_use_result@libmariadbclient_18 3.0.0
334+
mysql_use_result@libmysqlclient_18 3.0.0
335+
mysql_warning_count@libmariadbclient_18 3.0.0
336+
mysql_warning_count@libmysqlclient_18 3.0.0

debian/libmariadb3.symbols.README

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
The libmariadb3.symbols files is used to track the libmariadb3 ABI.
2+
3+
If a symbol is removed or changed, the Debian build will fail unless the same change has also explicitly been made in the libmariadb3.symbols file.
4+
5+
If a symbol is added, the Debian build will issue a warning like:
6+
7+
dh_makeshlibs -O--parallel
8+
rm -f debian/libmariadb3/DEBIAN/shlibs
9+
echo "libmariadb 3 libmariadb3" >> debian/libmariadb3/DEBIAN/shlibs
10+
chmod 0644 -- debian/libmariadb3/DEBIAN/shlibs
11+
chown 0:0 -- debian/libmariadb3/DEBIAN/shlibs
12+
dpkg-gensymbols -plibmariadb3 -Idebian/libmariadb3.symbols -Pdebian/libmariadb3 -edebian/libmariadb3/usr/lib/x86_64-linux-gnu/libmariadb.so.3
13+
dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below
14+
dpkg-gensymbols: warning: debian/libmariadb3/DEBIAN/symbols doesn't match completely debian/libmariadb3.symbols
15+
--- debian/libmariadb3.symbols (libmariadb3_10.2.32+maria~sid_amd64)
16+
+++ dpkg-gensymbolsUfTky5 2020-02-20 11:27:03.815551573 +0000
17+
@@ -12,6 +12,7 @@
18+
mariadb_get_charset_by_name@libmariadb_3 3.0.0
19+
mariadb_get_charset_by_nr@libmariadb_3 3.0.0
20+
mariadb_get_info@libmariadb_3 3.0.0
21+
+ mariadb_get_infov@libmariadb_3 10.2.32+maria~sid
22+
mariadb_reconnect@libmariadb_3 3.0.0
23+
mariadb_rpl_close@libmariadb_3 3.1.0
24+
mariadb_rpl_fetch@libmariadb_3 3.1.0
25+
26+
27+
When this happens, please add the symbol to the libmariadb3.symbols file.
28+
Unlike the automatic diff above, don't use the server version for the symbols.
29+
30+
Instead use the client library version, which can be viewed with:
31+
32+
$ grep 'SET(CPACK_PACKAGE_VERSION_' libmariadb/CMakeLists.txt
33+
SET(CPACK_PACKAGE_VERSION_MAJOR 3)
34+
SET(CPACK_PACKAGE_VERSION_MINOR 1)
35+
SET(CPACK_PACKAGE_VERSION_PATCH 7)
36+
37+
In this example, the line to add would be:
38+
39+
mariadb_get_infov@libmariadb_3 3.1.7
40+
41+
42+
Remember to not break the ABI in a stable release!

0 commit comments

Comments
 (0)