(As maintainer) I'm proposing to make -w the default for portmaster. This will preserve old shared libraries when upgrading. This helps 2 things:
1. Prevents a broken system during upgrades 2. Prevents a broken system after upgrading for ports that did not get a PORTREVISION bump from a shared library update. You have certainly ran into this problem with large library updates such as png, pcre, openssl, etc. Portupgrade has always done this as default, and I have never seen any problems arise from it. It also cleans up prevents duplicated library versions. If portmaster is not already doing this, I will ensure it does. You could then use pkg_libchk to rebuild any lingering ports if you wanted to ensure your system was using the latest. Then cleanout the preserved shared library. Of course there will be a way to stick to the old default of not preserving the libraries. Someone may consider this a POLA violation, but I consider that a broken system from missing libraries and PORTREVISION bumps is more of a POLA violation. The other option to ensuring that all ports work correctly after a shared library update is to just rebuild any port which recursively is affected by another port being updated. I think this is fine in scenarios such as tinderbox/poudriere, but with end-user compiling ports on their system, this may quickly become too much of a burden. Regards, Bryan Drewery
signature.asc
Description: OpenPGP digital signature