Tatsuki Makino wrote:
What will be the result of pkg check -dan when such a condition occurs?
# pkg check -dan
Checking all packages: 100%
gnupg1 has a missing dependency: curl
gnupg1 is missing a required shared library: libcurl.so.4
openjdk8 has a missing dependency: fontconfig
openjdk8 has a missing dependency: dejavu
openjdk8 has a missing dependency: freetype2
openjdk8 is missing a required shared library: libfreetype.so.6
(all intentionally missing)
Edward Sanford Sutton, III wrote:
libxml2 was upgraded to 2.14.4 then reverted to 2.11.9 on 06/21
within an hour, then reupgraded on 6/28 if I read logs correctly.
Freshports lists quarterly package repository is still on 2.11 while
latest is on 2.14; have you switched or activated multiple repos?
No repo changes, using a single repo built daily on a local poudriere
server.
Upgrades lead to errors, including on Linux; I broke multiple distros
through updates to varying degrees but they were definitely broken by
the action.
It looks like that may be the issue here...
# pkg upgrade
pkg: ...: duplicate dependency listing: ... (repeated many times)
Cannot solve problem using SAT solver, trying another plan
Checking integrity... done (0 conflicting)
The following 5 package(s) will be affected (of 0 checked):
Installed packages to be UPGRADED:
protobuf-c: 1.5.1_2 -> 1.5.1_3
Installed packages to be DOWNGRADED:
bind-tools: 9.20.10 -> 9.20.9
libxml2: 2.14.4 -> 2.11.9
Installed packages to be REMOVED:
apache24: 2.4.63_1
py311-html5-parser: 0.4.12_2
# pkg install
The following 15 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
curl: 8.13.0_1
fontconfig: 2.15.0_3,1
freetype2: 2.13.3
libX11: 1.8.12,1
libXScrnSaver: 1.2.4_1
libXau: 1.0.12
libXdmcp: 1.1.5
libXext: 1.3.6,1
libXft: 2.3.8
libXrender: 0.9.12
libxcb: 1.17.0
tcl86: 8.6.16_2
tk86: 8.6.16
xorgproto: 2024.1
(all intentionally removed -f)
Installed packages to be UPGRADED:
protobuf-c: 1.5.1_2 -> 1.5.1_3
As a workaround, you could first run an upgrade with -n and check if
the output contains REMOVED or even DOWNGRADED (rarely happens, but can
legitimately happen) and error out + contact admin.
If automating, remember that without an option to run autoremove
during the upgrade that you still need a second command to try to handle
dependency cleanup. Without it, any unused dependencies will remain
until they conflict. With the effort to report upgrade used space, you
would think such cleanup would be a default (but preferrably optional)
part of upgrading.
Two great tips, thanks!
Roger