From owner-cvs-all@FreeBSD.ORG Fri Aug 24 19:15:08 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 0932C16A418; Fri, 24 Aug 2007 19:15:08 +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 A422813C459; Fri, 24 Aug 2007 19:15:07 +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 l7OJErXQ011883; Fri, 24 Aug 2007 15:14:53 -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]); Fri, 24 Aug 2007 15:14:54 -0400 (EDT) Date: Fri, 24 Aug 2007 15:14:53 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Yar Tikhiy In-Reply-To: <20070824183630.GA99474@comp.chem.msu.su> Message-ID: References: <200708230509.l7N59VCi048341@repoman.freebsd.org> <20070824183630.GA99474@comp.chem.msu.su> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org 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: Fri, 24 Aug 2007 19:15:08 -0000 On Fri, 24 Aug 2007, Yar Tikhiy wrote: > On Fri, Aug 24, 2007 at 11:03:12AM -0400, Daniel Eischen wrote: >> On Thu, 23 Aug 2007, Yar Tikhiy wrote: >> >>> yar 2007-08-23 05:09:31 UTC >>> >>> FreeBSD src repository >>> >>> Modified files: >>> lib/libc/gen fts-compat.c fts-compat.h >>> Log: >>> Forced commit to note repo-copy: >>> >>> These files have been repo-copied from src/include/fts.h >>> and src/lib/libc/gen/fts.c to serve as a base for 4.4BSD >>> compatible versions of fts(3) functions to be preserved >>> through libc symbol versioning while the default versions >>> undergo ABI-breaking extension to support big file trees. >> >> When are you going to break the ABI? After 7.0 is tagged >> and released? If you break the ABI before, you don't need >> or want to have the compat versions; the libraries have already >> been bumped in prep for release. I don't think we want to >> use symbol versioning as a crutch for -current users; the >> version definitions are meant for public releases only. > > The reason for exercising symbol versions right now is that "make > installworld" is sensitive to the fts(3) ABI. If the ABI is just > broken w/o special measures, "make installworld" will fail in the > middle and leave you with a botched system. It goes as follows: > > - "make installworld" copies the old /usr/bin/find and some other > tools to /tmp/install.xxx for use during the install > - libc is overwritten by its new instance, with new fts(3) ABI > - the old find(1) is run by installworld and dumps core immediately. Why don't you make find and the install tools static. > Earlier the problem was to be avoided by bumping libc version so > that the old libc is kept, and now I chose symbol versioning to get > around it. Do you think there is a different way? Yes, you wait until after release to do this. Look at it this way: if there wasn't symbol versioning and libc was already bumped, how would you solve the problem? You wouldn't bump libc again, right? -- DE