In 5.4 slot, mysql flag means enabling or disabling mysql_* functions which are deprecated as of PHP 5.5. In 5.5 and 5.6 slots this flag replaced mysqlnd flag found in 5.4 slot. Without further notice. This "tiny" change caused my upgraded PHP to lack PDO_mysql - cornerstone of all web apps (together with mysqli). It'd be nice if such changes never happened in stable slots and if they did, then I'd like to read about it in eselect news or somewhere else.
(In reply to rindeal from comment #0) > In 5.4 slot, mysql flag means enabling or disabling mysql_* functions which > are deprecated as of PHP 5.5. In 5.5 and 5.6 slots this flag replaced > mysqlnd flag found in 5.4 slot. Without further notice. > I think you misinterpreted things. The mysqlnd flag was replace with libmysqlclient USE. What this means is that mysqlnd is always on unless libmysqlclient is set and then links to libmysqlclient.so
Unfortunately no, I didn't. This is what happens with "mysqli -mysql": `--without-mysql --with-mysqli=mysqlnd --without-mysql-sock --without-pdo-mysql` And this with "mysqli mysql": `--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-pdo-mysql=mysqlnd`
I'm going to mark this one a dupe of #481190 because they have the same underlying cause. USE flags are supposed to be "feature" flags, but when there are multiple implementations of the same thing (with critical differences) like there are with PHP, it's not always possible to make (for example) USE=mysql just "enable mysql support." We know the flags interact in weird ways, but at this point, if we change them, then everyone's web servers are going to break. I don't want to do that without a good reason (php-8.x?). If/when we do, I think we can simplify things by having flags for each database driver. Right now, you need to set both USE=pdo and USE=mysql to get pdo-mysql, and this is confusing when there's also a "mysql" driver. Even though it violates the "USE flags are for features" mantra, changing them all to e.g. USE=pdo-mysql would simplify the ebuild and make things a lot less confusing. *** This bug has been marked as a duplicate of bug 481190 ***