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)