From owner-cvs-src@FreeBSD.ORG Tue Aug 28 17:18:52 2007 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D2CF16A468; Tue, 28 Aug 2007 17:18:52 +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 BBF8C13C4B4; Tue, 28 Aug 2007 17:18:51 +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 l7SHIcOx012508; Tue, 28 Aug 2007 13:18:38 -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 13:18:39 -0400 (EDT) Date: Tue, 28 Aug 2007 13:18:38 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: John Baldwin In-Reply-To: <200708281142.07941.jhb@freebsd.org> Message-ID: References: <200708270850.20904.jhb@freebsd.org> <20070828004842.GT21352@comp.chem.msu.su> <200708281142.07941.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: src-committers@freebsd.org, peterjeremy@optushome.com.au, 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-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Aug 2007 17:18:52 -0000 On Tue, 28 Aug 2007, John Baldwin wrote: > > I think this is dead on, yes. Only comment I would add is that I think > the "flag days" should be when a new RELENG_X is branched and that all the > FBSD-current shims get tossed in the RELENG_X branch. The FBSD-current shims > can be dropped from HEAD on a separate schedule, maybe where they get dropped > after they've been around for 6 months or so. This does mean that stepping > off -CURRENT onto RELENG_X requires a rebuild of your ports for any symbols > that changed since RELENG_X-1, but I think that is tolerable. 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. The other problem with the private version namespace thing is that it doesn't allow for MFC'ing an ABI change to RELENG_X. It also causes you to change a lot of files (Symbol.map files, source files with compat shims) whenever you have the flag day and move from FBSDcurrent_1.x to FBSD_1.1. It is so much more simpler to use the same versioning in -current as for releases. It is easier to MFC, doesn't cause unneeded changes to Symbol.map files and compat shims, doesn't cause -current users to rebuild ports after flag day (unless there are overlapping ABI changes), and still provides everything that using the private version namespace provides. -- DE