Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Oct 1999 02:43:36 -0500 (CDT)
From:      Jeremy Shaffner <jer@jorsm.com>
To:        freebsd-stable@freebsd.org
Cc:        "Matthew D. Fuller" <fullermd@futuresouth.com>, "Jason J. Horton" <jason@intercom.com>, cjclark@home.com, jseger@freebsd.org
Subject:   NO_BIND option (Was Re: make world question)
Message-ID:  <Pine.BSF.3.95q.990930141042.15540A-100000@mercury.jorsm.com>
In-Reply-To: <199909300358.XAA02002@cc942873-a.ewndsr1.nj.home.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[Original thread can be found at the end]

So,

Here's what I've got so far:

--- etc/make.conf.orig  Mon Sep 20 20:59:31 1999
+++ etc/make.conf       Mon Sep 20 21:00:11 1999
@@ -28,6 +28,9 @@
 # To avoid building sendmail
 #NO_SENDMAIL=  true
 #
+# To avoid building BIND
+#NO_BIND=      true
+#
 # To have 'obj' symlinks created in your source directory
 #       (they aren't needed/necessary)
 #OBJLINK=      yes


--- libexec/Makefile.orig       Mon Sep 20 21:00:27 1999
+++ libexec/Makefile    Mon Sep 20 23:18:14 1999
@@ -3,12 +3,16 @@
 
 # Present but disabled: kpasswdd
 SUBDIR=        atrun bootpd comsat fingerd ftpd getNAME getty \
-       makekey mknetid named-xfer rbootd revnetgroup rexecd \
+       makekey mknetid rbootd revnetgroup rexecd \
        rlogind rpc.rquotad rpc.rstatd rpc.rusersd rpc.rwalld \
        rpc.sprayd rshd talkd tftpd uucpd xtend ypxfr
 
 .if !defined(NO_SENDMAIL)
 SUBDIR+=mail.local smrsh
+.endif
+
+.if !defined(NO_NAMED)
+SUBDIR+=named-xfer
 .endif
 
 .if ${OBJFORMAT} == aout


--- usr.sbin/Makefile.orig      Mon Sep 20 21:09:32 1999
+++ usr.sbin/Makefile   Tue Sep 21 08:57:55 1999
@@ -44,13 +44,8 @@
        mrouted \
        mtest \
        mtree \
-       named \
-       named.reload \
-       named.restart \
-       ndc \
        newsyslog \
        nslookup \
-       nsupdate \
        pccard \
        pciconf \
        periodic \
@@ -110,6 +105,14 @@
        makemap \
        praliases \
        sendmail
+.endif
+
+.if !defined(NO_BIND)
+SUBDIR+=named \
+       named.reload \
+       named.restart \
+       ndc \
+       nsupdate \
 .endif


This is just a start, but you get the idea.

Important consideration:  We still want the resolver of course, and ns
tools.  Really what we don't want is named.  So should this be NO_NAMED
instead?

On the other hand, anyone making use of this option would only do so
because they've installed bind8 (Port or by hand.)  They wouldn't need
libs installed by the system, since they'll have them already.  In this
case, NO_BIND is better.

This brings up another issue:  PATHs.  The whole reason I thought this
mess up was I didn't want two versions of every bind tool.  (Weird, and
while looking for an example, I've found that the system nslookup is in
/usr/sbin, and the port version is in /usr/local/bin.)  There are features
in the latest release that I want, and I don't want to rearrange my PATH
to look in /usr/local/* first.

And finally, would this require the cooperation of the bind8 Port
Maintainer?  (eg, install local named.re[start|load]'s with correct
paths to ndc and such.)

Any chance that something like this might be possible?

-------8<--------

Jeremy Shaffner wrote,
> On Wed, 29 Sep 1999, Matthew D. Fuller wrote:
> 
> > On Wed, Sep 29, 1999 at 12:18:24PM -0400, a little birdie told me
> > that Jason J. Horton remarked
> > > Is there any way to keep a make world from building named?
> > > I see switches in /etc/make.conf to stop building of sendmail
> > > and perl, but not named. Every time I make world, I have to
recompile
> > > my specially built named, it's starting to be annoying.
> > 
> > 2 choices.
> > 1) Edit /usr/src/usr.sbin/Makefile and take out 'named'.
> > 2) Install your specially built named under /usr/local where it should
> > be, since that'll eliminate the whole problem set.
> 
> This was something I've thought about myself.  Who else thinks a NO_BIND
> option (like NO_SENDMAIL) might be good in /etc/make.conf (with
necessary
> .if's in /usr/src/*/Makefiles)? 


I was thinking about this too! In my case, I made a hack to dump(8),
but I really doubt there is the call to make a NO_DUMP switch.

What I am doing is building a tree of customized utilities under
/usr/local/src; one that mirrors the structure of /usr/src. Right now,
I just go in before a buildworld and,

# cd /usr/src/sbin
# mv dump dump.dist
# ln -s /usr/local/src/sbin/dump .

And the buildworld makes my custom dump!

Now, if I had more things like that, I could easily (prolly) script
such a procedure or even design a /usr/local/src/Makefile to do all
that for me.

And for those who just don't want something built, they can put a "null"
entry in the /usr/local/src tree.

It seems like this might actually be something useful to a lot of
people now that a few others have asked. It would not be too difficult
to make the generic buildworld use the /usr/local/src tree in this way
automatically. I don't see what problems it could cause either. If you
didn't have a /usr/local/src, buildworld would be exactly like it is
now.

Just an idea... that I now wonder if someone may have proposed before?
(And for some reason was not added.)

-------->8--------




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.990930141042.15540A-100000>