Completely do away with MySQL dependencies after migrating to MariaDB

0 views
Skip to first unread message

Washington Odhiambo

unread,
Dec 19, 2025, 6:50:44 AM (4 days ago) Dec 19
to questions
I my /etc/make.conf, I have:
DEFAULT_VERSIONS+= python=3.11 python3=3.11 pgsql=15 ssl=openssl mysql=11.4m mariadb=11.4

I still suffer from some pkgs wanting to install MySQL client libraries by force :-)

How do I stop them once and for all?


root@gw:/home/wash # pkg upgrade
Updating FreeBSD-ports-kmods repository catalogue...
Fetching data.pkg: 100%   34 KiB  35.1kB/s    00:01
Processing entries: 100%
FreeBSD-ports-kmods repository update completed. 238 packages processed.
Updating FreeBSD-base repository catalogue...
Fetching data.pkg: 100%   80 KiB  81.5kB/s    00:01
Processing entries: 100%
FreeBSD-base repository update completed. 496 packages processed.
Updating FreeBSD-ports repository catalogue...
Fetching data.pkg: 100%   11 MiB   2.8MB/s    00:04
Processing entries: 100%
FreeBSD-ports repository update completed. 36978 packages processed.
All repositories are up to date.
Checking for upgrades (84 candidates): 100%
Processing candidates (84 candidates): 100%
The following 85 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        mysql80-client: 8.0.44 [FreeBSD-ports]
        p5-DBD-mysql: 5.008 [FreeBSD-ports]

Installed packages to be UPGRADED:
        FreeBSD-kernel-generic: 15.0 -> 15.0p1 [FreeBSD-base]
        FreeBSD-rescue: 15.0 -> 15.0p1 [FreeBSD-base]
        FreeBSD-runtime: 15.0 -> 15.0p1 [FreeBSD-base]
        FreeBSD-src: 15.0 -> 15.0p1 [FreeBSD-base]
        FreeBSD-src-sys: 14.2 -> 15.0p1 [FreeBSD-base]
        FreeBSD-utilities: 15.0 -> 15.0p1 [FreeBSD-base]
        apache24: 2.4.65_1 -> 2.4.66 [FreeBSD-ports]
        autoconf: 2.72 -> 2.72_1 [FreeBSD-ports]
        automake: 1.17 -> 1.18.1 [FreeBSD-ports]
        bash: 5.3.8_1 -> 5.3.9 [FreeBSD-ports]
        bastille: 1.2.0.251201 -> 1.2.2.251204 [FreeBSD-ports]
        c-ares: 1.34.5 -> 1.34.6 [FreeBSD-ports]
        cmake: 3.31.9 -> 3.31.10 [FreeBSD-ports]
        cmake-core: 3.31.9 -> 3.31.10 [FreeBSD-ports]
        cmake-doc: 3.31.9 -> 3.31.10 [FreeBSD-ports]
        cmake-man: 3.31.9 -> 3.31.10 [FreeBSD-ports]
        compat14x-amd64: 14.2.1402000.20251120 -> 14.2.1402000.20251120_1 [FreeBSD-ports]
        crowdsec: 1.7.3_2 -> 1.7.4 [FreeBSD-ports]
        cups: 2.4.15_1 -> 2.4.16 [FreeBSD-ports]
        dav1d: 1.5.1_1 -> 1.5.2 [FreeBSD-ports]
        fontconfig: 2.15.0_3,1 -> 2.17.1,1 [FreeBSD-ports]
        gettext-runtime: 0.23.1 -> 0.26 [FreeBSD-ports]
        gettext-tools: 0.23.1_1 -> 0.26 [FreeBSD-ports]
        ghostscript10: 10.06.0 -> 10.06.0_1 [FreeBSD-ports]
        git: 2.51.2 -> 2.52.0 [FreeBSD-ports]
        glslang: 16.0.0 -> 16.1.0 [FreeBSD-ports]
        graphviz: 14.0.5 -> 14.0.5_1 [FreeBSD-ports]
        gstreamer1: 1.26.8 -> 1.26.9 [FreeBSD-ports]
        harfbuzz: 10.3.0 -> 12.2.0 [FreeBSD-ports]
        harfbuzz-icu: 10.3.0 -> 12.2.0 [FreeBSD-ports]
        hwdata: 0.401,1 -> 0.402,1 [FreeBSD-ports]
        libatomic_ops: 7.8.0 -> 7.10.0 [FreeBSD-ports]
        libdatrie: 0.2.14 -> 0.2.14_1 [FreeBSD-ports]
        libdrm: 2.4.123,1 -> 2.4.131,1 [FreeBSD-ports]
        libgit2: 1.9.1 -> 1.9.2 [FreeBSD-ports]
        libgpg-error: 1.56 -> 1.58 [FreeBSD-ports]
        libgsf: 1.14.53_1 -> 1.14.54 [FreeBSD-ports]
        libtextstyle: 0.23.1 -> 0.26 [FreeBSD-ports]
        libthai: 0.1.29_1 -> 0.1.29_2 [FreeBSD-ports]
        libzip: 1.11.2 -> 1.11.4 [FreeBSD-ports]
        luajit: 2.1.0.20251116 -> 2.1.0.20251208 [FreeBSD-ports]
        nss: 3.118.1 -> 3.119.1 [FreeBSD-ports]
        nushell: 0.108.0_1 -> 0.109.1 [FreeBSD-ports]
        oath-toolkit: 2.6.9_2 -> 2.6.13 [FreeBSD-ports]
        openjdk18: 18.0.2+9.1_4 -> 18.0.2+9.1_5 [FreeBSD-ports]
        openjdk19: 19.0.2+7.1_3 -> 19.0.2+7.1_4 [FreeBSD-ports]
        openjdk20: 20.0.2+9.1_2 -> 20.0.2+9.1_3 [FreeBSD-ports]
        openjpeg: 2.5.4 -> 2.5.4_1 [FreeBSD-ports]
        pciids: 20251130 -> 20251206 [FreeBSD-ports]
        pinentry: 1.3.2 -> 1.3.2_1 [FreeBSD-ports]
        png: 1.6.50 -> 1.6.52 [FreeBSD-ports]
        poppler: 25.04.0_2 -> 25.10.0 [FreeBSD-ports]
        poppler-glib: 25.04.0_2 -> 25.10.0 [FreeBSD-ports]
        public_suffix_list: 20251117 -> 20251204 [FreeBSD-ports]
        py311-gi-docgen: 2025.4 -> 2025.5 [FreeBSD-ports]
        py311-greenlet: 3.2.4 -> 3.3.0 [FreeBSD-ports]
        py311-pdftotext: 3.0.0_3 -> 3.0.0_4 [FreeBSD-ports]
        py311-platformdirs: 4.5.0 -> 4.5.1 [FreeBSD-ports]
        py311-psycopg-pool: 3.2.8 -> 3.3.0 [FreeBSD-ports]
        py311-publicsuffix2: 2.20191221_70 -> 2.20191221_71 [FreeBSD-ports]
        py311-python-socks: 2.7.3 -> 2.8.0 [FreeBSD-ports]
        py311-rpds-py: 0.29.0 -> 0.30.0 [FreeBSD-ports]
        py311-trove-classifiers: 2025.11.14.15 -> 2025.12.1.14 [FreeBSD-ports]
        py311-urllib3: 2.5.0,1 -> 2.6.0,1 [FreeBSD-ports]
        pylint-py311: 4.0.3 -> 4.0.4 [FreeBSD-ports]
        qemu-guest-agent: 10.1.2_1 -> 10.1.3 [FreeBSD-ports]
        redis: 8.4.0 -> 8.4.0_1 [FreeBSD-ports]
        rubygem-iconv: 1.1.0 -> 1.1.1 [FreeBSD-ports]
        rubygem-json: 2.16.0 -> 2.17.1 [FreeBSD-ports]
        rubygem-pkg-config: 1.6.4 -> 1.6.5 [FreeBSD-ports]
        rubygem-public_suffix: 7.0.0 -> 7.0.0_1 [FreeBSD-ports]
        rubygem-rubocop-rails: 2.34.1 -> 2.34.2 [FreeBSD-ports]
        rubygem-sqlite3: 2.8.0 -> 2.8.1 [FreeBSD-ports]
        rubygem-stringio: 3.1.8 -> 3.1.9 [FreeBSD-ports]
        texinfo: 7.2_2,1 -> 7.2_3,1 [FreeBSD-ports]
        texlive-base: 20250308_2 -> 20250308_3 [FreeBSD-ports]
        vips: 8.17.3 -> 8.17.3_1 [FreeBSD-ports]

Installed packages to be REINSTALLED:
        opendmarc-1.4.2_4 [FreeBSD-ports] (options changed)
        p5-DBD-MariaDB-1.23 [FreeBSD-ports] (direct dependency changed: mysql80-client)
        p5-DBD-mysql4-4.052 [FreeBSD-ports] (direct dependency changed: mysql80-client)
        pure-ftpd-1.0.52_1 [FreeBSD-ports] (options changed)
        sogo-mysql-5.12.4 [FreeBSD-ports] (options changed)
        sope-mysql-5.12.4 [FreeBSD-ports] (direct dependency changed: mysql80-client)

Number of packages to be installed: 2
Number of packages to be upgraded: 77
Number of packages to be reinstalled: 6

The process will require 120 MiB more space.
985 MiB to be downloaded.

Proceed with this action? [y/N]:

--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
 In an Internet failure case, the #1 suspect is a constant: DNS.
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)

Matthew Seaman

unread,
Dec 19, 2025, 7:19:02 AM (4 days ago) Dec 19
to ques...@freebsd.org
On 19/12/2025 11:49, Washington Odhiambo wrote:
> I my /etc/make.conf, I have:
> DEFAULT_VERSIONS+= python=3.11 python3=3.11 pgsql=15 ssl=openssl
> mysql=11.4m mariadb=11.4
>
> I still suffer from some pkgs wanting to install MySQL client libraries by
> force :-)
>
> How do I stop them once and for all?
>
>
> root@gw:/home/wash # pkg upgrade
> Updating FreeBSD-ports-kmods repository catalogue...
> Fetching data.pkg: 100% 34 KiB 35.1kB/s 00:01
> Processing entries: 100%
> FreeBSD-ports-kmods repository update completed. 238 packages processed.
> Updating FreeBSD-base repository catalogue...
> Fetching data.pkg: 100% 80 KiB 81.5kB/s 00:01
> Processing entries: 100%
> FreeBSD-base repository update completed. 496 packages processed.
> Updating FreeBSD-ports repository catalogue...

Setting DEFAULT_VERSIONS in make.conf has no effect on pkgs installed
from the central package repositories -- those will have whatever the
default DEFAULT_VERSIONS settings are compiled into them.

If you want to switch to everything depending on mariadb, rather than
Oracle-flavoured mysql you're going to need to compile your own packages
I'm afraid. It's not particularly difficult to spin up a poudriere
instance and so long as you don't need anything depending on rust or
llvm or various other tedious-to-compile packages, you can get away with
suprisingly few system resources.

Poudriere allows setting a custom make.conf for your home-brewed
packages and custom options choices for the packages you build. Also,
if you use poudriere-devel you can set it to download dependency
packages from the main repositories when remote settings do not conflict
with your local changes.

This 'compiled-in' inflexibility of pkgs is a recognised problem, but
fixing it requires some radical changes to the way ports works and also
needs modifications to pkg(8).

Cheers,

Matthew

OpenPGP_signature.asc
Reply all
Reply to author
Forward
0 new messages