aboutsummaryrefslogtreecommitdiff
path: root/doc/build.texinfo
diff options
context:
space:
mode:
Diffstat (limited to 'doc/build.texinfo')
-rw-r--r--doc/build.texinfo146
1 files changed, 85 insertions, 61 deletions
diff --git a/doc/build.texinfo b/doc/build.texinfo
index 5852c06..bee77fe 100644
--- a/doc/build.texinfo
+++ b/doc/build.texinfo
@@ -37,14 +37,18 @@ link tree for your build tree.
The first step in each of these build procedures is to unpack the source
distribution. The Kerberos V5 distribution comes in two compressed tar
-files. The first file, which is generally named @file{krb5.src.tar.gz},
-contains the sources for all of Kerberos except for the crypto library,
-which is found in the file @file{krb5.crypto.tar.gz}.
+files. The first file, which is generally named
+@file{krb5-1.0.src.tar.gz}, contains the sources for all of Kerberos
+except for the crypto library, which is found in the file
+@file{krb5-1.0.crypto.tar.gz}.
Both files should be unpacked in the same directory, such as
-@file{/u1/krb5}. (In the rest of this document, we will assume that you
-have chosen to unpack the Kerberos V5 source distribution in this
-directory.)
+@file{/u1/krb5-1.0}. (In the rest of this document, we will assume that
+you have chosen to unpack the Kerberos V5 source distribution in this
+directory. Note that the tarfiles will by default all unpack into the
+@file{./krb5-1.0} directory, so that if your current directory is
+@file{/u1} when you unpack the tarfiles, you will get
+@file{/u1/krb5-1.0/src}, etc.)
@node Doing the Build, Testing the Build, Unpacking the Sources, Building Kerberos V5
@@ -73,7 +77,7 @@ use the following abbreviated procedure.
@enumerate
@item
- @code{cd /u1/krb5/src}
+ @code{cd /u1/krb5-1.0/src}
@item
@code{./configure}
@item
@@ -96,9 +100,9 @@ you might use the following procedure:
@enumerate
@item
-@code{mkdir /u1/krb5/pmax}
+@code{mkdir /u1/krb5-1.0/pmax}
@item
- @code{cd /u1/krb5/pmax}
+ @code{cd /u1/krb5-1.0/pmax}
@item
@code{../src/configure}
@item
@@ -118,11 +122,11 @@ you might use the following procedure:
@enumerate
@item
- @code{mkdir /u1/krb5/solaris}
+ @code{mkdir /u1/krb5-1.0/solaris}
@item
- @code{cd /u1/krb5/solaris}
+ @code{cd /u1/krb5-1.0/solaris}
@item
- @code{/u1/krb5/src/util/lndir `pwd`/../src}
+ @code{/u1/krb5-1.0/src/util/lndir `pwd`/../src}
@item
@code{./configure}
@item
@@ -148,9 +152,10 @@ building Kerberos; see @ref{Doing the Build}.):
@menu
* The DejaGnu Tests::
+* The KADM5 Tests::
@end menu
-@node The DejaGnu Tests, , Testing the Build, Testing the Build
+@node The DejaGnu Tests, The KADM5 Tests, Testing the Build, Testing the Build
@subsection The DejaGnu Tests
Some of the built-in regression tests are setup to use the DejaGnu
@@ -158,24 +163,52 @@ framework for running tests. These tests tend to be more comprehensive
than the normal built-in tests as they setup test servers and test
client/server activities.
-DejaGnu may be found wherever GNU software is archived.
+DejaGnu may be found wherever GNU software is archived.
-Most of the tests are setup to run as a non-privledged user. There are
-two series of tests (@samp{rlogind} and @samp{telnetd}) which require
-the ability to @samp{rlogin} as root to the local machine. Admittedly,
-this does require the use of a @file{.rhosts} file or some other
-authenticated means. @footnote{If you are fortunate enough to have a
-previous version of Kerberos V5 or V4 installed, and the Kerberos rlogin
-is first in your path, you can setup @file{.k5login} or @file{.klogin}
-respectively to allow you access.}
+Most of the tests are setup to run as a non-privledged user. For some
+of the krb-root tests to work properly, either (a) the user running the
+tests must not have a .k5login file in the home directory or (b) the
+.k5login file must contain an entry for @code{<username>@@KRBTEST.COM}.
+There are two series of tests (@samp{rlogind} and @samp{telnetd}) which
+require the ability to @samp{rlogin} as root to the local
+machine. Admittedly, this does require the use of a @file{.rhosts} file
+or some authenticated means. @footnote{If you are fortunate enough to
+have a previous version of Kerberos V5 or V4 installed, and the Kerberos
+rlogin is first in your path, you can setup @file{.k5login} or
+@file{.klogin} respectively to allow you access.}
If you cannot obtain root access to your machine, all the other tests
will still run. Note however, with DejaGnu 1.2, the "untested testcases"
will cause the testsuite to exit with a non-zero exit status which
@samp{make} will consider a failure of the testing process. Do not worry
about this, as these tests are the last run when @samp{make check} is
-executed from the top level of the build tree.
-
+executed from the top level of the build tree. This problem does not
+exist with DejaGnu 1.3.
+
+@node The KADM5 Tests, , The DejaGnu Tests, Testing the Build
+@subsection The KADM5 Tests
+
+Regression tests for the KADM5 system, including the GSS-RPC, KADM5
+client and server libraries, and kpasswd, are also included in this
+release. Each set of KADM5 tests is contained in a sub-directory called
+@code{unit-test} directly below the system being tested. For example,
+lib/rpc/unit-test contains the tests for GSS-RPC. The tests are all
+based on DejaGnu (but they are not actually called part of "The DejaGnu
+tests," whose naming predates the inclusion of the KADM5 system). In
+addition, they require the Tool Command Language (TCL) header files and
+libraries to be available during compilation and some of the tests also
+require Perl in order to operate. If all of these resources are not
+available during configuration, the KADM5 tests will not run. The TCL
+installation directory can be specified with the @code{--with-tcl}
+configure option (see @xref{Options to Configure}). The runtest and
+perl programs must be in the current execution path.
+
+If you install DejaGnu, TCL, or Perl after configuring and building
+Kerberos and then want to run the KADM5 tests, you will need to
+re-configure the tree and run @code{make} at the top level again to make
+sure all the proper programs are built. To save time, you actually only
+need to reconfigure and build in the directories src/kadmin/testing,
+src/lib/rpc, src/lib/kadm5, and src/kpasswd.
@node Options to Configure, osconf.h, Testing the Build, Building Kerberos V5
@section Options to Configure
@@ -192,17 +225,25 @@ program.
Provides help to configure. This will list the set of commonly used
options for building Kerberos.
-@item --prefix=DIR
+@item --prefix=PREFIX
By default, Kerberos will install the package's files rooted at
`/usr/local' as in `/usr/local/bin', `/usr/local/sbin', etc. If you
-desire a different location use this option.
+desire a different location, use this option.
-@item --exec-prefix=DIR
+@item --exec-prefix=EXECPREFIX
This option allows one to separate the architecture independent programs
from the configuration files and manual pages.
+@item --localstatedir=LOCALSTATEDIR
+
+This option sets the directory for locally modifiable single-machine
+data. In Kerberos, this mostly is useful for setting a location for the
+KDC data files, as they will be installed in
+@code{LOCALSTATEDIR/krb5kdc}, which is by default
+@code{PREFIX/var/krb5kdc}.
+
@item --with-cc=COMPILER
Use @code{COMPILER} as the C compiler.
@@ -239,10 +280,11 @@ builtin Kerberos V4 library.
@item --with-krb4=KRB4DIR
-This option enables Kerberos V4 backwards compatibility. The directory
-specified by @code{KRB4DIR} specifies where the V4 header files should
-be found (@file{/KRB4DIR/include}) as well as where the V4 Kerberos
-library should be found (@file{/KRB4DIR/lib}).
+This option enables Kerberos V4 backwards compatibility using a
+pre-existing Kerberos V4 installation. The directory specified by
+@code{KRB4DIR} specifies where the V4 header files should be found
+(@file{KRB4DIR/include}) as well as where the V4 Kerberos library should
+be found (@file{KRB4DIR/lib}).
@item --without-krb4
@@ -280,22 +322,12 @@ you're using slave servers!!! It also causes the database to be
modified (and thus needing to be locked) frequently. Please note that
the implementors do not regularly test this feature.
-@item --with-kdb-db=database
-
-The configuration process will try to determine a working set of
-libraries required to implement the Kerberos database. Configure will
-look for interfaces that use or emulate a @samp{ndbm} or @samp{dbm}
-library. Failing that, a build in copy of the Berkeley DB code will be
-used. You may decide to compile a different interface than the default
-by specifying one of "ndbm", "dbm", or "db".
+@item --with-tcl=TCLPATH
-An important note on platforms where the @samp{ndbm} implementation is
-based on @sc{GDBM} (such as the Linux Slackware distribution). @sc{GDBM}
-has its own built in file locking which prevents simultaneous access to
-the database from two separate processes in which one wants to modify
-the database while the otherone only wants to read. (i.e. the KDC and
-administrative servers). In this case, you will need to specify the use
-of the Berkeley DB.
+Some of the unit-tests in the build tree rely upon using a program in
+Tcl. The directory specified by @code{TCLPATH} specifies where the Tcl
+header file (@file{TCLPATH/include/tcl.h} as well as where the Tcl
+library should be found (@file{TCLPATH/lib}).
@end table
@@ -330,11 +362,6 @@ realms, their KDCs, etc.
The profile file format is no longer the same format as Kerberos V4's
@file{krb.conf} file.
-@item DEFAULT_LNAME_FILENAME
-
-The pathname to the database that maps authentication names to local
-account names. See kdb5_anadd(8).
-
@item DEFAULT_KEYTAB_NAME
The type and pathname to the default server keytab file (the equivalent
@@ -371,7 +398,7 @@ of the libraries may be installed on the same system and continue to
work.
Currently the supported platforms are: NetBSD 1.0A, AIX 3.2.5, AIX 4.1,
-Solaris 5.3, Alpha OSF/1 >= 2.1, HP-UX >= 9.X.
+Solaris 2.4 (aka SunOS 5.4), Alpha OSF/1 >= 2.1, HP-UX >= 9.X.
To enable shared libraries on the above platforms, run the configure
script with the option @samp{--enable-shared}.
@@ -390,9 +417,10 @@ one in the tree or you will be missing references.
@section Operating System Incompatibilities
This section details operating system incompatibilities with Kerberos V5
-which have been reported to the developers at MIT. If you find additional
-incompatibilities, and/or discover work arounds to such problems, please
-send a report to @b{krb5-bugs@@mit.edu}. Thanks!
+which have been reported to the developers at MIT. If you find
+additional incompatibilities, and/or discover work arounds to such
+problems, please send a report via the @code{krb5-send-pr} program.
+Thanks!
@menu
* AIX::
@@ -503,10 +531,6 @@ LD_LIBRARY_PATH environment variable when you compile it. Alternatively
you can use the @code{-i} option to @samp{cc}, by using the specifying
@code{--with-ccopts=-i} option to @samp{configure}.
-Shared library support only works when using the Sunsoft C compiler. We
-are currently using version 3.0.1. (The latest GCC may work; this
-needs to be tested.)
-
@node SGI Irix 5.X, Ultrix 4.2/3, Solaris 2.X, OS Incompatibilities
@subsection SGI Irix 5.X
@@ -581,7 +605,7 @@ that you have made a change that will require that all the
@code{--force} option:
@example
-% cd /u1/krb5/src
+% cd /u1/krb5-1.0/src
% ./util/reconf --force
@end example
@@ -601,7 +625,7 @@ Then follow the instructions for building packaged source trees (above).
To install the binaries into a binary tree, do:
@example
-% cd /u1/krb5/src
+% cd /u1/krb5-1.0/src
% make all
% make install DESTDIR=somewhere-else
@end example