Re: git: f473a726dba2 - main - devel/apr1: Update to 1.7.3

From: Bernard Spil <brnrd_at_freebsd.org>
Date: Sun, 02 Apr 2023 11:07:51 UTC
On 2023-04-02 12:58, Dima Panov wrote:
> Moin-moin!
> 
> Oh, sorry, wrong jail.
> 
> Error exists with not mysql8 but percona57, which have defined typedef 
> char my_bool;
> 
> 
> 
> On 02.04.2023 13:49, Dima Panov wrote:
>> 
>> 
>> On 01.04.2023 18:45, Bernard Spil wrote:
>>> The branch main has been updated by brnrd:
>>> 
>>> URL: 
>>> https://cgit.FreeBSD.org/ports/commit/?id=f473a726dba249ec936d340b8b1167ce5996bd30
>>> 
>>> commit f473a726dba249ec936d340b8b1167ce5996bd30
>>> Author:     Bernard Spil <brnrd@FreeBSD.org>
>>> AuthorDate: 2023-04-01 15:42:03 +0000
>>> Commit:     Bernard Spil <brnrd@FreeBSD.org>
>>> CommitDate: 2023-04-01 15:42:03 +0000
>>> 
>>>      devel/apr1: Update to 1.7.3
>>>       * Update APR-util to 1.6.3
>>>       * Fix build with MySQL 8 [2]
>>>       * databases/db5 is depreacated since 2022-06-30 [3]
>>>       * Switch default BDB to 18
>>>      PR:             269857, 230538 [2], 261523 [3]
>>>      Submitted by:   ngie
>>>      With hat:       apache
>> 
>>> diff --git a/devel/apr1/files/patch-PR59332 
>>> b/devel/apr1/files/patch-PR59332
>>> new file mode 100644
>>> index 000000000000..781d41e852dd
>>> --- /dev/null
>>> +++ b/devel/apr1/files/patch-PR59332
>>> @@ -0,0 +1,18 @@
>>> +See https://bz.apache.org/bugzilla/show_bug.cgi?id=59332
>>> +
>>> +Also reported in PR230538 devel/apr1 fails with mysql80-client
>>> +
>>> +--- apr-util-1.6.3/dbd/apr_dbd_mysql.c.orig    2023-01-27 13:32:52 
>>> UTC
>>> ++++ apr-util-1.6.3/dbd/apr_dbd_mysql.c
>>> +@@ -44,6 +44,11 @@
>>> + #include <errmsg.h>
>>> + #endif
>>> +
>>> ++#if !defined(HAVE_TYPE_MY_BOOL) && !defined(LIBMARIADB)
>>> ++#include <stdbool.h>
>>> ++typedef bool my_bool;
>>> ++#endif
>>> ++
>>> + #include "apr_strings.h"
>>> + #include "apr_lib.h"
>>> + #include "apr_buckets.h"
>> 
>> Mysql8 defines it as char instead.
>> 
>> dbd/apr_dbd_mysql.c:49:14: error: typedef redefinition with different 
>> types ('bool' vs 'char')
>> typedef bool my_bool;
>>               ^
>> /usr/local/include/mysql/mysql.h:49:14: note: previous definition is 
>> here
>> typedef char my_bool;
>>               ^
>> dbd/apr_dbd_mysql.c:1271:5: warning: call to undeclared function 
>> 'my_init'; ISO C99 and later do not support implicit function 
>> declarations [-Wimplicit-function-declaration]
>>      my_init();
>>      ^
>> 1 warning and 1 error generated.
>> 

This patch allows us to move the default MySQL implementation on FreeBSD 
from unsupported/EoL MySQL 5.7 to MySQL 8. It's a right mess, MariaDB 
also defines my_bool as char hence the !defined(LIBMARIADB).

Apparently Percona still supports a 5.7 variant. Please provide a patch 
that fixes Percona and does NOT break MySQL 8, MariaDB 10.x so we can 
amend the existing patch.

With kind regards, Bernard Spil (with hat apache)