Commit graph

133 commits

Author SHA1 Message Date
Jochen Neumeister
4e862d56da databases/mysql80-server: fix build with libc++ 19
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.

This causes databases/mysql80-client to fail to compile with clang 19
and libc++ 19, resulting in errors similar to:

    /usr/include/c++/v1/string:820:42: error: implicit instantiation of
undefined template 'std::char_traits<unsigned char>'
      820 |   static_assert(is_same<_CharT, typename
traits_type::char_type>::value,
          |                                          ^
    /wrkdirs/usr/ports/databases/mysql80-client/work/mysql-8.0.39/sql/rpl_log_encryption.h:821:14:
note: in instantiation of template class 'std::basic_string<unsigned
char>' requested here
      821 |   Key_string m_encrypted_password;
          |              ^
    /usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared
here
       23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
          |                             ^

`Key_string` is defined as `std::basic_string<unsigned char>`, which is
no longer possible. So redefine it as a `std::vector<unsigned char>`
instead.

This requires only a few small adjustments in other places: replacing
the `length()` method with the equivalent `size()` method, and adjusting
the arguments for the `assign()` method, which for `std::vector` takes a
begin and end iterator, instead of a begin iterator and a size.

[1]
https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals

PR:	280693
Sponsored by:	Netzkommune GmbH
2024-08-31 17:45:19 +02:00
Jochen Neumeister
e481ca786b databases/mysql80-server: fix build for i386
--- storage/innobase/CMakeFiles/innodb_zipdecompress.dir/all ---
/usr/tmp/net/hal/z/SRC/FreeBSD/ports/MBi/main/databases/mysql80-server/work/mysql-8.0.39/storage/innobase/include/detail/ut/aligned_alloc.h:466:39:
error: no member named 'meta_1' in
'ut::detail::Aligned_alloc_metadata<unsigned int, unsigned int>'
  466 |     auto offset = allocator_metadata::meta_1(data);
      |                   ~~~~~~~~~~~~~~~~~~~~^
/usr/tmp/net/hal/z/SRC/FreeBSD/ports/MBi/main/databases/mysql80-server/work/mysql-8.0.39/storage/innobase/include/detail/ut/aligned_alloc.h:593:25:
error: no member named 'meta_1' in
'ut::detail::Aligned_alloc_metadata<unsigned int, unsigned int>'
  593 |     allocator_metadata::meta_1(ret.first, ret.second);
      |     ~~~~~~~~~~~~~~~~~~~~^
/usr/tmp/net/hal/z/SRC/FreeBSD/ports/MBi/main/databases/mysql80-server/work/mysql-8.0.39/storage/innobase/include/detail/ut/aligned_alloc.h:594:25:
error: no member named 'meta_2' in
'ut::detail::Aligned_alloc_metadata<unsigned int, unsigned int>'
  594 |     allocator_metadata::meta_2(ret.first, size);
      |     ~~~~~~~~~~~~~~~~~~~~^
/usr/tmp/net/hal/z/SRC/FreeBSD/ports/MBi/main/databases/mysql80-server/work/mysql-8.0.39/storage/innobase/include/detail/ut/aligned_alloc.h:655:32:
error: no member named 'meta_2' in
'ut::detail::Aligned_alloc_metadata<unsigned int, unsigned int>'
  655 |     return
allocator_metadata::meta_2(pfs_metadata::deduce_pfs_meta(data));
      |            ~~~~~~~~~~~~~~~~~~~~^
/usr/tmp/net/hal/z/SRC/FreeBSD/ports/MBi/main/databases/mysql80-server/work/mysql-8.0.39/storage/innobase/include/detail/ut/aligned_alloc.h:668:39:
error: no member named 'meta_1' in
'ut::detail::Aligned_alloc_metadata<unsigned int, unsigned int>'
  668 |     auto offset = allocator_metadata::meta_1(pfs_meta);
      |                   ~~~~~~~~~~~~~~~~~~~~^

PR:	280541
Sponsored by:	Netzkommune GmbH
2024-08-31 10:12:55 +02:00
Mikael Urankar
16519bd204 databases/mysql80-server: Fix SIGILL on aarch64
We want to check HWCAP_PMULL not HWCAP_CRC32.

Approved by:	portmgr (trivial runtime fix)
PR:		280165
2024-08-26 10:13:37 +02:00
Oleksii Samorukov
25218e3b20 databases/mysql80-server: Update to 8.0.39
- fixes multiple CVEs
- fixed startup error with large table set

PR: 280455
2024-07-31 10:07:34 +02:00
Dimitry Andric
b49518c5c7 databases/mysql80-server databases/mysql81-server: fix build with libc++ 18 on i386
When building against libc++ 18, several iostream classes now get
inlined into C++ binaries for efficiency. But because the mysql ports
use -malign-double on non-powerpc architectures, this causes an ABI
problem with libc++.so, which has not been built with that flag, at
least on i386. This can cause segfaults during the build of the port.

If it is not the architecture default, as it is on amd64, -malign-double
should not be used without recompiling basically the entire userspace
runtime. Quoting the gcc docs:

> Warning: if you use the -malign-double switch, structures containing
> the above types are aligned differently than the published application
> binary interface specifications for the x86-32 and are not binary
> compatible with structures in code compiled without that switch.

Hence, remove -malign-double from CXXFLAGS for these ports.

PR:		277896
Approved by:    maintainer timeout (2 weeks)
MFH:		2024Q1
2024-04-06 19:20:52 +02:00
Dimitry Andric
bfdc368a6e databases/mysql80-server: fix build with clang 16
Similar to bug 272295, building databases/mysql80-server with clang 16
or higher can result in an error:

  /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.35/boost/boost_1_77_0/boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for the enumeration type 'udt_builtin_mixture_enum' [-Wenum-constexpr-conversion]
     73 |     typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
        |                               ^
  /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.35/boost/boost_1_77_0/boost/mpl/aux_/static_cast.hpp:24:47: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
     24 | #   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
        |                                               ^

This is because the vendored copy of boost in mysql80-server is using
undefined behavior in a possibly constexpr context.

Fix this by unconditionally enabling the "boost workaround" for aux
wrapper value types in integral_wrapper.hpp.

PR:		276749
Approved by:	joneum (maintainer)
MFH:		2024Q1
2024-02-01 20:02:03 +01:00
Muhammad Moinur Rahman
bbab7f59e9 */*: Sunset 12.4-RELEASE/12-STABLE from ports tree
- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64
  ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
- Remove conditionals in Mk/Uses/cabal.mk
- Remove sparc reference from Mk/Uses/qt-dist.mk
- Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64
- Remove BROKEN_FreeBSD_12* from:
- Remove OpenSSL patches from:
- Remove conditional flags for OSVERSION >= 1300000 to fixed flags.
  Also move conditional flags for non sparc64/arm ARCH to fixed flags.

Reviewed by:	brooks, jbeich, rene, salvadore
Differential Revision: https://reviews.freebsd.org/D42068
2023-12-31 01:37:05 +01:00
Jason E. Hale
c38468e169 databases/mysql80-server: Fix client patch phase
This is to fix the patch phase of databases/mysql80-client on i386,
where the extra-patch file could not be located because the relative
path was hardcoded in databases/mysql80-server.

===>  Patching for mysql80-client-8.0.35
===>  Applying extra patch files/extra-patch-boost-boost_1_77_0-boost-move-detail-type_traits.hpp
cat: files/extra-patch-boost-boost_1_77_0-boost-move-detail-type_traits.hpp: No such file or directory
===>  FAILED Applying extra patch files/extra-patch-boost-boost_1_77_0-boost-move-detail-type_traits.hpp
*** Error code 1

Approved by:	portmgr (blanket)
2023-12-24 14:12:49 -05:00
Felix Palmen
81d71f93c3 databases/mysql80-server: Fix build with libressl
Upstream commit d737d2a [1] introduced three code paths for OpenSSL
<1.1, >=3.0 and between, none of which currently works with LibreSSL.
3.x APIs are not yet supported, and the code path for <1.1 directly
accesses struct members that were made opaque in LibreSSL as well.
Finally, the code path for >=1.1 uses DH_new_by_nid() which is missing
from LibreSSL.

Therefore add a patch introducing a fourth code path, doing essentially
the same as the version for OpenSSL <1.1, but using the accessor methods
instead of directly accessing struct members.

Also remove patches for viossl[factories].cc, which aren't needed any
more for current LibreSSL.

[1] d737d2a3ef

Approved by:		joneum (maintainer, via private mail)
Differential Revision:	https://reviews.freebsd.org/D42922
2023-12-13 11:56:43 +01:00
Jochen Neumeister
bbc7f225ad databases/mysql80-server: Fix build
Fix aarch64 (1) and i386 (2) build

Reported by:	fluffy (1)
PR:	274918 (2) Martin Birgmeier <d8zNeCFG@aon.at>

Sponsored by:	Netzkommune GmbH
2023-12-01 06:45:32 +01:00
Jochen Neumeister
6179bcf1cc databases/mysql80-{client, server}: Update to latest release 8.0.35
Changelogs:
8.0.34: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-34.html
8.0.35: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-35.html

Sponsored by:	Netzkommune GmbH
2023-11-19 17:00:25 +01:00
Jan Beich
e55b80195e devel/icu: update to 74.1
Changes:	https://github.com/unicode-org/icu/releases/tag/release-74-1
Reported by:	GitHub (watch releases)
PR:		274317
Exp-run by:	antoine (incomplete)
Approved by:	fluffy
2023-11-17 12:46:00 +01:00
Dimitry Andric
1c1158a520 databases/mysql80-server: fix build with clang/libc++ 17
Building databases/mysql80-server with clang and libc++ 17 results in
the following errors:

  In file included from /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.33/sql/auth/sql_authorization.cc:23:
  In file included from /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.33/sql/auth/sql_authorization.h:26:
  In file included from /usr/include/c++/v1/functional:515:
  In file included from /usr/include/c++/v1/__algorithm/search.h:23:
  /usr/include/c++/v1/__utility/pair.h:613:22: error: invalid operands to binary expression ('const Auth_id' and 'const MYSQL_LEX_CSTRING')
    613 |     return __x.first == __y.first && __x.second == __y.second;
        |            ~~~~~~~~~ ^  ~~~~~~~~~
  /usr/include/c++/v1/__algorithm/find.h:34:41: note: in instantiation of function template specialization 'std::__1::operator==<const Auth_id, Auth_id, MYSQL_LEX_CSTRING, MYSQL_LEX_CSTRING>' requested here
     34 |     if (std::__invoke(__proj, *__first) == __value)
        |                                         ^
  /usr/include/c++/v1/__algorithm/find.h:72:21: note: in instantiation of function template specialization 'std::__find_impl<std::__hash_map_iterator<std::__hash_iterator<std::__hash_node<std::__hash_value_type<Auth_id, Auth_id>, void *> *>>, std::__hash_map_iterator<std::__hash_iterator<std::__hash_node<std::__hash_value_type<Auth_id, Auth_id>, void *> *>>, std::pair<MYSQL_LEX_CSTRING, MYSQL_LEX_CSTRING>, std::__identity>' requested here
     72 |       __first, std::__find_impl(std::__unwrap_iter(__first), std::__unwrap_iter(__last), __value, __proj));
        |                     ^
  /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.33/sql/auth/sql_authorization.cc:6591:11: note: in instantiation of function template specialization 'std::find<std::__hash_map_iterator<std::__hash_iterator<std::__hash_node<std::__hash_value_type<Auth_id, Auth_id>, void *> *>>, std::pair<MYSQL_LEX_CSTRING, MYSQL_LEX_CSTRING>>' requested here
   6591 |       if (find(role_it, role_end, *it) == role_end) {
        |           ^
  [... long list of candidates elided ...]

This is because an equality operator for Role_id and LEX_CSTRING is
missing. Add such an operator to work around the problem.

PR:		274464
Approved by:	joneum (maintainer)
MFH:		2023Q4
2023-10-16 08:27:53 +02:00
Jochen Neumeister
9fd5647e07 databases/mysql80-{client, server}: Update to latest release 8.0.33
Bugs Fixed

    NDB Cluster: Occasional temporary errors which could occur when
opening a table from the NDB dictionary while repeatedly performing
concurrent schema operations were not retried. (Bug #34843889)

    NDB Cluster: During iteration, ordered index scans retain a cursor
position within each concurrently scanned ordered index fragment.
Ordered index fragments are modified and balanced as a result of
committing DML transactions, which can require scan cursors to be moved
within the tree. When running with query threads configured
(AutomaticThreadConfig set to 1), multiple threads can access the same
index fragment tree structure, and the scans of multiple threads can
have their cursors present in the same structure.

    The current issue arose due to an assumption in the logic for moving
scan cursors when committing DML operations that all scan cursors
belonged to the LDM thread owning the index fragment, which did not
allow for the possibility that such fragments might belong to query
threads. (Bug #33379702)

    References: See also: Bug #32257063.

    InnoDB: Dead code removal. (Bug #35036850, Bug #109873)

    InnoDB: Error messages related to innodb_doublewrite moved to the
error log. (Bug #34883045, Bug #109330)

    InnoDB: Prevent online DDL operations from accessing out-of-bounds
memory. (Bug #34750489, Bug #108925)

    InnoDB: ALTER TABLE ... AUTO_INCREMENT could be set to less than MAX
+ 1 and not forced to MAX + 1. (Bug #33419246, Bug #105092)

    InnoDB: Innodb_data_pending_fsyncs could show extremely high
inaccurate values because of a variable overflow. (Bug #30133150)

    Partitioning: Some IN() queries on partitioned tables were not
always handled correctly. (Bug #34801284)

    References: This issue is a regression of: Bug #32311183.

    Partitioning: Queries using the INDEX_MERGE optimizer hint was not
handled correctly in all cases. (Bug #34797257)

    Replication: XA transactions whose XIDs contained null bytes could
not be recovered. (Bug #34918985)

    Replication: When binlog_order_commits was set equal to 1, for any
two transactions and for any sub-step of the commit phase, the
transaction that was written to the binary log first did not always
execute the sub-step first, as expected. (Bug #34703698)

    Replication: Some binary log events were not always handled
correctly. (Bug #34617506)

    Replication: The binary log recovery process did not report all
possible error states. (Bug #33658850)

    Replication: Following CHANGE REPLICATION SOURCE TO
SOURCE_CONNECTION_AUTO_FAILOVER=1, failover generated a number of
misleading warnings in the log that implied there were problems when in
fact conditions were those expected for such a failover. These log
messages have been updated accordingly. (Bug #32135376)

    Replication: When a transaction failed, as a side effect, extraneous
error messages relating the replication data repositories were written
to the log. Now in such cases, we suppress such error messages, which
are not directly related to the issue of the failed transaction or its
cause. (Bug #19820134)

    Replication: Setting binlog_order_commits to OFF could lead to a
missed GTID in the next binary log file's Previous_gtids event.

    Our thanks to Yewei Xu and the Tencent team for the contribution.
(Bug #109485, Bug #34930969)

    Replication: Corrected the SQL statements suggested in the error
message text for ER_RPL_REPLICA_ERROR_RUNNING_QUERY.

    Our thanks to Dan McCombs for the contribution. (Bug #109154, Bug

    Replication: A hash scan builds a hash of changes, scans the target
table or index, and applies any matching change for the current entry.
In the build phase, it uses only the before image, and skips any after
image. Problems arose in some cases because generated columns were
computed for the (skipped) after image, leading to replication errors.
This is fixed by not computing generated columns any longer for
seek-only calls such as hash scans.

    Our thanks to dc huang for the contribution. (Bug #107366, Bug

    Replication: In certain rare cases, it was possible to set
gtid_mode=OFF for one session while another session, after
WAIT_FOR_EXECUTED_GTID_SET() was issued by a user in this second
session, was still waiting for the next GTID set from the first session.
This could result in the second session waiting indefinitely for the
function to return. (Bug #99921, Bug #31505993)

    Group Replication: Accessing the Performance Schema
replication_group_communication_information and
replication_group_member_stats tables in parallel sometimes caused
subsequent group replication operations to hang. (Bug #34870181)

    Group Replication: In certain cases, the group replication secondary
node unexpectedly shut down while purging the relay log. (Bug #34397106)

    Group Replication: When shutting down the Group Replication plugin,
the order in which the associated events were reported the error log
sometimes led to confusion. To remove any doubts, we now make sure that
Plugin group_replication reported: 'Plugin 'group_replication' has been
stopped. is in fact the last log message relating to the shutdown,
written only when all other events associated with shutting down the
plugin have been logged. (Bug #109345, Bug #34887491)

    Microsoft Windows: The authentication_fido_client plugin stopped
responding during the authentication process if it was unable to find a
FIDO device on the Windows client host. (Bug #34918044)

    In certain cases, CONVERT(utf8mb3_column USING UTF16) was rejected
with the error Cannot convert string '\x--...' from binary to utf16.
(Bug #35129361)

    When joining two tables on a string column, and the column from one
of the tables has an additional predicate comparing it with a temporal
literal, constant propagation in some cases incorrectly caused the join
condition to be modified such that it used temporal rather than string
semantics when comparing the strings. This caused incorrect results to
be returned from the join. (Bug #35115909)

    Error messages returned after calling the mysql_reset_connection() C
API function in a prepared statement did not identify the function name
properly. (Bug #35107280)

    Fixed a regression in a previous fix for an issue with windowing
functions.

    Our thanks to Dmitry Lenev for the contribution. (Bug #35061924)

    References: This issue is a regression of: Bug #34572136.

    When replacing subqueries in transforms, the internal flag showing
whether a given query block contains any subqueries (PROP_SUBQUERY) was
not updated afterwards. (Bug #35060385)

    A client setting the character set to an impermissible client
character set (ucs2, utf16, utf16le, or utf32) could cause unexpected
behavior when the client used an authentication plugin. (Bug #35054579)

Changelog:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-33.html

Sponsored by:	Netzkommune GmbH
2023-07-09 17:52:13 +02:00
Po-Chuan Hsieh
5ee3f5d80c
databases/mysql80-client: Fix mysqlclient.pc
- Bump PORTREVISION for package change

Not all supported FreeBSD releases has openssl.pc in base system. This patch
adds a check for openssl.pc. It helps to build databases/py-mysqlclient.

If you do not have openssl.pc from your SSL provider.

Before the fix:
% grep Requires.private: /usr/local/libdata/pkgconfig/mysqlclient.pc
Requires.private: openssl

After the fix:
% grep Requires.private: /usr/local/libdata/pkgconfig/mysqlclient.pc
Requires.private:

The build log [1] of databases/py-mysqlclient without the fix:
===>  Building for py39-mysqlclient-2.2.0
* Getting build dependencies for wheel...
Package openssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `openssl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'openssl', required by 'mysqlclient', not found
Trying pkg-config --exists mysqlclient
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
    main()
  File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
  File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
    return hook(config_settings)
  File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 177, in get_requires_for_build_wheel
    return self._get_build_requires(
  File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 159, in _get_build_requires
    self.run_setup()
  File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup
    exec(compile(code, __file__, 'exec'), locals())
  File "setup.py", line 154, in <module>
    ext_options = get_config_posix(get_options())
  File "setup.py", line 50, in get_config_posix
    cflags = subprocess.check_output(
  File "/usr/local/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/local/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'pkg-config --cflags mysqlclient' returned non-zero exit status 1.

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/py-mysqlclient

Approved by:	portmgr (blanket)
Reference:	https://pkg-status.freebsd.org/beefy16/data/131amd64-default/0f3f003a3111/logs/py39-mysqlclient-2.2.0.log [1]
2023-07-09 18:31:54 +08:00
Toshimichi Masubuchi
567557abbf databases/mysql80-server: fix a issue with protobuf
PR:	270289
Reported by: Ting-Wei Lan <lantw44@gmail.com>
Sponsored by:	Netzkommune GmbH
2023-04-30 20:18:32 +02:00
Piotr Kubaj
a03b7b9dc7 databases/mysql80-server: enable libunwind on powerpc 2023-04-26 14:53:32 +02:00
Jan Beich
f1f1a8be88 devel/icu: update to 73.1
- Temporarily switch to GitHub auto archive (release artifacts are N/A atm)

Changes:	https://github.com/unicode-org/icu/releases/tag/release-73-1
Reported by:	GitHub (watch releases)
PR:		270422
Exp-run by:	antoine
2023-04-13 00:56:37 +00:00
Piotr Kubaj
ba9f8de67e databases/mysql80-server: fix build of client on powerpc
On powerpc, clang miscompiles comp_err, which later fails at runtime with:
->  0x102ff48c <+16>: .long  0x0006ee74                ; unknown opcode
The problem happens because of line:
frame #0: 0x10323eb4 comp_err`set_my_errno(my_errno=-10608) at my_thr_init.cc:344:47

GCC can compile client, but without -malign-double. It also needs to link to
libatomic (so building without GCC installed wouldn't work anyway).

This only fixes client. Server still fails to build because of:
/wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.32/storage/innobase/include/log0sys.h:190:60: error: static assertion failed
  190 |   static_assert(decltype(write_to_file_requests_interval)::is_always_lock_free);
2023-03-02 18:43:16 +00:00
Jochen Neumeister
fea9d2e9a4 databases/mysql80-*: Update to latest release 8.0.32
Bugs Fixed

    Important Change: The implementation of the max_join_size system variable, although documented as a maximum number of rows or disk seeks, did not check the number of rows or disk seeks directly, but instead treated max_join_size as the maximum estimated cost to permit. While cost and row count are correlated, they are not the same, and this could lead to unexpected results when some large queries were allowed to proceed.

    In this release, we change how max_join_size is used, so that it now actually limits the maximum number of row accesses in base tables. If the estimate indicates that a greater number of rows must be read from the base tables, an error is raised. This makes the actual behavior better reflect what is documented. (Bug #83885, Bug #25118903)

    InnoDB: Undetectable problems after upgrade from 8.0.28, crash and corruption.

    Any new row inserted after upgrade will have all columns added with ALGORITHM=INSTANT materialized and have version=0.

    In the new implementation, a column added with ALGORITHM=INSTANT will fail if the maximum possible size of a row exceeds the row size limit. So new rows with materialized ALGORITHM=INSTANT columns will always be within row size limit. (Bug #34558510)

    InnoDB: No more garbled UTF characters in SHOW ENGINE INNODB STATUS

    Thank you Iiwo Panowicz for reporting this bug. (Bug #34486877, Bug #108111)

    InnoDB: After a column added with ALGORITHM=INSTANT, an online rebuild DDL no longer crashes.

    Thank you Qingda Hu for reporting this bug. (Bug #33788578, Bug #106279)

    InnoDB: Several adaptive hash index (AHI) code optimizations and improvements were implemented, addressing various issues including potential race conditions. (Bug #33601434)

    Replication: When SOURCE_HEARTBEAT_PERIOD was set to a very small value (such as 1 microsecond) on the server using CHANGE REPLICATION SOURCE TO, and the mysqlbinlog client program was started with --read-from-remote-server and --stop-never=1, it was possible for the binary log dump thread to send an EOF packet to the client before all events had been sent. (Bug #34860923)

    Replication: Removed an assert from sql/rpl_group_replication.cc which triggered a false error in testing. (Bug #34619134)

    Replication: After MySQL was started with --server-id=0, trying to change the server ID by using SET PERSIST server_id=N (where N is an integer greater than zero) and restarting the server had the following results:

        SELECT @@server_id returned N.

        Any replication SQL statement such as START REPLICA was rejected with ER_SLAVE_CONFIGURATION.

    To fix this problem, we now ensure that such checks use the value of the server variable rather than the value passed to the startup option. (Bug #34412816)

    Replication: When replicating compressed binary log events generated by the NDB binary log injector, relay log positions were not updated in the multithreaded applier, thus causing replication to hang. (Bug #33889030)

    References: See also: Bug #33784241.

    Replication: Issuing STOP REPLICA SQL_THREAD while the SQL thread was handling a transaction caused replication to stop immediately, instead of waiting 60 seconds for the event group to complete before shutting down the SQL thread as expected.

    The root cause of this issue was due to the internal variable storing the last event start time not being reset after the SQL thread was restarted.

    We fix this by resetting the variable holding the last event start time whenever the SQL thread is started. (Bug #33646899)

    Replication: While their wording might imply otherwise, the log messages Setting super_read_only=ON (ER_GRP_RPL_SUPER_READ_ON) and Setting super_read_only=OFF (ER_GRP_RPL_SUPER_READ_OFF) were written only after the operations were attempted, and not beforehand, or while the operations were ongoing. This sometimes led to confusion when setting the variable was rejected, and this was logged prior to the set attempt itself being logged. To keep this from happening, these messages are now logged just prior to attempting the operation. (Bug #108843, Bug #34728079)

    Replication: The relay_log_space_limit system variable is a 64-bit value, but its valid maximum was specified internally as that of a 32-bit value. (Bug #106323, Bug #33799840)

    Replication: Eliminated an unnecessary update of the gtid_executed table which was performed when rotating the binary logs. (Bug #106116, Bug #33759477)

    Group Replication: The WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE column of the MySQL Performance Schema's replication_group_communication_information table reflects the runtime value of a Paxos Single Leader setup in a group, letting users know what the value of group_replication_paxos_single_leader must be on joining members.

    A group that was bootstrapped with single-leader enabled but with its protocol version downgraded to one that did not support it reported WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE equal to 0, as expected, but attempting to join an instance to the group using group_replication_paxos_single_leader = 0 was not possible.

    To solve this problem, we change the behaviour and make the value of group_replication_paxos_single_leader consistent with the communication version that the group is running. Since this variable was introduced in MySQL 8.0.27, it is not known or used in any previous version, and so we now enforce the following rules:

        When a node tries to join a group that is running MySQL 8.0.26 or earlier and we are version 8.0.27 or later, we reject the attempt with an error stating that group_replication_paxos_single_leader must be OFF before joining the group

        When we try to use group_replication_set_communication_protocol() to set a version less than 8.0.27 and we are of version 8.0.27 or later, we reject the function call if group_replication_paxos_single_leader is not OFF.

    In addition, we also change the value checked to determine whether changing the group leader is allowed after running group_replication_set_communication_protocol(). Previously, this was the runtime value of group_replication_paxos_single_leader, which takes effect only after a group reboot. Instead, when we run group_replication_set_communication_protocol(), we now use the value shown by the replication_group_communication_information table's WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE column, described previously. (Bug #34555045, Bug #34828311)

Full Changelog: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-32.html

Sponsored by: Netzkommune GmbH
2023-02-14 07:18:29 +01:00
Guido Falsi
9f33a32191 databases/mysql80-server: Fix build with LLVM15
This Patch fix an LLVM15 Problem on CURRENT

PR:	269442
Reported by:	madpilot
Sponsored by:	Netzkommune GmbH
2023-02-12 02:24:41 +01:00
Jochen Neumeister
6498bc6381 databases/mysql80-*: Unbreak on i386
Fix a issue with i386:
--yplg_out: protoc-gen-yplg: Plugin killed by signal 11.
*** Error code 1

PR: 269203
Sponsored by: Netzkommmune GmbH
2023-02-06 18:51:15 +01:00
Felix Palmen
613e9baa1d databases/mysql80-server: Fix build with libressl
PR:			267672
Approved by:		joneum (maintainer), tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D37673
2022-12-13 18:45:30 +01:00
Jochen Neumeister
eb14b8fae3 databases/mysql*-{client, server}: Remove NDEBUG
As of 3c5189a0fd there shouldn't be a need
to define NDEBUG by hand when using CMake.

Reported by:	dizzy
Sponsored by:	Netzkommune GmbH
2022-12-05 10:06:03 +01:00
Jochen Neumeister
315977f1bd databases/mysql80-server: fix build on armv7
PR:	267422
Sponsored by:	Netzkommune GmbH
2022-12-02 14:14:14 +01:00
Jochen Neumeister
1bc699507c databases/mysql80-server: Update my.cnf.sample
Update deprecated configs in my.cnf.sample

Some configs in my.cnf.sample are now deprecated. These should be replaced with their replacement, or removed if there is no replacement.

- Replace deprecated slave-load-tmpdir with replica-load-tmpdir
- Remove deprecated master-info-repository (it was set to the default)
- Remove deprecated relay-log-info-repository (it was set to the default)
- Replace deprecated expire_logs_days with binlog_expire_logs_seconds (multiply 30 days by 24 * 60 * 60)
- Replace deprecated innodb_log_file_size with innodb_redo_log_capacity (preserving the same configured capacity, which was set to 256M * 2 log files)
- Remove deprecated skip-symbolic-links (it is the default)

PR:	266511
Sponsored by:	Netzkommune GmbH
2022-10-29 17:08:22 +02:00
Jochen Neumeister
a2d4c050c0 databases/mysql80-*: Update to latest release 8.0.31
Bugs Fixed

    Incompatible Change: The service pfs_plugin_table, deprecated since MySQL 8.0.14, is removed in this release.

    Plugins or components using this service must be updated to use pfs_plugin_table_v1 and pfs_plugin_column_* instead. (Bug #34361827)

    Important Change; Replication: Query log events filtered by the default database whenever --replicate-do-db or --replicate-ignore-db was used included XA START, XA END, XA COMMIT, and XA ROLLBACK (but not XA PREPARE or XA COMMIT ONE_PHASE), regardless of the binary log format.

    This can lead to one of the issues listed here:

        When XA START or XA END was filtered out, the sequence of XA statements within the first part of the transaction were rendered invalid, which made the replica stop with an error.

        When XA START and XA END were preserved while XA COMMIT or XA ROLLBACK was filtered out, then a transaction could remain in the prepared state indefinitely on the replica.

    To prevent either of these problems from occurring, we no longer filter XA START, XA END, XA COMMIT, or XA ROLLBACK statements by the default database with --replicate-do-db or --replica-ignore-db. (Bug #106201, Bug #33764808)

    InnoDB: After upgrading to a release that supports row versions for columns added or dropped using ALGORITHM-INSTANT, a failure occurred during an instant ADD COLUMN operation on a table with a nullable column and an instantly added column. (Bug #34488482)

    InnoDB: Adding a virtual column and dropping a column in the same ALTER TABLE statement raised an invalid debug assertion failure. (Bug #34467592)

    InnoDB: The physical position of columns were not set correctly after dropping a column and renaming an existing column to the name of the dropped column. (Bug #34463089)

    InnoDB: A Valgrind error detected in mtr_t::start() was corrected. (Bug #34327575)

    InnoDB: A DDL operation on a corrupted partitioned table raised an assertion failure. (Bug #34293555)

    InnoDB: An index block latch order violation during histogram sampling blocked concurrent inserts and could cause a deadlock failure. (Bug #34282448, Bug #34174927, Bug #107299)

    InnoDB: An ALTER TABLE operation executed while a data load operation was in progress raised an assertion failure. (Bug #34267618)

    InnoDB: InnoDB memory leaks during MySQL server initialization, identified by Address Sanitizer (ASAN) builds, were fixed. (Bug #34156050)

    InnoDB: During recovery, a tablespace object associated with encrypted undo tablespace pages that were fetched from disk did not contain the encryption keys required to decrypt the pages, resulting in a failure. (Bug #34148143)

    InnoDB: In debug builds, a descending b-tree scan raised a debug assertion failure. (Bug #34144951)

    InnoDB: The innodb_redo_log_consumer_advance() function failed to handle an invalid argument. (Bug #34052884)

    InnoDB: A column added using ALGORITHM=INSTANT was visible in read views created before the DDL operation that added the column. (Bug #33937504)

    InnoDB: A failure occurred while upgrading a MySQL instance with a MySQL 5.6 data directory containing user-created table with a particular table ID. Assignment of that table ID resulted in assignment of conflicting data dictionary table IDs while upgrading from MySQL 5.7 to MySQL 8.0.

    Thanks to Rahul Malik for the contribution. (Bug #33919635)

    InnoDB: A buffer block containing intrinsic temporary table page was relocated during page traversal, causing an assertion failure. (Bug #33715694)

    InnoDB: Dropping a table with a discarded tablespace caused an assertion failure. (Bug #33232978)

    InnoDB: Page I/O reads not completed before shutdown reached the flush phase caused an assertion failure in cases where pages had change buffer merges to be completed after the I/O read. (Bug #33192496)

    InnoDB: An index latch order violation in dict_table_x_lock_indexes() caused an assertion failure. (Bug #32912868)

    InnoDB: A TRUNCATE TABLE operation failed to free an acquired mutex in specific cases. (Bug #107858, Bug #34380370)

    InnoDB: In debug builds, importing a tablespace without a .cfg file for table with an instantly added or dropped column raised an assertion failure. (Bug #107517, Bug #34307874)

    InnoDB: A potential memory leak in the trx_undo_prev_version_build() function was corrected.

    Thanks to Alex Xing for the contribution. (Bug #106952, Bug #34051207)

    InnoDB: A debug assertion failure occurred while redoing a space deletion during recovery. (Bug #103482, Bug #32819101)

    InnoDB: An InnoDB startup message that specified the number of object pools was removed to avoid confusion with the number of buffer pool instances. (Bug #80248, Bug #22653060)

See full Changelog here: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-31.html

Sponsored by:	Netzkommune GmbH
2022-10-29 09:45:20 +02:00
Dan Langille
92b5359cdf databases/and_others: Fix rc.d script comment
I found this typo while researching something else. It seems to have
propgated around the tree.

Approved by:	blanket
2022-10-26 16:55:27 +00:00
Jan Beich
dfe25d73e7 devel/icu: update to 72.1
Changes:	https://github.com/unicode-org/icu/releases/tag/release-72-1
Reported by:	GitHub (watch releases)
PR:		266582
Exp-run by:	antoine
2022-10-19 08:10:29 +00:00
Po-Chuan Hsieh
05e7a8b8e1
devel/protobuf: Update to 3.21.7
- Bump PORTREVISION of dependent ports for shlib change

Changes:	https://github.com/protocolbuffers/protobuf/releases
2022-10-09 23:37:51 +08:00
Jochen Neumeister
b5daf80a26 databases/mysql80-*: Update to latest release 8.0.30
PR:	265468

Bugs Fixed:
- InnoDB: A TRUNCATE TABLE operation failed to remove data dictionary entries for columns that were dropped using ALGORITHM=INSTANT.
- InnoDB: An incorrect nullable column calculation on tables with instantly added columns caused data to be interpreted incorrectly
- InnoDB: The read_2_bytes() function in the InnoDB sources, which reads bytes from the log buffer, returned a null pointer.
- Replication: The COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE column in the Performance Schema table replication_group_member_stats could persistently show transactions related to view change events (View_change_log_event) that had already been applied. These events are queued in the Group Replication applier channel but applied in the Group Replication recovery channel, causing a race condition that could result in the counter decrement being lost. The increment of the count now takes place at a more suitable point, and the counter for COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE is also now set to zero when the applier is not busy.
- Debug MySQL binaries can now be built using -0g and -fno-inline.

See full Changelog here: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html

Sponsored by:	Netzkommune GmbH
2022-09-15 16:34:27 +02:00
Stefan Eßer
fb16dfecae Remove WWW entries moved into port Makefiles
Commit b7f05445c0 has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
2022-09-07 23:58:51 +02:00
Stefan Eßer
b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00
Tobias C. Berner
d076ad94e2 databases: remove 'Created by' lines
A big Thank You to the original contributors of these ports:

  *  "Choe, Cheng-Dae" whitekid
  *  "Mahdi Mokhtari <mokhi64@gmail.com>"
  *  "Meikel Brandmeyer" <ocaml-sqlite3-port@kotka.de>
  *  <hvo.pm@xs4all.nl>
  *  <jsmith@resonatingmedia.com>
  *  <ports@c0decafe.net>
  *  Aaron Dalton <aaron@FreeBSD.org>
  *  Adam Weinberger <adamw@FreeBSD.org>
  *  Ade Lovett <ade@FreeBSD.org>
  *  Akinori MUSHA aka knu <knu@idaemons.org>
  *  Alan Snelson <Alan@Wave2.org>
  *  Aldis Berjoza <graudeejs@gmail.com>
  *  Alessando Sagratini <ale_sagra@hotmail.com>
  *  Alex Dupre <ale@FreeBSD.org>
  *  Alex Samorukov <samm@freebsd.org>
  *  Alexander Logvinov <ports@logvinov,com>
  *  Alexander Logvinov <ports@logvinov.com>
  *  Alexander Nedotsukov <bland@FreeBSD.org>
  *  Alexander Novitsky
  *  Alexander Zhuravlev <zaa@zaa.pp.ru>
  *  Alexey Degtyarev <alexey@renatasystems.org>
  *  Alexey Dokuchaev <danfe@FreeBSD.org>
  *  Anders Nordby <anders@fix.no>
  *  Andrei Antoukh <niwi@niwi.be>
  *  Andrew McNaughton <andrew@scoop.co.nz>
  *  Andrew Pantyukhin <infofarmer@FreeBSD.org>
  *  Andrey Kostenko <andrey@kostenko.name>
  *  Andrey Simonenko
  *  Andrey Zakhvatov
  *  Anes Mukhametov <anes@anes.su>
  *  Anton Berezin <tobez@FreeBSD.org>
  *  Anton Berezin <tobez@tobez.org>
  *  Antonio Carlos Venancio Junior (<antonio@inf.ufsc.br>)
  *  Antonio Carlos Venancio Junior (<antonio@php.net>)
  *  Autrijus Tang <autrijus@autrijus.org>
  *  Babak Farrokhi <farrokhi@FreeBSD.org>
  *  Bartek Rutkowski <r@robakdesign.com>
  *  Bernard Spil <brnrd@FreeBSD.org>
  *  Brent J. Nordquist <bjn@visi.com>
  *  Cezary Morga <cm@therek.net>
  *  Cheng-Lung Sung <clsung@FreeBSD.org>
  *  Choe, Cheng-Dae
  *  Chris D. Faulhaber <jedgar@FreeBSD.org>
  *  Chris Larsen <darth@vader.dk>
  *  Damian Gerow <dgerow@afflictions.org>
  *  Daniel O'Connor
  *  Daniel Wijnands <daniel@itxl.nl>
  *  Dave Green <dg@fastmail.co.uk>
  *  David Thiel <lx@FreeBSD.org>
  *  Davíð Steinn Geirsson <david@isnic.is>
  *  Denis Generalov <gd.workbox@gmail.com>
  *  Denis Generalov <gd@rambler-co.ru>
  *  Denis Shaposhnikov <dsh@bamus.cz>
  *  Dermot Tynan <dtynan@kalopa.com>
  *  Dmitry Liakh <dliakh@ukr.net>
  *  Dmitry Sivachenko <demon@FreeBSD.org>
  *  Dmitry Sivachenko <dima@Chg.RU>
  *  Dmitry Sivachenko <mitya@yandex-team.ru>
  *  Domas Mituzas <midom@dammit.lt>
  *  Dominic Mitchell
  *  Don Owens <don@regexguy.com>
  *  Dryice Dong Liu <dryice@dryice.name>
  *  Edwin Groothuis (edwin@mavetju.org)
  *  Eric Freeman <freebsdports@chillibear.com>
  *  Espen Tagestad <espen@tagestad.no>
  *  Espen Volden aka voldern <voldern@hoeggen.net>
  *  Evan Sarmiento <bsdports@wayfair.com>
  *  Fernan Aguero <fernan@iib.unsam.edu.ar>
  *  Frank Wall <fw@moov.de>
  *  Ganbold Tsagaankhuu <ganbold@FreeBSD.org>
  *  Gary Palmer <gpalmer@FreeBSD.org>
  *  Gea-Suan Lin <gslin@gslin.org>
  *  Geraud CONTINSOUZAS <geraud@gcu.info>
  *  Gerrit Beine <tux@pinguru.net>
  *  Greg Larkin <glarkin@FreeBSD.org>
  *  Grzegorz Blach <gblach@FreeBSD.org>
  *  Hansjoerg Pehofer <hansjoerg.pehofer@uibk.ac.at>
  *  Henk van Oers <hvo.pm@xs4all.nl>
  *  Henrik Hodne <henrik@hodne.io>
  *  Hiroyuki Hanai <hanai@FreeBSD.org>
  *  Horia Racoviceanu <horia@racoviceanu.com>
  *  Hye-Shik Chang
  *  Hye-Shik Chang <perky@python.or.kr>
  *  Ilia Chipitsine <ilia@jane.cgu.chel.su>
  *  Ivan Voras <ivoras@FreeBSD.org>
  *  J.F. Dockes
  *  Jaap Boender <jaapb@kerguelen.org>
  *  Jake Smith <jake@xz.cx>
  *  James FitzGibbon <jfitz@FreeBSD.org>
  *  Janos Mohacsi <janos.mohacsi@bsd.hu>
  *  Janos.Mohacsi@bsd.hu
  *  Jason Helfman <jgh@FreeBSD.org>
  *  Jens Rehsack <rehsack@liwing.de>
  *  Jeremy Chadwick <koitsu@FreeBSD.org>
  *  Jev Björsell <ports@ecadlabs.com>
  *  Jim Ohlstein <jim@ohlste.in>
  *  Jin-Shan Tseng <tjs@cdpa.nsysu.edu.tw>
  *  Joe Horn <joehorn@gmail.com>
  *  Joe Marcus Clarke <marcus@FreeBSD.org>
  *  Johannes Meixner <johannes@perceivon.net>
  *  John Chen <johnpupu@gmail.com>
  *  John Marino <marino@FreeBSD.org>
  *  John Merryweather Cooper
  *  John Merryweather Cooper et al
  *  Jon Nistor <nistor@snickers.org>
  *  Jonathan Weiss (<jw@innerewut.de>)
  *  Jose Jachuf <jjachuf@gmail.com>
  *  Joshua D. Abraham <jabra@ccs.neu.edu>
  *  Jov <amutu@amutu.com>
  *  Jov amutu@amutu.com
  *  Jui-Nan Lin <jnlin@freebsd.cs.nctu.edu.tw>
  *  Julien Laffaye <kimelto@gmail.com>
  *  Jyun-Yan You <jyyou@cs.nctu.edu.tw>
  *  Keith Gaughan <k@sterechro.me>
  *  Kevin Bowling <kbowling@freebsd.org>
  *  Kimo <kimor79@yahoo.com>
  *  Kimura Fuyuki <fuyuki@nigredo.org>
  *  Koop Mast <kwm@FreeBSD.org>
  *  Lars Balker Rasmussen <lbr@FreeBSD.org
  *  Lars Balker Rasmussen <lbr@FreeBSD.org>
  *  Lars Eggert <larse@isi.edu>
  *  Lars Thegler <lars@thegler.dk>
  *  Lars Thegler <lth@FreeBSD.org>
  *  Li-Wen Hsu <lwhsu@FreeBSD.org>
  *  Loïc BARTOLETTI
  *  Loïc BARTOLETTI <lbartoletti@FreeBSD.org>
  *  Lubomir Marinov <lubomir_m@abv.bg>
  *  Mahdi Mokhtari <mokhi64@gmail.com>
  *  Mahlon E. Smith <mahlon@martini.nu>
  *  Marc G. Fournier <scrappy@FreeBSD.org>
  *  Mark Felder <feld@FreeBSD.org>
  *  Markus Brueffer <markus@FreeBSD.org>
  *  Martin Matuska <martin@matuska.org>
  *  Martin Matuska <mm@FreeBSD.org>
  *  Martin Wilke <miwi@FreeBSD.org>
  *  Mathieu Arnold <m@absolight.net>
  *  Matthew Seaman
  *  Matthias Andree <mandree@FreeBSD.org>
  *  Matthias Fechner <mfechner@FreeBSD.org>
  *  Matthias Petermann <matthias@petermann-it.de>
  *  Max Khon
  *  Max Khon <fjoe@FreeBSD.org>
  *  Michael Johnson <ahze@FreeBSD.org>
  *  Michael Johnson <ahze@ahze.net>
  *  Michael Winking <mwfp@foldl.net>
  *  Mikael URANKAR and Loïc BARTOLETTI
  *  Mike Carlson (carlson39@llnl.gov)
  *  Mikhail T. <michael@fun-box.ru>
  *  Mikhail Teterin
  *  Mikhail Teterin <mi@aldan.algebra.com>
  *  Mikolaj Golub <trociny@FreeBSD.org>
  *  Mirko Zinn <mail@derzinn.de>
  *  Mohammad S. Babaei <info@babaei.net>
  *  Muhammad Moinur Rahman <bofh@FreeBSD.org>
  *  Nick Hibma <n_hibma@freebsd.org>
  *  Nick Hilliard <nick@foobar.org>
  *  Nick Sayer <nsayer@FreeBSD.org>
  *  Nicola Vitale <nivit@FreeBSD.org>
  *  Nicolas Embriz <nbari@tequila.io>
  *  Nicolas de Bari Embriz <nbari@dalmp.com>
  *  Oleg Sharoiko <os@rsu.ru>
  *  Olexander Melnyk <olexander.v.melnyk@gmail.com>
  *  Oliver Eikemeier <eikemeier@fillmore-labs.com>
  *  Olivier Duchateau <duchateau.olivier@gmail.com>
  *  Palle Girgensohn <girgen@FreeBSD.org>
  *  Palle Girgensohn <girgen@partitur.se>
  *  Palle Girgensohn <girgen@pingpong.net>
  *  Parv <parv@pair.org>
  *  Pete Fritchman <petef@databits.net>
  *  Peter Avalos <pavalos@theshell.com>
  *  Philip M. Gollucci
  *  Philip M. Gollucci <philip@p6m7g8.com>
  *  Philip Stoev <philip.stoev@galeracluster.com>
  *  Pierre-Emmanuel Andre <pea@raveland.org>
  *  Pietro Cerutti <gahr@FreeBSD.org>
  *  Piotr Kubaj <pkubaj@anongoth.pl>
  *  Po-Chuan Hsieh <sunpoet@FreeBSD.org>
  *  Qing Feng <qingfeng@douban.com>
  *  Quinton Dolan <q@onthenet.com.au>
  *  Radim Kolar
  *  Rainer Hurling <rhurlin@gwdg.de>
  *  Rick Miller
  *  Robert Kruus <rob.kruus@gmail.com>
  *  Rod Taylor <ports@rbt.ca>
  *  Roland van Laar <roland@micite.net>
  *  Rong-En Fan <rafan@FreeBSD.org>
  *  Roy Boerner
  *  Rozhuk Ivan <rozhuk.im@gmail.com>
  *  Rusty Nejdl
  *  Ryan Steinmetz <rpsfa@rit.edu>
  *  Ryan Steinmetz <zi@FreeBSD.org>
  *  Ryan T. Dean <rtdean@cytherianage.net>
  *  Sam Lawrance <boris@brooknet.com.au>
  *  Scott McWhirter <scott@surreytech.co.uk>
  *  Seamus Venasse <svenasse@polaris.ca>
  *  Sean Chittenden <seanc@FreeBSD.org>
  *  Sergei Kolobov <sergei@kolobov.com>
  *  Sergei Vyshenski <svysh.fbsd@gmail.com>
  *  Sergey A. Osokin <osa@FreeBSD.org.ru>
  *  Sergey A. Osokin <osa@FreeBSD.org>
  *  Sergey Matveychuk <sem@FreeBSD.org>
  *  Sergey Skvortsov <skv@FreeBSD.org>
  *  Sergey Skvortsov <skv@protey.ru>
  *  Sevan Janiyan <venture37@geeklan.co.uk>
  *  Sheldon Hearn <sheldonh@FreeBSD.org>
  *  Stanislav Svirid <count@211.ru>
  *  Stefan Schmidt <stefan.schmidt@stadtbuch.de>
  *  Steve Wills <swills@FreeBSD.org>
  *  Steve Wills <swills@freebsd.org>
  *  Steven Kreuzer <skreuzer@FreeBSD.org>
  *  Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
  *  Sunpoet Po-Chuan Hsieh <sunpoet@sunpoet.net>
  *  T. William Wells <bill@twwells.com>
  *  TAKATSU Tomonari <tota@FreeBSD.org>
  *  Thierry Thomas (<thierry@pompo.net>)
  *  Thomas Gellekum <tg@FreeBSD.org>
  *  Timur I. Bakeyev <bat@cpan.org>
  *  Tom Judge <tj@FreeBSD.org>
  *  Torsten Zuehlsdorff <ports@toco-domains.de>
  *  Torsten Zuhlsdorff <ports@toco-domains.de>
  *  Toshiya Saitoh (<toshiya@saitoh.nu>)
  *  Tsung-Han Yeh <snowfly@yuntech.edu.tw>
  *  Vasil Dimov <vd@FreeBSD.org>
  *  Veniamin Gvozdikov <vg@FreeBSD.org>
  *  Vladimir Timofeev <vovkasm@gmail.com>
  *  Wen Heping
  *  Wen Heping <wen@FreeBSD.org>
  *  Wen Heping <wenheping@gmail.com>
  *  Wen heping <wenheping@gmail.com>
  *  William Grzybowski <wg@FreeBSD.org>
  *  Xin Li <delphij@FreeBSD.org>
  *  Yarema <yds@CoolRat.org>
  *  Yarema <yds@Necessitu.de>
  *  Yen-Ming Lee <leeym@FreeBSD.org>
  *  Ying-Chieh Liao <ijliao@FreeBSD.org>
  *  Yoichi NAKAYAMA <yoichi@FreeBSD.org>
  *  Yuri Victorovich <yuri@rawbw.com>
  *  Zach Thompson <hideo@lastamericanempire.com>
  *  Zach Thompson <lin-chi@lastamericanempire.com>
  *  ache@FreeBSD.org
  *  alfred
  *  alp@sfedu.ru
  *  andrew@scoop.co.nz
  *  andrey@kostenko.name
  *  chinsan
  *  chinsan <chinsan.tw@gmail.com>
  *  clive
  *  clive@FreeBSD.org
  *  clsung@dragon2.net
  *  dcf@aracnet.com
  *  elvstone@gmail.com
  *  erikhb@bgnett.no
  *  erwin@FreeBSD.org
  *  gahr
  *  ijliao
  *  ijlioa
  *  ivoras
  *  johnpupu <johnpupu@gmail.com>
  *  kirk@daycos.com
  *  kuriyama
  *  lbartoletti <lbartoletti@FreeBSD.org>
  *  loïc bartoletti <lbartoletti@FreeBSD.org>
  *  mharo@FreeBSD.org
  *  michael johnson <ahze@ahze.net>
  *  milki <milki@rescomp.berkeley.edy>
  *  mm@FreeBSD.org
  *  nbm
  *  nectar@FreeBSD.org
  *  nork@FreeBSD.org
  *  nork@cityfujisawa.ne.jp
  *  olevole@olevole.ru
  *  proler@gmail.com
  *  sergey@migsoft.com.ua
  *  sobomax
  *  spam@rm-rf.kiev.ua
  *  stas
  *  tobez
  *  tremere@cainites.net
  *  vanilla
  *  vanilla@
  *  wen@FreeBSD.org
  *  wenheping<wenheping@gmail.com>
  *  wolman@cs.washington.edu
  * # Created by Kevin Bowling <kbowling@FreeBSD.org>
  * # Created by Matthias Fechner <mfechner@FreeBSD.org>

With hat:	portmgr
2022-07-20 16:21:07 +02:00
Loïc Bartoletti
9f0ff92f6d databases/mysql*: fix pkg-plist use share/man
Approved by:	portmgr (blanket)
2022-05-16 08:49:44 +02:00
Jochen Neumeister
4829ae8a53 databases/mysql80-server: Mark als BROKEN on i386 after 10d211b655
cd /wrkdirs/usr/ports/databases/mysql80-server/work/.build/plugin/x/protocol/plugin && /usr/local/bin/protoc --plugin=protoc-gen-yplg=/wrkdirs/usr/ports/databases/mysql80-server/work/.build/runtime_output_directory/xprotocol_plugin --yplg_out /wrkdirs/usr/ports/databases/mysql80-server/work/.build/plugin/x/generated -I /usr/local/include -I /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_connection.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_crud.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_cursor.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_datatypes.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_expect.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_expr.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_notice.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_prepare.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_resultset.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_session.proto /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.29/plugin/x/protocol/protobuf/mysqlx_sql.proto
--yplg_out: protoc-gen-yplg: Plugin killed by signal 11.
*** Error code 1

A solution is being worked on

Sponsored by:	Netzkommune GmbH
2022-05-03 19:16:44 +02:00
Jochen Neumeister
0517374e45 databases/mysql80-{client, server}: Update to latest release 8.0.29
Bugs Fixed

    InnoDB: A failure occurred when attempting to purge undo records for a table with an instantly added column. (Bug #33924532)

    InnoDB: High-priority transactions were not permitted to stop waiting when interrupted or to timeout while waiting for a lock, preventing deadlocks from being resolved. In cases where the blocking transaction is also high-priority, high-priority transactions are now permitted to stop waiting when interrupted or timeout when exceeding the lock wait timeout period. If a blocking transaction is not high-priority, high-priority transactions wait for the blocking transaction to release its locks. (Bug #33856332)

    InnoDB: The AIO synchronization queue used on Windows was removed. The synchronous file I/O read-write function (SyncFileIO::execute) was revised to handle files opened for both normal and overlapped I/O, as it does on Linux. (Bug #33840645)

    InnoDB: Table version metadata was not reset after truncating all partitions of a table with an instantly added column. (Bug #33822729)

    InnoDB: The srv_error_monitor_thread() function, which prints warnings about semaphore waits, failed to handle a long semaphore wait as expected. To address this issue, a blocking call was moved to a more appropriate location. Related monitor thread code was simplified and improved, and missing shutdown signals were added for several server threads.

    Enabling and disabling of the standard monitor by InnoDB is now performed independently of the user-settable innodb_status_output variable. This change addresses an issue in which the monitor was enabled by InnoDB in a particular scenario but not set back to its previous value. Thanks to Yuhui Wang for the contribution. (Bug #33789526, Bug #93878)

    InnoDB: Valgrind testing identified an off-by-one error in rec_convert_dtuple_to_rec_old() in the InnoDB sources. (Bug #33784672)

    InnoDB: The UNIV_DEBUG variant of the mem_heap_alloc() function in the InnoDB sources was modified to improve Valgrind error detection. (Bug #33783709)

    InnoDB: A fast shutdown did not wait for all active I/O operations to finish before closing all files. (Bug #33768584)

    InnoDB: A Clang warning reported an incorrectly placed @return command. (Bug #33734011)

    InnoDB: Values of the new record locks array (m_prebuilt->new_rec_locks[]) were not properly synchronized when switching between partitions, causing an assertion failure due to locks being freed or not freed as expected. (Bug #33724166)

    InnoDB: A race condition in the function that updates the double write buffer when a write request is completed caused a long semaphore wait error. (Bug #33712370)

    InnoDB: A function wrongly assumed that changing a record in an indexed column always requires creating a new record in the secondary index, resulting in an lock-related assertion failure. To address this and other similar cases, the lock_rec_convert_impl_to_expl() function that converts an implicit record lock to an explicit record lock is now used only when an implicit record lock is actually held. (Bug #33657235)

    InnoDB: A number of Doxygen issues in the InnoDB sources were addressed. (Bug #33603036)

    InnoDB: A missing null pointer check for an index instance caused a failure. (Bug #33600109)

Full (and long) relnotes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-29.html

Sponsored by:	Netzkommune GmbH
2022-05-03 18:58:49 +02:00
Po-Chuan Hsieh
10d211b655
devel/protobuf: Update to 3.20.0
- Bump PORTREVISION of dependent ports for shlib change

Changes:	https://github.com/protocolbuffers/protobuf/releases
2022-04-16 12:19:07 +08:00
Jan Beich
cc10a1d087 databases/mysql80-server: restore indentation after 268cee3b02
PR:		262654
2022-04-08 04:34:44 +00:00
Jan Beich
268cee3b02 devel/icu: update to 71.1
Changes:	https://github.com/unicode-org/icu/releases/tag/release-71-1
Reported by:	GitHub (watch releases)
PR:		262654
Exp-run by:	antoine
Approved by:	fluffy
2022-04-07 00:39:10 +00:00
Jochen Neumeister
8db2be1cbd databases/mysql80-*: Fix build with LibreSSL
PR:	261164
Sponsored by:	Netzkommune GmbH
2022-03-05 11:20:14 +01:00
Po-Chuan Hsieh
f7e42ce5d5
devel/protobuf: Update to 3.19.4
- Bump PORTREVISION of dependent ports for shlib change

Changes:	https://github.com/protocolbuffers/protobuf/releases
2022-02-28 20:46:46 +08:00
Daniel O'Connor
b042a3d8ca databases/mysql80-server: Fix build on aarch64
- Replace getauxval with the FreeBSD variant (elf_aux_info)
  - ifdef some gcc'ism and pass the correct cflags for clang

Approved by:	portmgr (build fix blanket)
PR:		261660
2022-02-27 18:12:20 +01:00
Dima Panov
c4ac829e97 databases/mysql80-server: bring back mysql_secure_installation (+)
Typo in patchfile leads to skip mysql_secure_installation.
Bring it back.

PR:		262123
Submitted by:	amdmi3
Approved by:	joneum (implicit)
2022-02-22 22:36:22 +03:00
Jochen Neumeister
8f38dec292 databases/mysql80-server: Fix typo
Sponsored by:	Netzkommune GmbH
2022-02-10 23:13:12 +01:00
Jochen Neumeister
b8d235ae4f databases/mysql80-*: Update to 8.0.28
Changelog: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-28.html

Sponsored by:	Netzkommune GmbH
2022-01-28 16:32:16 +01:00
Stefan Eßer
bcaf25a8c8 Fix CONFLICTS entries of multiple ports
There have been lots of missing CONFLICTS_INSTALL entries, either
because conflicting ports were added without updating existing ports,
due to name changes of generated packages, due to mis-understanding
the format and semantics of the conflicts entries, or just due to
typoes in package names.

This patch is the result of a comparison of all files contained in
the official packages with each other. This comparison was based on
packages built with default options and may therefore have missed
further conflicts with optionally installed files.

Where possible, version numbers in conflicts entries have been
generalized, some times taking advantage of the fact that a port
cannot conflict with itself (due to logic in bsd.port.mk that
supresses the pattern match result in that case).

A few ports that set the conflicts variables depending on complex
conditions (e.g. port options), have been left unmodified, despite
probably containing outdated package names.

These changes should only affect the installation of locally built
ports, not the package building with poudriere. They should give an
early indication of the install conflict in cases where currently
the pkg command aborts an installation when it detects that an
existing file would be overwritten,

Approved by:	portmgr (implicit)
2022-01-10 16:15:39 +01:00
Jochen Neumeister
a025389152 databases/mysql80-server: add patch for malloc-lib
forked from mysql57-server: https://svnweb.freebsd.org/changeset/ports/548590
Log:
  MySQL 5.7 mysqld_safe allows malloc-lib files only in certain locations.
  google-perftools port puts libtcmalloc_minimal.so inside /usr/local/lib
  To use tcmalloc memory allocator we need mysqld_safe to load libraries from /usr/local/lib

  More information about why to use tcmalloc instead of jemalloc here:

  https://forums.freebsd.org/threads/freebsd-12-x-and-mysql-5-7-and-importing-file-with-lots-of-small-lines-exhaust-ram-and-swap.72733/

PR:	259816
Sponsored by:	Netzkommune GmbH
2022-01-07 13:13:17 +01:00
Stefan Eßer
04b9da4140 */*: Remove redundant '-*' from CONFLICTS definitions
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").

Approved by: portmgr (blanket)
2021-11-25 22:40:11 +01:00
Jochen Neumeister
ea739e8990 databases/mysql80-*: Update to 8.0.27
Release Notes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-27.html

Sponsored by:	Netzkommune GmbH
2021-11-25 08:17:30 +01:00