From owner-freebsd-arch@FreeBSD.ORG Thu Jan 14 17:30:49 2010 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44E041065694; Thu, 14 Jan 2010 17:30:49 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id DAA628FC1B; Thu, 14 Jan 2010 17:30:48 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o0EHKjMi012163; Thu, 14 Jan 2010 10:20:45 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Thu, 14 Jan 2010 10:21:42 -0700 (MST) Message-Id: <20100114.102142.328914705071816274.imp@bsdimp.com> To: rwatson@freebsd.org From: "M. Warner Losh" In-Reply-To: References: <20100112.174326.337739863389869251.imp@bsdimp.com> <4B4E1586.7090102@FreeBSD.org> X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, dougb@freebsd.org, src-committers@freebsd.org, freebsd-arch@freebsd.org Subject: Re: INCLUDE_CONFIG_FILE in GENERIC X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jan 2010 17:30:49 -0000 In message: Robert Watson writes: : : > In the interests of bringing this to a close: : > # Store the plain version of the configuration file in the kernel : > # itself. : > # For information on extraction, and storing the comments also, see : > config(8). : : Am I right in thinking that even with this change, you still end up : with a single giant config file whereas it may have been made up of : several files in the original and assembled using the include : directive? No. Without -C you get something that looks like: options CONFIG_AUTOGENERATED\n\ ident GENERIC\n\ machine amd64\n\ cpu HAMMER\n\ makeoptions DEBUG=-g\n\ options AH_SUPPORT_AR5416\n\ options IEEE80211_SUPPORT_MESH\n\ options IEEE80211_AMPDU_AGE\n\ which is the totally pre-processed config, with stuff sorted in a weird order (I think backwards in the file). This is the fully-processed config, including include files, option/nooption cancellation, etc. With -C you get: #\n\ # GENERIC -- Generic kernel configuration file for FreeBSD/amd64\n\ #\n\ # For more information on this file, please read the config(5) manual page,\n\ # and/or the handbook section on Kernel Configuration Files:\n\ #\n\ eg, an verbatim copy of the config file used, but do not get any files that were included such as DEFAULTS. Personally, I'd rather see us have two different options here, as suggested by others, so that it is clear and self-contained. I'd vote for INCLUDE_CONFIG for today's behavior without -C, and INCLUDE_CONFIG_FILE for config -C. -C then becomes a nop and the man page becomes correct. We can then put a single line: options INCLUDE_CONFIG_FILE # include this config file in kernel and be done with it in head. For MFC, having the extra comment lines isn't so horrible as an explicitly granted exception to the rule of not doing that so others won't be tempted to do it too. : This means some caution (and a caveat of some sort) are : still required. I agree entirely that we should be including the : comments by default. I disagree, for the reasons above. Warner