From owner-freebsd-ports@FreeBSD.ORG Wed Jan 18 02:25:55 2012 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6047F1065672 for ; Wed, 18 Jan 2012 02:25:55 +0000 (UTC) (envelope-from fullermd@over-yonder.net) Received: from thyme.infocus-llc.com (server.infocus-llc.com [206.156.254.44]) by mx1.freebsd.org (Postfix) with ESMTP id 2C76A8FC16 for ; Wed, 18 Jan 2012 02:25:54 +0000 (UTC) Received: from draco.over-yonder.net (c-174-50-4-38.hsd1.ms.comcast.net [174.50.4.38]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by thyme.infocus-llc.com (Postfix) with ESMTPSA id 9FB0837B658; Tue, 17 Jan 2012 20:09:29 -0600 (CST) Received: by draco.over-yonder.net (Postfix, from userid 100) id 1FD78177CD; Tue, 17 Jan 2012 20:09:28 -0600 (CST) Date: Tue, 17 Jan 2012 20:09:28 -0600 From: "Matthew D. Fuller" To: Kevin Oberman Message-ID: <20120118020928.GE509@over-yonder.net> References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="i9LlY+UWpKt15+FH" Content-Disposition: inline In-Reply-To: X-Editor: vi X-OS: FreeBSD User-Agent: Mutt/1.5.21-fullermd.4 (2010-09-15) X-Virus-Scanned: clamav-milter 0.97.3 at thyme.infocus-llc.com X-Virus-Status: Clean X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: ports@freebsd.org Subject: Re: Upgrading libs with many dependent ports X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Jan 2012 02:25:55 -0000 --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--