[1973] in Kerberos_V5_Development

home help back first fref pref prev next nref lref last post

Re: krb5-misc/185: krb5.conf, kdc.conf, and --prefix

daemon@ATHENA.MIT.EDU (Barry Jaspan)
Fri Nov 15 17:18:24 1996

Date: Fri, 15 Nov 1996 17:17:43 -0500
From: "Barry Jaspan" <bjaspan@MIT.EDU>
To: bjaspan@MIT.EDU
Cc: krb5-bugs@MIT.EDU, krbdev@MIT.EDU
In-Reply-To: bjaspan@MIT.EDU's message of Wed, 13 Nov 1996 20:45:22 GMT
	<199611132045.UAA28434@beeblebrox.MIT.EDU>


Date: 13 Nov 1996 19:33:14 -0500
From: Ken Raeburn <raeburn@cygnus.com>

Some notes on your proposal:

Shared libraries would have to be found either by absolute pathname or
by system-wide or per-user configuration changes.  System-wide changes
require root access to switch versions (e.g., for debugging or
comparison purposes).  Per-user changes won't work for ksu, and are
probably Right Out for large sites anyways.  Environment variable
changes (to find an alternate krb5.conf and things pointed to by it)
will be needed to change versions also.

You propose a number of new configure script options.  Have you looked
at how to add them?  Do you plan on maintaining a Kerberos-specific
version of autoconf forever?

If the pathname info (install-prefix, location of krb5.conf, whatever)
is coded into a library object file, changing it requires rebuilding
only those libraries, and anything they're linked into; random other
object files, even those using krb5.h, would not be affected.

If you do eliminate all dependencies on $(prefix) in the libraries and
application programs, you can use --prefix for the purposes you intend
--installprefix for, can't you?

Even if not, what's wrong with running "make install prefix=..." if
you really want the install done someplace else?  I suspect that the
most commonly desired cases would be:
 * installing into the final location
 * building a package that can be installed later
And in the latter case, there's probably more work to be done, since
"directory tree" probably isn't usually the most convenient package
format.  So a script or makefile target is probably the best solution,
in which case adding extra arguments to "make install" is no big deal.


> o make install by default installs into $(buildtop)/install/{bin,...}.

I think "make install" should *install* the software (using
$(prefix)), not build a package that can be installed later, which is
what you're describing.  A separate Makefile target name for such
packages would be fine.  At the same time, we can set up targets for
packages in Debian, RedHat, BSD, setld, svr4 and other formats.

In fact, at Cygnus, we never use "make install" directly, we use a
gzipped-tar-file target (which uses "make install prefix=...").  We've
also worked with some of the other package formats before, so making
them work for v5 shouldn't be hard.


> since install-prefix is specified in krb5.conf, there is no
> requirement for these paths to be the same on every machine in the
> realm, which is good: clients should look in /usr/local, but the KDC
> should probably look in /var/krb5 or somesuch.

Um.  Actually, I think I'd want rlogind (say) always looking in
/usr/local (or whereever), regardless of whether I had set up a KDC on
that particular machine.  The KDC, however, would look in /var/krb5,
or /s1/cygnus/kerbnet, or /usr/local/krb5.  It may even vary between
machines, so a single krb5.conf wouldn't be correct site-wide.  Which
complicates installation and maintenance.

home help back first fref pref prev next nref lref last post