Re: Uh, what's this? (PKGBASE implication)

Alexander Leidinger <[email protected]>
Newsgroups gmane.os.freebsd.devel.hackers
Organization No organization, this is a private message.
Message-ID <[email protected]>
Am 2026-04-02 18:08, schrieb Karl Denninger:

> On 4/2/2026 07:54, Tomoaki AOKI wrote:
> 
> On Thu, 2 Apr 2026 07:41:21 -0400
> Karl Denninger <[email protected]> wrote:
> 
> I did not let this proceed as I really don't feel like having a mess to
> un-mess....
> 
> [root@NewFS /home/karl]# uname -v
> FreeBSD 14.4-STABLE #31 stable/14-n273840-e5ed09ffd592-dirty: Thu Mar 
> 26
> 11:17:07 EDT 2026
> [email protected]:/usr/obj/usr/src/amd64.amd64/sys/GENERIC
> 
> [root@NewFS /home/karl]# pkg upgrade
> Updating FreeBSD repository catalogue...
> FreeBSD repository is up to date.
> Updating FreeBSD-kmods repository catalogue...
> FreeBSD-kmods repository is up to date.
> All repositories are up to date.
> Checking for upgrades (255 candidates): 100%
> Processing candidates (255 candidates): 100%
> The following 13 package(s) will be affected (of 0 checked):
> 
> New packages to be INSTALLED:
> mysql84-client: 8.4.8 [FreeBSD]
> 
> Installed packages to be UPGRADED:
> ffmpeg: 8.0.1_5,1 -> 8.1,1 [FreeBSD]
> harfbuzz: 13.1.1 -> 13.2.1 [FreeBSD]
> mpc: 1.3.1_1 -> 1.4.0 [FreeBSD]
> mysql80-client: 8.0.45 -> 8.0.45_1 [FreeBSD]
> nmap: 7.98_1 -> 7.99_1 [FreeBSD]
> openexr: 3.4.5 -> 3.4.8 [FreeBSD]
> perl5: 5.42.1 -> 5.42.2 [FreeBSD]
> 
> Installed packages to be REINSTALLED:
> cacti-php83-1.2.30 [FreeBSD] (direct dependency changed:
> mysql84-client)
> libass-0.17.4 [FreeBSD] (direct dependency changed: libunibreak)
> libv4l-1.23.0_5 [FreeBSD] (direct dependency changed: libudev-devd)
> libvdpau-1.5 [FreeBSD] (direct dependency changed: libXext)
> mpfr-4.2.2,1 [FreeBSD] (direct dependency changed: indexinfo)
> 
> Number of packages to be installed: 1
> Number of packages to be upgraded: 7
> Number of packages to be reinstalled: 5
> 
> The process will require 108 MiB more space.
> 84 MiB to be downloaded.
> 
> Proceed with this action? [y/N]:
> 
> Uh, that's a "no" :-)
> 
> mysql84-client is going to shove things in the same place as mysql80,
> which it also wants to upgrade the version of.  I also have the server
> loaded; a prior "upgrade" attempt yesterday wanted to upgrade both of
> those, but there are also several other dependencies (e.g. php modules)
> which it DID NOT want to upgrade, and that's a potentially-serious
> problem, and I'm also concerned about cacti which it wants to touch 
> too.
> 
> --
> Karl Denninger
> [email protected]
> /The Market Ticker/
> /[S/MIME encrypted email preferred]/
> 
> See corresponding UPDATING entry dated 20260326.
> Stick with 80 or switch to 84.
> 
> https://github.com/freebsd/freebsd-ports/blob/main/UPDATING#L60
> 
> But not sure if DEFAULT_VERSIONS in /etc/make.conf works
> on pre-built pkg upgrades.
> 
> I myself don't use mysql (having client installed as an "automatic"
> depencencies of something, though), so not 100% sure it works OK or
> not, switching client alone possibly help.
> 
> Client are more depended upon by others compared with server.
> 
> Regards.

Apologizes for the less-than-clear subject line, but this has 
implications for PKGBASE which is why I put it here on the list.

A "back-dependence" such as this, if you approve it, will abort because 
the new version of the client (in this case) tries to install into an 
existing location for the other version, which is already there and is 
not being deleted first, and as a result it fails.  That operation is 
non-atomic and thus if it hits something that the system needs you got 
trouble (particularly if you didn't use bectl/beadm first!) as now you 
have part of whatever you updated in place but not all of it, nor does 
it roll it all back if any part of the install sequence fails.

I have jails where it does not matter for me which mysql client is used. 
I acknowledged the update, and it works. After the initial 
acknowledgement it downloads and inspects the packages, and as conflicts 
are registered inside the package, pkg(8) asks again for confirmation, 
this time it additional lists a deinstall of the mysql80-client.

If you have mysq80-server installed, it does the same, without 
installing the mysql84-server. I have not tested the case of changing 
the origin of mysql80-server as described in the UPDATING entry, I 
scheduled an update for some mysql jails after building mysql84-server 
in the local poudriere run, and migrating it by hand (zfs snapshot of 
the mysql data dir and monitoring the upgrade in the logs included).

Hth,
Alexander.

-- 
http://www.Leidinger.net [email protected]: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    [email protected]  : PGP 0x8F31830F9F2772BF
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmnQAM8ACgkQEg2wmwP4
2IZ28w//WjsnvMu92N79Lw+ziu946wMUb4PPwUMayrtNLw2iZL4HU1e8FIEQVGkY
16eVBDfiCSvBrwDkw+0u+Q3MjYxpCA+Ka0uOz9a5H7qjx23yH5UFAl58sG0lmnnL
M3lRfroXJzIYrHZTMOhI6ouDIBSLKvG2uXyt0bwUfVjaHKI4YwXbwuYKe/QuXIcl
EVeA0skU/Wr3BgqmeO/KTrXGfogf/lCRDHrupgWkqNnnov4SFgXdl/Giq0+yFZgT
zu5A8GiZw8OPIV1hSmVMx4P/yCUkh62unafLeUgPp+7Ea0VzRMmAnISjGhczDsr5
VbKWkbj4ummA0y5pelYLRbixCDP+yfdB9kDbXWrDxy3DsoJCFMeXMWLEnJ/gYxaF
j/W+xKHs57dvmej2lb+SZCbMu1EdLz0eneTFbc4/UF1QLwmcVtnvZkWaQAGGTSkH
sqjh2rhFBPd63QhwschvDoF3IZBQdoH8Nt2aiHv3JS3cDobND/4ymjPbchLpscR2
VRhwbTghZ5hqozxRtZxvH7p4R4TyqYFxj3fTbEjjTE4a+eFF1U1P/0HiE16v/+0I
LEMa48QG90mcKXuRGWrJ0lgrow4MBEMfQgzHdefN59d2xFIoACvpH2OOM+T+6qI+
epceJDd+sYrJLf19uzN4XoANmWhCMvX7nb+c/5E/GxTrp2VEvAc=
=rxUm
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.