Re: p5-DBD-mysql: Stuck between a rock and a hard place

From: Sergei Vyshenski <svysh.fbsd_at_gmail.com>
Date: Mon, 25 Mar 2024 21:11:01 UTC
Hi  Remko,

It seems that the situation may be even more complicated than you describe.

Upstream of DBD-mariadb lately made some unfriendly steps which in
certain conditions may cause conflicts (up to crashes) with MariaDB server.
It is the reason why DBD-mysql has been a good escape until version
DBD-mysql-5.004 appeared this March. Looks like a software war between 3
upsteams, from which we had better keep aside (and even move as far as to
PostgreSQL or such).

Some of my ports implicitly depend on a couple (MariaDB + DBD-mysql), and
hence they are broken today.

Let me vote to preserve the old name p5-DBD-mysql for the last good and
working version, and create a new port named p5-DBD-mysql-5 or whatever.

Regards, Sergei

On Mon, Mar 25, 2024 at 11:25 PM SirDice <sirdice@gmail.com> wrote:

> All,
>
> I took over maintainership of p5-DBD-mysql last week. Apparently I
> unwittingly managed to poke a hornets nest. Upstream author changed the
> code to make it only compatible with MySQL 8.x. I've tried patching out
> some of those changes but it requires quite an effort and is, in the end,
> unmaintainable. So currently it is broken if you change the default mysql
> to MariaDB.
>
> At the moment I see a couple of options
>
> 1) leave p5-DBD-mysql at 5.004 and add a p5-DBD-mysql4 'legacy' version
> port.
> 2) 'downgrade' p5-DBD-mysql to 4.051 and add a p5-DBD-mysql5 'new' version
> port.
>
> #1 works for the default MySQL (still at 8.0) but breaks if trying to
> build with MariaDB. Arguments are made that those ports should switch to
> p5-DBD-mariadb instead. But this causes another set of problems, it's not a
> drop-in replacement and some ports seem to have problems with DBD-MariaDB.
> Those ports could switch to the 'legacy' version until those issues are
> resolved upstream. #1 also poses a problem if the default is switched to
> MariaDB and ports haven't been updated yet to depend on p5-DBD-mariadb or
> p5-DBD-mysql4.
>
> #2 is probably the 'quickest' fix, it restores the status quo. Ports could
> include p5-DBD-mysql5 if they have a requirement for the new version (and
> add a restriction to only build with MySQL 8.x).
>
> While typing this out, trying to get some advice, I'm inclined to go for
> #2. But how can I go back a version? Bump PORTEPOCH?
>
> Sorry for the noise this caused. It wasn't intended.
>
> Greetings,
>
> Remko C. aka SirDice
>
>