On 18/03/11 13:32, Michael Biebl wrote:
2011/3/18 Martyn Russell<mar...@lanedo.com>:
On 17/03/11 16:00, Michael Biebl wrote:
Hi,
Hi,
looks like there was an ABI/API break in libtracker-sparql without a
soname bump.
The following symbols were removed:
tracker_backend_status_wait_async
tracker_backend_status_wait_finish
tracker_sparql_connection_init_async
tracker_sparql_connection_init_finish
Was that intentional?
It was intentional to fix the problem we had with initialisation but not to
break ABI. There is no API break AFAICS. These functions were not public.
See my other email (ABI vs API). this is for tracker 0.10.3:
/usr/include/tracker-0.10/libtracker-sparql# grep
tracker_sparql_connection_init_async *
void tracker_sparql_connection_init_async (TrackerSparqlConnection*
self, GAsyncReadyCallback _callback_, gpointer _user_data_);
/usr/include/tracker-0.10/libtracker-sparql# grep
tracker_sparql_connection_init_finish *
void tracker_sparql_connection_init_finish (TrackerSparqlConnection*
self, GAsyncResult* _res_, GError** error);
So this *is* an API break
That very much depends on your definition. After some discussion on IRC
between Jürg and myself, we agree that our definition of ABI break is
aligned with actual APIs which should be used publicly. That meaning, if
we change something internally (which strictly speaking is an ABI
break), we don't consider it so. I believe this is where debian
disagrees with us?
About the API break, this is tough. There are a number of issues here.
First and foremost, the _init* API was not meant to be public. The fact
that the TrackerSparqlConnectionClass exists in the header file
tracker-sparql.h is regrettable, but it's not easy (possible?) to do
this correctly with Vala. This means it is confusing for people reading
the header file. Ideally the class should be in a private header and not
installed.
So:
- while we *strictly* broke ABI, we don't consider it a break.
- while we *strictly* broke API, it was never meant to be used publicly.
--
Regards,
Martyn
_______________________________________________
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list