Subject: Re: krb5 integration proposal
To: Aidan Cully <aidan@kublai.com>
From: Simon Burge <simonb@netbsd.org>
List: current-users
Date: 06/09/1999 13:41:29
Aidan Cully wrote:
> On Wed, Jun 09, 1999 at 12:07:36PM +1000, Simon Burge wrote:
> > Aidan Cully wrote:
> > > 4) Reorganize libtelnet, according to my local model.
> > > This means the following hierarchy:
> > > src/lib/libtelnet -- almost all libtelnet sources.
> > > src/lib/libtelnet/Nocrypt -- libtelnet source that might be overridden
> > > by crypto-enabled files.
> >
> > Can this be done with the right PATH magic so we don't need the Nocrypt
> > subdirectory? It's a tad non-aesthetic, as well as making imports of
> > new versions of libtelnet a little more work (if that were to ever
> > happen again)...
>
> I do it this way for .PATH reasons.. krb5 comes with a complete libtelnet
> distribution, and domestic/lib/libtelnet reaches over into it.. One of my
> goals was to use as much NetBSD source as possible, and only hook into
> MIT's for kerberos specific stuff, and I couldn't see a good way to let
> domestic/lib/libtelnet use MIT's encrypt.[ch], and NetBSD's ~everything
> else without creating the Nocrypt/ subdirectory.
>
> What sort of thing would you suggest?
I'm not sure I see the problem. As an example, I've got the
following directory structure:
simonpc:/tmp/telstuff 183> ls -R
domestic/ telnet/
./domestic:
dist/ telnet/
./domestic/dist:
telnet/
./domestic/dist/telnet:
encrypt.c encrypt.h kerb.c
./domestic/telnet:
.depend Makefile
./telnet:
.depend Makefile encrypt.c encrypt.h misc.c
Where all .c and .h files are empty, except encrypt.c contains
just:
#include "encrypt.h"
telnet/Makefile is:
LIB= telnet
SRCS= encrypt.c misc.c
CPPFLAGS+=-I${.CURDIR}
.include <bsd.lib.mk>
and domestic/telnet/Makefile is:
.include "${.CURDIR}/../../telnet/Makefile"
SRCS+= kerb.c
.PATH: ${.CURDIR}/../dist/telnet
.PATH: ${.CURDIR}/../../telnet
.include <bsd.lib.mk>
After a "make depend" in telnet, .depend contains:
encrypt.o encrypt.po encrypt.so encrypt.ln: encrypt.c encrypt.h
misc.o misc.po misc.so misc.ln: misc.c
and domestic/telnet/.depend contains:
encrypt.o encrypt.po encrypt.so encrypt.ln: /tmp/telstuff/domestic/telnet/../dist/telnet/encrypt.c \
/tmp/telstuff/domestic/telnet/../dist/telnet/encrypt.h
misc.o misc.po misc.so misc.ln: /tmp/telstuff/domestic/telnet/../../telnet/misc.c
kerb.o kerb.po kerb.so kerb.ln: /tmp/telstuff/domestic/telnet/../dist/telnet/kerb.c
Is this more-or-less what we're after, or am I misunderstanding the
problem?
Simon.