Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jul 2007 15:11:42 -0500
From:      Tim Daneliuk <>
To:        Alex Zbyslaw <>
Subject:   Re: Finally Converting From Bind 8 -> Bind 9
Message-ID:  <>
In-Reply-To: <>
References:  <>	<> <> <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
Alex Zbyslaw wrote:
> 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.

A reasonable and very Unix-ish solution, certainly.  Though, I think
the subsequent post on this thread regarding $INCLUDE is probably more
elegant ;)

> 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 
> For a problem with small differences between two files, this is a better 
> solution, but not what I'd do in this case.

Me either - conditional content gets clumsy to maintain in a big hurry.

> Whole process can be easily controlled with a Makefile (including any 
> restarts).
> --Alex

Tim Daneliuk
PGP Key:

Want to link to this message? Use this URL: <>