The dnf job already installed runtime packages only, with a comment explaining
that installing -dev would mask what the binding packages probe for. The apt
job then installed libicu-dev, which does exactly that: it ships the
unversioned libicuuc.so symlink, so every probe succeeded on the first attempt
and the versioned-SONAME fallback this PR depends on was never exercised.
libicu-dev was there because ICU's runtime package carries the ABI version in
its name and has no stable alias. Matching by pattern is version-independent
without the headers or the symlink, verified to resolve exactly one package on
jammy (70), bookworm (72), noble (74) and trixie (76).
Add an assertion that the unversioned symlinks are absent. Without it the
suite silently stops testing anything the moment a base image starts shipping
one. Verified against all eight matrix distributions: none ship them, and the
step fails as intended when a symlink is planted.
Also add tzdata to the dnf job to match apt, now that it is a checked
prerequisite.