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:
4.1.x
5.1.x
5.4.x
5.5.x
5.6.x
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? ;-)
Seb
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql