On Sun, Dec 22, 2019 at 10:56:20AM +1000, Stuart Longland wrote:
So, a few years ago now, I deployed a router VM with OpenBSD 6.1 AMD64.
Later that got updated to 6.2, then 6.3, 6.4…

Yesterday I updated it to 6.5, then 6.6… now I'm trying to run syspatch:

I have a similar issue with my desktop.  I tried to outsmart the
automatic installer to squeeze as much space as possible for /home on a
desktop with an 80GB SSD.  Which worked out OK for a few upgrade cycles,
always from stable version to next stable version.

However, after a couple of years, I had to unbreak an update that didn't
fit any more in /usr.  To my surprise, I had lots of old libs from
previous releases left on disk.  Had to manually remove a few of the
older unused libs from /usr to be able to redo the update successfully.

My understanding is that this is by design.  In an update, some libs are
overwritten (if they keep the same file name), but others are left on
disk (theoretically unused) when lib versions are incremented.  I can
see a few ways in which this eases updates for people following
-current, such as the OpenBSD devs, so it's a small price to pay.

But yes, it would be awesome if installations that use -stable would not
have to pay this price.  After all, only libs from current version of
the base system should be needed.  If you built something linked to an
older lib from a previous OS version, it should be recompiled after an
updated.  This could also be a security issue if you're sloppy and use
binaries linked to old base libs that are no longer updated for
security issues.

If I missed anything, would love to be corrected!  And sorry, I don't
have a solution for this.  Other than the obvious one of packaging the
files in base.  Is this a heresy?

Reply via email to