Date: Tue, 17 Jan 2012 20:09:28 -0600 From: "Matthew D. Fuller" <fullermd@over-yonder.net> To: Kevin Oberman <kob6558@gmail.com> Cc: ports@freebsd.org Subject: Re: Upgrading libs with many dependent ports Message-ID: <20120118020928.GE509@over-yonder.net> In-Reply-To: <CAN6yY1t7xAdWvGQvDQMksfSA2E6wdFryd0BUFKzNGvqUOhWZsg@mail.gmail.com> References: <CAN6yY1t7xAdWvGQvDQMksfSA2E6wdFryd0BUFKzNGvqUOhWZsg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--i9LlY+UWpKt15+FH Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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@over-yonder.net Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ On the Internet, nobody can hear you scream. --i9LlY+UWpKt15+FH--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120118020928.GE509>