On Mon, 28 Jul 2014 12:02:24 -0400 (EDT), Miloslav Trmač wrote:

> If upstream won’t use sonames or symbol versioning, it’s better for Fedora to 
> patch the software to use them properly, even if it means having to continue 
> to patch it.  IIRC we do have various packages that have to do this.
> 

Just for the record, they do use soname versioning,

  libjson.so.0.1.0
  libjson-c.so.2.0.1

but it may have been an accident to not bump it this time. The first thing
to do would be to contact them (two tickets have been opened already) and
talk about it.

Simply bumping the soname version at Fedora can easily lead to trouble,
e.g. if the next upstream release dropped more symbols together with
bumping the soname, Fedora would be out-of-sync again and would need to
stay incompatible with even another soname bump. That's not good and
inconvenient, too.

$ rpmsodiff json-c-0.11-6.fc20.x86_64.rpm json-c-0.12-1.fc20.x86_64.rpm 
        sonames only in json-c-0.11-6.fc20 [1]:
libjson.so.0    /usr/lib64/libjson.so.0.1.0

        common sonames:
libjson-c.so.2  /usr/lib64/libjson-c.so.2.0.1   /usr/lib64/libjson-c.so.2.0.1

--- json-c-0.11-6.fc20/libjson-c.so.2   2014-07-28 15:52:50.704003501 +0200
+++ json-c-0.12-1.fc20/libjson-c.so.2   2014-07-28 15:52:54.744786003 +0200
@@ -20,2 +20,3 @@
 json_object_array_sort T
+json_object_free_userdata      T
 json_object_from_file  T
@@ -42,2 +43,3 @@
 json_object_new_double T
+json_object_new_double_s       T
 json_object_new_int    T
@@ -58,2 +60,3 @@
 json_object_to_json_string_ext T
+json_object_userdata_to_json_string    T
 json_parse_double      T
@@ -61,3 +64,2 @@
 json_tokener_error_desc        T
-json_tokener_errors    D
 json_tokener_free      T
@@ -89,3 +91,2 @@
 lh_table_resize        T
-mc_abort       T
 mc_debug       T

        2 symbols removed
D json_tokener_errors
T mc_abort

        3 symbols added
T json_object_free_userdata
T json_object_new_double_s
T json_object_userdata_to_json_string

# template for libjson-c.so.2 version script
JSON_0.12 {
    global:
        json_object_free_userdata;
        json_object_new_double_s;
        json_object_userdata_to_json_string;
};

vim:ft=diff
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Reply via email to