From owner-freebsd-ports@FreeBSD.ORG Wed Dec 12 02:53:21 2012 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E6C31CEA; Wed, 12 Dec 2012 02:53:21 +0000 (UTC) (envelope-from wblock@wonkity.com) Received: from wonkity.com (wonkity.com [67.158.26.137]) by mx1.freebsd.org (Postfix) with ESMTP id 9F5878FC16; Wed, 12 Dec 2012 02:53:21 +0000 (UTC) Received: from wonkity.com (localhost [127.0.0.1]) by wonkity.com (8.14.5/8.14.5) with ESMTP id qBC2rKUx008561; Tue, 11 Dec 2012 19:53:20 -0700 (MST) (envelope-from wblock@wonkity.com) Received: from localhost (wblock@localhost) by wonkity.com (8.14.5/8.14.5/Submit) with ESMTP id qBC2rKC0008558; Tue, 11 Dec 2012 19:53:20 -0700 (MST) (envelope-from wblock@wonkity.com) Date: Tue, 11 Dec 2012 19:53:20 -0700 (MST) From: Warren Block To: Bryan Drewery Subject: Re: [RFC/HEADSUP] portmaster default -w (preserve shared libraries) In-Reply-To: <50C7576C.5040100@FreeBSD.org> Message-ID: References: <50C7576C.5040100@FreeBSD.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (wonkity.com [127.0.0.1]); Tue, 11 Dec 2012 19:53:21 -0700 (MST) Cc: FreeBSD Ports X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Dec 2012 02:53:22 -0000 On Tue, 11 Dec 2012, Bryan Drewery wrote: > (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 > violation. The -w behavior by default seems reasonable. When implemented, it should be mentioned in UPDATING. pkg_libchk should also be mentioned as a way of finding installed applications that are depending on old libraries in /usr/local/lib/compat/pkg.