Re: [libkipi] /: dump API/ABI version to be homogenous with all other shared digiKam libs, improved with GoSC 2010

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [libkipi] /: dump API/ABI version to be homogenous with all other shared digiKam libs, improved with GoSC 2010

Marcel Wiesweg

> Git commit 968c433eee9a36d34feb03848720a8e8c58e2598 by Gilles Caulier.
> Committed on 17/03/2011 at 19:57.
> Pushed by cgilles into branch 'master'.
>
> dump API/ABI version to be homogenous with all other shared digiKam libs,
> improved with GoSC 2010

Gilles, this is a very critical change!
I suggest not to bump the API until we really need, and we dont need - the
relevant changes were already shipped with KDE 4.6 and ABI 8.0

Why? This will crash gwenview.
libkipi is different from all other libraries: The host application links to
it, and the plugins link to it.
Now KDE 4.6 gwenview will link to libkipi.1.2, and newly installed plugins
will link to libkipi.2.0. Gwenview will happily load the plugins, and crash
then. There is no way to have two versions of the plugins installed (like
having multiple versions of the library installed).

In the latest git, but not in KDE 4.6, is a safety mechanism that will not
load the plugins. The gwenview does not crash, but plugins dont work. Better,
but still bad.

=> if we can at any cost avoid, do not increase ABI version




>
> M  +4    -3    CMakeLists.txt
>
> http://commits.kde.org/libkipi/968c433eee9a36d34feb03848720a8e8c58e2598
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index ede713e..e6c1f3e 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -59,10 +59,11 @@
> ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=${LIBKIPI_AREA_CODE_GENERAL}) #
> 1.0.0 => 7.0.0  (released with KDE 4.4.0)
>  # 1.1.0 => 7.1.0  (released with KDE 4.5.0)
>  # 1.2.0 => 8.0.0  (released with KDE 4.6.0)
> +# 2.0.0 => 9.0.0  (released with KDE 4.7.0)
>
>  # Library API version
> -SET(KIPI_LIB_MAJOR_VERSION "1")
> -SET(KIPI_LIB_MINOR_VERSION "2")
> +SET(KIPI_LIB_MAJOR_VERSION "2")
> +SET(KIPI_LIB_MINOR_VERSION "0")
>  SET(KIPI_LIB_PATCH_VERSION "0")
>
>  # Suffix to add at end of version string. Usual values are:
> @@ -76,7 +77,7 @@ SET(KIPI_LIB_SUFFIX_VERSION "")
>
>  # Library ABI version used by linker.
>  # For details :
> http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-i
> nfo -SET(KIPI_LIB_SO_CUR_VERSION "8")
> +SET(KIPI_LIB_SO_CUR_VERSION "9")
>  SET(KIPI_LIB_SO_REV_VERSION "0")
>  SET(KIPI_LIB_SO_AGE_VERSION "0")

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [libkipi] /: dump API/ABI version to be homogenous with all other shared digiKam libs, improved with GoSC 2010

Gilles Caulier-4
Ah yes, i don't see this problem with gwenview. I confirm, it crash here too..

I will revert this changes

Gilles

2011/3/17 Marcel Wiesweg <[hidden email]>:

>
>> Git commit 968c433eee9a36d34feb03848720a8e8c58e2598 by Gilles Caulier.
>> Committed on 17/03/2011 at 19:57.
>> Pushed by cgilles into branch 'master'.
>>
>> dump API/ABI version to be homogenous with all other shared digiKam libs,
>> improved with GoSC 2010
>
> Gilles, this is a very critical change!
> I suggest not to bump the API until we really need, and we dont need - the
> relevant changes were already shipped with KDE 4.6 and ABI 8.0
>
> Why? This will crash gwenview.
> libkipi is different from all other libraries: The host application links to
> it, and the plugins link to it.
> Now KDE 4.6 gwenview will link to libkipi.1.2, and newly installed plugins
> will link to libkipi.2.0. Gwenview will happily load the plugins, and crash
> then. There is no way to have two versions of the plugins installed (like
> having multiple versions of the library installed).
>
> In the latest git, but not in KDE 4.6, is a safety mechanism that will not
> load the plugins. The gwenview does not crash, but plugins dont work. Better,
> but still bad.
>
> => if we can at any cost avoid, do not increase ABI version
>
>
>
>
>>
>> M  +4    -3    CMakeLists.txt
>>
>> http://commits.kde.org/libkipi/968c433eee9a36d34feb03848720a8e8c58e2598
>>
>> diff --git a/CMakeLists.txt b/CMakeLists.txt
>> index ede713e..e6c1f3e 100644
>> --- a/CMakeLists.txt
>> +++ b/CMakeLists.txt
>> @@ -59,10 +59,11 @@
>> ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=${LIBKIPI_AREA_CODE_GENERAL}) #
>> 1.0.0 => 7.0.0  (released with KDE 4.4.0)
>>  # 1.1.0 => 7.1.0  (released with KDE 4.5.0)
>>  # 1.2.0 => 8.0.0  (released with KDE 4.6.0)
>> +# 2.0.0 => 9.0.0  (released with KDE 4.7.0)
>>
>>  # Library API version
>> -SET(KIPI_LIB_MAJOR_VERSION "1")
>> -SET(KIPI_LIB_MINOR_VERSION "2")
>> +SET(KIPI_LIB_MAJOR_VERSION "2")
>> +SET(KIPI_LIB_MINOR_VERSION "0")
>>  SET(KIPI_LIB_PATCH_VERSION "0")
>>
>>  # Suffix to add at end of version string. Usual values are:
>> @@ -76,7 +77,7 @@ SET(KIPI_LIB_SUFFIX_VERSION "")
>>
>>  # Library ABI version used by linker.
>>  # For details :
>> http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-i
>> nfo -SET(KIPI_LIB_SO_CUR_VERSION "8")
>> +SET(KIPI_LIB_SO_CUR_VERSION "9")
>>  SET(KIPI_LIB_SO_REV_VERSION "0")
>>  SET(KIPI_LIB_SO_AGE_VERSION "0")
>
> _______________________________________________
> Digikam-devel mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-devel
>
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel