On 05/17/2013 03:07 PM, Reindl Harald wrote:
> Am 17.05.2013 14:53, schrieb Sebastien FLAESCH:
>> On 05/17/2013 12:29 PM, Reindl Harald wrote:
>>> Am 17.05.2013 12:05, schrieb Sebastien FLAESCH:
>>>> Beside the Oracle skills debate and the stupid mistakes with soname
>>>> changes between 5.5.8 and 5.5.10 or 5.6.x, (imagine all of this did
>>>> not happen):
>>>> I have a VERY simple question that needs a VERY CLEAR answer:
>>>> In our distribution packages (for different platforms! not only Linux),
>>>> I need to provide mysql client binaries for different versions of mysql
>>>> client environments:
>>>> How many binaries do I have to provide to support all these versions?
>>>> We compile with headers of a given version and link dynamically with
>>>> -lmysqlclient of course
>>> 4.1 and 5.6 should be enough if the topic is only
>>> to connect to servers from 4.1 to 5.6, a 5.6 client
>>> will happily connct to a>= 5.1 server
>>> 4.1 has a older protocol version and is AFAIk not supported
>>> by recent client libraries, at least recent PHP versions can
>>> not connect to servers older than 5.x
>> I see want you mean regarding C/S protocols but understand that:
>> 1- we do not ship the MySQL client library
> so you must require it as dependency
>> 2- it's not sure that a 5.6 (or 4.1) libmysqlclient is installed.
> you have to make sure it
>> Typically, customers will install a MySQL 5.x.y server WITH the
>> corresponding 5.x.y MySQL client library (usually on the same
>> machine), then they install our software (it's a dev tool).
> and you only need to specify this as requirement
>> Until today, if we want to have a common and simple rule for all
>> plaforms, my instinct is that we better provide a binary compiled
>> and linked with each major version of the MySQL we want to support.
> no - typically you require the mysql libraries to be installed
> in a specific version, or ship them with your package if possible
> by license, but the latter is a bad practice because nobody will
> update the libs in case of security fixes and this perverts
> the concept of shared libraries
For sure we'll not provide the MySQL libs in our packages!
But as I wrote, we support other platforms as Linux, and AIX/HP/Solaris
or Windows users will not have rpm ou deb packages with automatic soname
lib version checking...
We have our own installation program for all Unix platforms and we need
a common rule, for different versions on these operating systems...
We cannot force customers to install a MySQL 5.6 client lib, when they have
a 5.1, 5.4 or 5.5 server, especially when installed on an old Linux where
you cannot get a more recent version of the client lib...
Further, even if migrating to the last MySQL version is possible regarding
the OS version, some customers can stay with a given db version for years
and we have to support this.
Anyway, basically I think you answered to my main compatibility question...
Didn't you? ;-)