Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jul 2007 17:54:36 +0100
From:      Alex Zbyslaw <xfb52@dial.pipex.com>
To:        tundra@tundraware.com
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Finally Converting From Bind 8 -> Bind 9
Message-ID:  <4697AE4C.8070909@dial.pipex.com>
In-Reply-To: <4697A498.5000501@tundraware.com>
References:  <468972C5.9090902@tundraware.com>	<200707021722.05724.josh@tcbug.org> <4697A498.5000501@tundraware.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
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





Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?4697AE4C.8070909>