Upgrading libs with many dependent ports

Matthew D. Fuller fullermd at over-yonder.net
Wed Jan 18 02:25:55 UTC 2012

On Tue, Jan 17, 2012 at 05:51:11PM -0800 I heard the voice of
Kevin Oberman, and lo! it spake thus:
> The manual method would be to install sysutils/bsdadminscripts and
> use a command like `pkg_libchk | grep -E "xcb-.+.so" | sort >
> tmpfile` to provide a list of ports that actually are linked to the
> libraries in question.

FWIW, I some years ago wrote up a quick&dirty perl script to find
missing or out of date libs.  It pulls out and warns about missing
libs, stuff in compat/pkg (held over after upgrade by
portupgrade/portmaster), and stuff in the base /usr/lib/compat (handy
when crossing major versions, and potentially other big upheavals).
It's only about a k; I'll attach it.

I pretty much wind up ldd'ing /usr/local/{bin/*,sbin/*,lib/*.so*} and
running the results through the script.  Usually something like `cd
/usr/local/bin ; ldd * > /tmp/ldd.bin ; lddchk.pl < /tmp/ldd.bin`.
That tells me the files; then I can use my brain or pkg_which to tell
me which packages are involved.  I'm happy with that level of
automation, because I like keeping my brain firmly in the loop on such
things, but it wouldn't be too hard to extend it to do its own walks
over the filesystem, etc.

Matthew Fuller     (MF4839)   |  fullermd at over-yonder.net
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.

More information about the freebsd-ports mailing list