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

From: Brett Estrade <brett.estrade_at_gmail.com>
Date: Tue, 26 Mar 2024 01:30:39 UTC
On Mon, Mar 25, 2024 at 4:11 PM Sergei Vyshenski <svysh.fbsd@gmail.com>
wrote:

> 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
>

Hi,

In addition to whatever y'all decide about p5-DBD-mysql, I would ensure
that p5-DBD-MariaDB can be installed and working along side it while still
depending on mysql57-client.

A failed workaround when I was hit with this some weeks ago was to use
p5-DBD-MariaDB, but it was being marked as "in conflict" with whatever was
getting pulled in for p5-DBD-mysql. I was not aware of issues with upstream
DBD::MariaDB, but that might cause complications to what I'm suggesting.

My "fix" was to install mysqll57-client from Ports, then an older version
of DBD::mysql from CPAN.

In any case, I appreciate that this is being addressed.

Cheers,
Brett


>
> 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
>>
>>