Folks,

could you elaborate a bit more why you are forcing all Build-RDeps to
change B-D to default-libmysqlclient-dev instead of just changing the
semantics of libmysqlclient-dev?

I understand the default-mysql-client and default-mysql-server, but I
don't understand the change from libmysqlclient-dev to
default-libmysqlclient-dev.

We have a couple of similar cases that doesn't require that much work
(f.e. libjpeg-dev) and renaming the original libmysqlclient-dev to
libmysqlclient-oracle-dev and adding Provides: libmysqlclient-dev to
libmariadbclient-dev would achieve the same thing and require a
substantially less work on the other people side.

Cheers,
-- 
Ondřej Surý <ond...@sury.org>
Knot DNS (https://www.knot-dns.cz/) – a high-performance DNS server
Knot Resolver (https://www.knot-resolver.cz/) – secure, privacy-aware,
fast DNS(SEC) resolver
Vše pro chleba (https://vseprochleba.cz) – Potřeby pro pečení chleba
všeho druhu

On Sun, Sep 4, 2016, at 09:14, Otto Kekäläinen wrote:
> Hello maintainers of packages that depend in MySQL/MariaDB!
> 
> TL;DR;
> 
> Please update packages that depend on MySQL or MariaDB as follows:
> 
> BEFORE: Build-Depends: libmysqlclient-dev
> AFTER: Build-Depends: default-libmysqlclient-dev
> 
> BEFORE: Depends: mysql-server | virtual-mysql-server
> OR Depends: mariadb-server | virtual-mysql-server
> AFTER: Depends: default-mysql-server | virtual-mysql-server
> 
> BEFORE: Depends: mysql-client | virtual-mysql-client
> OR Depends: mariadb-client | virtual-mariadb-client
> AFTER: Depends: default-mysql-client | virtual-mysql-client
> 
> 
> Details follow:
> 
> The release team decided earlier in the spring that MariaDB should be
> made the default MySQL variant in Debian. The release team also wished
> to have a facility that allows easy switching of the default.
> 
> Therefore we have introduced the following metapackages
> from the mysql-defaults source package:
> - default-mysql-server
> - default-mysql-server-core
> - default-mysql-client
> - default-mysql-client-core
> - default-libmysqlclient-dev
> 
> All maintainers of packages that currently depend directly on
> mysql-server, mariadb-server, or any of the other packages in these
> series, shall update the dependencies in their packages to point to
> default-mysql-* instead.
> 
> Installing the metapackage default-mysql-server will pull in
> mariadb-server-10.0. Users who had mysql-server-5.6 will have it
> removed and replaced by the MariaDB equivalent on upgrade. Note that
> once you have switched to MariaDB, it might not possible to convert
> your in-place database files back to MySQL automatically, since Oracle
> does not maintain tools to convert possible MariaDB features present
> in the binary format. Please back up your data first if you wish to
> switch or experiment. Manual dump/import is the most reliable way to
> import data from one installation to another.
> 
> A virtual package scheme virtual-mysql-* already exists since 2013,
> and will continue to exist. All MySQL variants in Debian (and outside
> in 3rd party repositories too) have Provides for these virtual-mysql-*
> packages. Maintainers can must use "Depends: default-mysql-server |
> virtual-mysql-server" if their package can be satisfied by any MySQL
> variant (Oracle, MariaDB, Percona, mysql-wsrep).
> 
> The first dependency should be default-mysql-*, which is a
> metapackage, that in turn depends on exactly one option, which for now
> is MariaDB.
> 
> If a maintainer knows that his/her package only works with one
> variant, then the package can depend directly on that package and not
> use the default-mysql-* (matches one) or virtual-mysql-* (matches any)
> schemes. Please get in touch if this applies to you. At the moment
> there should be no such packages, but in the future cases like this
> can arise when MySQL and MariaDB develop diverging feature sets.
> 
> Packages built against default-mysqlclient-dev and link using
> "-lmysqlclient" will end up with a shared library dependency on either
> libmysqlclient.so.X or libmariadbclient.so.X depending on the default
> defined by the release team at build time. These will be provided by
> the libmysqlclient18 (soon to be libmysqlclient20) and
> libmariadbclient18 packages, which will be co-installable. Packages
> which require particular functionality available from only one of the
> forks may Build-Depend directly on libmysqlclient-dev or
> libmariadbclient-dev and then link using "-lmysqlclient" or
> "-lmariadbclient" respectively. Again, please get in touch if this
> applies to you.
> 
> Users that want to rebuild packages against a different variant of
> lib*client-dev for experimenting and testing locally should prefer
> using a locally modified default-libmysqlclient-dev over modifying
> each client application source package individually.
> 
> The default-mysql-* metapackages have been available in experimental
> since July, and since also in unstable and testing, and we are
> confident there are no regressions. If you however do encounter
> problems, please report to pkg-mysql-maint@.
> 
> 
> On behalf ot the pkg-mysql team,
> 
> - Otto
> Email had 1 attachment:
> + signature.asc
>   1k (application/pgp-signature)
 

Reply via email to