MySQL Shell is an open-source, modern command-line tool for MySQL
that provides an interactive environment to run SQL and scripts
(using JavaScript, Python, or SQL) and to manage and automate core
MySQL database tasks
MySQL Shell on FreeBSD supports the SQL (\sql) and Python (\py) modes,
both the classic MySQL protocol and the X protocol, as well as the
AdminAPI and the bundled Python plugins.
The JavaScript mode (\js) is not available: upstream implements it on
top of the GraalVM polyglot runtime, which has not been ported to
FreeBSD yet.
databases/mysql-shell: Update the bundled MySQL sources to 9.7.4
The port builds its own copy of the MySQL source tree for the static
client libraries and carried the vulnerabilities of 9.7.1. There is no
source tarball of the shell itself after 9.7.1, the next one is
26.10.0, so only the bundled sources move, by way of a separate
MYSQL_DISTVERSION.
Take the server tarball from the MYSQL mirror, the archive holds only
releases that are no longer current.
Build the inner tree with WITH_FIDO=none and
WITH_AUTHENTICATION_WEBAUTHN=OFF: the bundled libfido2 1.15.0 does not
compile here, and with the system one the shell looks for a bundled
copy next to the plug-ins. The package contents are unchanged.
Drop the tag_plain.h hunk of mysql-server.patch, upstream as of 9.7.4,
and add the cstdlib include for backup_page_tracker.cc. Include
pthread.h in uuid_gen.cc, upstream does so for Apple only. Both are
needed on FreeBSD 16.
Security: 24aa87c0-d452-11f1-bae2-3497f65b111b
Sponsored by: Netzkommune GmbH
MFH: 2026Q4
databases/mysql-shell: Fix build of the bundled MySQL 9.7.1 sources
Add two includes that no longer come in transitively: <type_traits>
in libs/mysql/gtid/tag_plain.h and <cstdlib> in router/src/harness/
src/stdx/filesystem.cc.
Reported by: pkg-fallout
Sponsored by: Netzkommune GmbH
databases/mysql-shell: Add maintainer note per new ports policy
The maintainer load and port lifecycle policy only excludes a port from the
outdated ratio when the reason is documented in the port itself:
https://wiki.freebsd.org/Ports/MaintainerLoadAndPortLifecyclePolicy
The shell is versioned along with the MySQL release series it belongs to, but
repology measures it against the newest train upstream ships. At the time of
writing it lists 26.7.1 as the newest version and reports this port as
outdated, although 9.7.1 is the current release for the series packaged here.
No functional change, comment only.
Sponsored by: Netzkommune GmbH
databases/mysql-shell: Add New Port
MySQL Shell is an advanced client and code editor for MySQL with
support for SQL and Python scripting, both the classic and the
X protocol, and the AdminAPI. It builds its own copy of the MySQL
9.7.1 source tree to obtain the static client libraries.
JavaScript mode is not available since the GraalVM polyglot runtime
has not been ported to FreeBSD; see pkg-message.
PR: 291004
Co-authored-by: Daniel van Eeden <freebsd@myname.nl>
Co-authored-by: Dan Langille <dvl@FreeBSD.org>
Sponsored by: Netzkommune GmbH
databases/mysql-shell: Add New Port
(Only the first 15 lines of the commit message are shown above )