[RFC/HEADSUP] portmaster default -w (preserve shared libraries)

Bryan Drewery bdrewery at freebsd.org
Tue Dec 11 15:55:27 UTC 2012

(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

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.

Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 896 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20121211/49910258/attachment.sig>

More information about the freebsd-ports mailing list