From owner-cvs-all@FreeBSD.ORG Tue Aug 28 20:15:30 2007 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F3B4916A417; Tue, 28 Aug 2007 20:15:29 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from mail.netplex.net (mail.netplex.net [204.213.176.10]) by mx1.freebsd.org (Postfix) with ESMTP id 8E1D313C46E; Tue, 28 Aug 2007 20:15:29 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.netplex.net (8.14.1/8.14.1/NETPLEX) with ESMTP id l7SKFHlv026662; Tue, 28 Aug 2007 16:15:17 -0400 (EDT) X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.netplex.net) X-Greylist: Message whitelisted by DRAC access database, not delayed by milter-greylist-3.0 (mail.netplex.net [204.213.176.10]); Tue, 28 Aug 2007 16:15:18 -0400 (EDT) Date: Tue, 28 Aug 2007 16:15:16 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: John Baldwin In-Reply-To: <200708281403.05931.jhb@freebsd.org> Message-ID: References: <200708270850.20904.jhb@freebsd.org> <200708281142.07941.jhb@freebsd.org> <200708281403.05931.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: src-committers@freebsd.org, Yar Tikhiy , alfred@freebsd.org, cvs-all@freebsd.org, cvs-src@freebsd.org, "M. Warner Losh" Subject: Re: cvs commit: src/lib/libc/gen fts-compat.c fts-compat.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Aug 2007 20:15:30 -0000 On Tue, 28 Aug 2007, John Baldwin wrote: > On Tuesday 28 August 2007 01:18:38 pm Daniel Eischen wrote: >> >> The only thing I would add is that we can do this by using the >> real public versions in -current instead of private ones only >> seen in current. By using the public versions, -current users >> will never have to rebuild any of their ports _unless_ the >> same ABI changed more than once in -current, and that has >> never happened in the past. If it does happen, you can >> remove interim versions from RELENG_X at the branch, and >> then remove the interim version from -current some time later. >> This is the same approach as using a "private in current" >> version namespace. The only disadvantage is that you might >> be missing a version or two in RELENG_X if you remove an >> interim FBSD_1.4 for instance. > > Yes, but how do you know which ones are interim versions that are safe to be > removed? Having separate namespaces makes this clear. Any symbol in the Symbol.map files (or the generated Version.map) that is duplicated from the point at which -current was last branched. If you go with my approach and only create one new version in -current, then it will be more obvious because the symbol(s) will already exist in -current's one and only version. That will force us to decide whether we should force a rebuild or just make a new version - it could be on a case by case basis if it ever happened. But even with the other approach (each ABI change creates a new version), you could write a script to find all the versions with duplicate symbols. I suppose you could even have it generate an ObsoleteVersions file that gets committed along with the most recent ABI change. -- DE