Finally Converting From Bind 8 -> Bind 9

Alex Zbyslaw xfb52 at dial.pipex.com
Fri Jul 13 16:55:07 UTC 2007


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




More information about the freebsd-questions mailing list