On 17/07/2015 22:17, Brian Evans wrote:
> Here is a second Draft based on comments
> 
> 
> Title: MySQL client libraries and server packaging changes
> Author: Brian Evans <[email protected]>
> Content-Type: text/plain
> Posted: 2015-07-17
> Revision: 1
> News-Item-Format: 1.0
> Display-If-Installed: virtual/mysql
> 
> First off, a new virtual is being introduced, virtual/libmysqlclient.
> virtual/mysql will represent the server (mysqld) and tools (mysqldump,
> mysql, mysqladmin, etc) while virtual/libmysqlclient will represent
> the mysql client shared and static libraries, libmysqlclient.so for
> example.

This reads oddly. There's a "first" but I'm left wondering what the
"second" is, and I have to re-read "mysql client shared and static"
several times to figure out what is probably the noun and the adjective.
If I were writing the news, I'd probably do this:

Ebuild packaging for the various mysql packages is changing; including
the addition of a new virtual virtual/libmysqlclient.

The existing virtual/mysql will represent the server (mysqld) and tools
(mysqldump, mysql, mysqladmin, etc), while virtual/libmysqlclient will
represent the shared and static libraries for mysql clients, e.g.
libmysqlclient.so

> Ebuilds that only link the libraries may not pull in the server
> packages with this change in the future. Because of this, you may have
> to add a virtual/mysql or one of the providers; i.e. dev-db/mysql,
> dev-db/mariadb, or dev-db/percona-server; to your world file if you
> require a server to be installed locally.  This will be phased in
> slowly as other packages are updated.
> 
> As for the server packages themselves, the minimal USE is being
> replaced. The new USE flags are client-libs, server, and tools.
> The server and tools flags are on by default to signify the primary
> purpose of those builds.

It's not obvious that "minimal" is a USE flag, I first thought you meant
USE is short :-). I suggest:

The USE flag "minimal"....


> The primary provider for libraries will be a new package
> dev-db/mysql-connector-c.  Thorough testing did not turn up any
> issues, but packagers are permitted to block any provider of
> virtual/libmysqlclient that does not work correctly. Enabling the
> client-libs USE on a server package may be the necessary solution for
> the rare case of a block on an incompatible provider.

Finally, I'd flesh this out a little more so that users know what *they*
need to with this change. You've done a good job of explaining what you
have done.

It's not completely clear what the user must do to retain their existing
mysql clients, and many of them will think mysql-connector-c provides
it. I'd suggest a wording myself, but I'm still not 100% clear how it
will really work.

-- 
Alan McKinnon
[email protected]


Reply via email to