These must stay around so applications linked against them will still
work after upgrade, even if libfoo.so now points to libfoo.so.(N+1)
or libfoo.so.N.(M+1).
Exceptions:
- I'm willing to believe the rump modules have a different story so I
left those obsolete entries alone.
- libuv.so was never supposed to be exposed publicly anyway and never
went out in a release. (Maybe this information should be recorded
somewhere?)
- Same is probably true of lib{gmp,mpc,mpfr}.so, not sure of the
history. Maybe libg2c.so too, no idea what that is.
- libisns.so was moved from /usr/lib to /lib, so it's legitimate for
the debug data to live there too now. (XXX Maybe we should have a
separate marker for this.)
- Libraries under /usr/tests are not used by normal applications, so
they can safely be deleted when obsoleted.
Note: The libfoo.so symlink for a library that has been deleted
altogether, not just upgraded, can be obsoleted. Loadable modules
that applications aren't linked against can be obsoleted, even if
some of them like npf ext_*.so or pam_*.so are formally versioned
(for reasons unclear to me).
Note: This means that incremental builds may complain about these
.so.N and .so.N.M files in destdir (PR misc/57581), but it's much
worse for an upgrade to break working applications.