From owner-freebsd-questions@FreeBSD.ORG Fri Jul 13 16:55:07 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6D41316A404 for ; Fri, 13 Jul 2007 16:55:07 +0000 (UTC) (envelope-from xfb52@dial.pipex.com) Received: from galaxy.systems.pipex.net (galaxy.systems.pipex.net [62.241.162.31]) by mx1.freebsd.org (Postfix) with ESMTP id 374D513C4B6 for ; Fri, 13 Jul 2007 16:55:07 +0000 (UTC) (envelope-from xfb52@dial.pipex.com) Received: from [192.168.23.2] (62-31-10-181.cable.ubr05.edin.blueyonder.co.uk [62.31.10.181]) by galaxy.systems.pipex.net (Postfix) with ESMTP id D0260E000560; Fri, 13 Jul 2007 17:54:36 +0100 (BST) Message-ID: <4697AE4C.8070909@dial.pipex.com> Date: Fri, 13 Jul 2007 17:54:36 +0100 From: Alex Zbyslaw User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-GB; rv:1.7.13) Gecko/20061205 X-Accept-Language: en MIME-Version: 1.0 To: tundra@tundraware.com References: <468972C5.9090902@tundraware.com> <200707021722.05724.josh@tcbug.org> <4697A498.5000501@tundraware.com> In-Reply-To: <4697A498.5000501@tundraware.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org Subject: Re: Finally Converting From Bind 8 -> Bind 9 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jul 2007 16:55:07 -0000 Tim Daneliuk wrote: > 2) Better still is there some sort of "include" mechanism where I could > keep a flat file of public host information for use by db.external, > but include it into db.internal. I don't think there is, but let someone who uses bind more than I do give a definitive on that :-) What you *can* do, irrespective of bind version, is to have two files which you pre-process with m4, and have a third file which m4 includes on both the others. So you start with: internal.M4 which includes "shared" external.M4 which also includes "shared" shared which gets included in the other two. Then m4 internal.M4 > internal and m4 external.M4 -> external. Bind then loads internal and external. Alternatively you could start with one M4 file which uses lots of ifdefs for the non-shared portions. The create internal and external by specifying different definitions to m4. e.g. m4 -D _TYPE=EXTERNAL or m4 -D _TYPE=INTERNAL. For a problem with small differences between two files, this is a better solution, but not what I'd do in this case. Whole process can be easily controlled with a Makefile (including any restarts). --Alex