From owner-freebsd-ports@FreeBSD.ORG Wed Jan 18 15:07:57 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 B1495106566C for ; Wed, 18 Jan 2012 15:07:57 +0000 (UTC) (envelope-from c.kworr@gmail.com) Received: from mail-ee0-f54.google.com (mail-ee0-f54.google.com [74.125.83.54]) by mx1.freebsd.org (Postfix) with ESMTP id 3DE9C8FC13 for ; Wed, 18 Jan 2012 15:07:57 +0000 (UTC) Received: by eekb47 with SMTP id b47so880560eek.13 for ; Wed, 18 Jan 2012 07:07:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=4Jc/01FgeO5kR80THnypsy8MV2AapX1Q1AjpkT5zkeE=; b=pFXowEOjmxS4pDsv/kO/7qQ1mG19rn68PTBPWDfdR/F/tnAnSYTKXECJ0F0OcojxsH UmoBcqXLSeYg6Mczj4SRbRBqaPyuFNxOS+7xC9OeO6lWP0YR9MP/E6hjE8afK0RtB8wd FOrm8J8I9nkRkHIIqbvIMJYwk9dyNks5NECgk= Received: by 10.14.10.167 with SMTP id 39mr274557eev.109.1326897622254; Wed, 18 Jan 2012 06:40:22 -0800 (PST) Received: from green.tandem.local (212-212-200-46.pool.ukrtel.net. [46.200.212.212]) by mx.google.com with ESMTPS id x43sm100382774eef.8.2012.01.18.06.40.20 (version=SSLv3 cipher=OTHER); Wed, 18 Jan 2012 06:40:21 -0800 (PST) Message-ID: <4F16D9D3.1000908@gmail.com> Date: Wed, 18 Jan 2012 16:40:19 +0200 From: Volodymyr Kostyrko User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0.1) Gecko/20120110 Firefox/9.0.1 SeaMonkey/2.6.1 MIME-Version: 1.0 To: Kevin Oberman References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 15:07:57 -0000 Kevin Oberman wrote: > I have just been cleaning up the mess caused by the upgrade of xcb-utils. > On my systmes I have hundreds of ports that will be re-built by the methods > listed in UPDATING, even though the vast majority of them are only > dependent on other ports that are dependent on xcb-utils, but don't > actually load any of the libraries in xcb-utils. It is a huge waste of time > and CPU cycles. > > I think that I can see two ways of eliminating the rebuilding of ports that > don't need it. One is rather manual but can be done now while the other > wou;d be automatic, but would need to be written by someone who is far > better at writing shell scripts than I. > > 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. This > would be fed into portmaster to rebuild just these ports. (I guess I could > use awk and uniq to remove repeats.) > > Should this become a preferred method of handling this problem? You can use pkg_libchk -oc to have it report rather port name and skip status junk. You don't need uniq, use sort -u. Anyway portmaster will uniq them anyway. -- Sphinx of black quartz judge my vow.