From owner-freebsd-ports@FreeBSD.ORG Wed Dec 12 00:19:39 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 8E43A839 for ; Wed, 12 Dec 2012 00:19:39 +0000 (UTC) (envelope-from kob6558@gmail.com) Received: from mail-ea0-f182.google.com (mail-ea0-f182.google.com [209.85.215.182]) by mx1.freebsd.org (Postfix) with ESMTP id 0ECF48FC0C for ; Wed, 12 Dec 2012 00:19:38 +0000 (UTC) Received: by mail-ea0-f182.google.com with SMTP id a14so25591eaa.13 for ; Tue, 11 Dec 2012 16:19:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=o01QtaAhsM7GItM5iWos49tAp2lrnKeLDrT38dWerG0=; b=tuknlOeFL+ODh4AmhkxsogBU6NZFo0NEOqLK8m6U+Z/mkyq/zniJdAqary1zqbj+wO hMEchHLU/aaPX8hoBI+OwjNlfuD7hUTDwy9M000CDhJys+hBX04qlUpE3yTaPT1XTUgA lvsVCYn85VOc0qBtRNY/Ee7Dw7Bgr94zRgAZ9ZQtWFRwY2SSIWHtmxsZ6f6qHSk3KuPK 8j+CYE0N3EbdNpZkI/QaYQ7DI7FmE6+vtoXvm6s8+zsrpUC/46BTNBNH1UT5Fgf70peV 9Gp/iJGWPj8w2RCZTa9bbRbLSa7ELscVQj/YNO3xb3rBXwu/o/qMfb6YXnn9x0QQydkc EOHw== MIME-Version: 1.0 Received: by 10.14.225.4 with SMTP id y4mr64584761eep.6.1355271577929; Tue, 11 Dec 2012 16:19:37 -0800 (PST) Received: by 10.223.170.193 with HTTP; Tue, 11 Dec 2012 16:19:37 -0800 (PST) In-Reply-To: <20121211210446.15c3f2be@gumby.homeunix.com> References: <50C7576C.5040100@FreeBSD.org> <50C762C4.9080302@FreeBSD.org> <50C7871B.9030706@FreeBSD.org> <20121211210446.15c3f2be@gumby.homeunix.com> Date: Tue, 11 Dec 2012 16:19:37 -0800 Message-ID: Subject: Re: [RFC/HEADSUP] portmaster default -w (preserve shared libraries) From: Kevin Oberman To: RW Content-Type: text/plain; charset=UTF-8 Cc: ports@freebsd.org 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 00:19:39 -0000 On Tue, Dec 11, 2012 at 1:04 PM, RW wrote: > On Tue, 11 Dec 2012 20:18:51 +0100 > Alex Dupre wrote: > > >> For simple ports it may works correctly, but for others it could >> happen that finally both revisions are linked into a library or >> executable (because one !recompiled dependency depends on the old >> version and another recompiled dependency depends on the new version) >> and this is not good. So the correct thing is to always recompile >> ports to get the new version, the 'keep old libs' flags should be >> used with caution (this is why I prefer it to be opt-in and not >> opt-out). > > The main reason for keeping the libraries is that it reduces the > number of breakages during the upgrade process, which can be a very > serious inconvenience, particularly if the forced update fails to > complete. In my experience the problem you describe is much less > significant. It does eliminate the instant breakage of lots and lots of stuff, but it can lead to hard to track down issues later. The problem is that, as ports are updated, you end up with applications that link to libraries that, in turn link to the library that had the version bump. If one of those libraries is updated, the application fails as the loader (rtld) will refuse to load two different versions of the same library (for good reason). So saving the old lib is fine, but you really, really need to update all ports that link to that library fairly immediately. -- R. Kevin Oberman, Network Engineer E-mail: kob6558@gmail.com