From: Sam Hartman Date: Mon, 16 Jul 2001 07:11:01 +0000 (+0000) Subject: Initial revision X-Git-Tag: debian/1.1.0-1~8 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=b437c0ca14a7e646c0e45d3892b3b5947021c867;p=packages%2Fo%2Fopenafs.git Initial revision --- diff --git a/INSTALL b/INSTALL new file mode 100644 index 000000000..3b69cc5f8 --- /dev/null +++ b/INSTALL @@ -0,0 +1,160 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Resulting binaries will be in a directory named for the AFS system + name for which you're building, e.g. i386_linux24 or sun4x_57. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/README b/README new file mode 100644 index 000000000..ca463b17b --- /dev/null +++ b/README @@ -0,0 +1,89 @@ +Copyright 2000, International Business Machines Corporation and others. +All Rights Reserved. + +This software has been released under the terms of the IBM Public +License. For details, see the LICENSE file in the top-level source +directory or online at http://www.openafs.org/dl/license10.html + +Building OpenAFS on UNIX and LINUX +---------------------------------- + +A. Creating the proper directory structure. + + Uncompress the source into a directory of your choice. A directory + in afs space is also valid. In the directory that you uncompressed the + source in, you will only have an src/ directory. + + 1. Pick a system to build for, and note its default AFS sys_name. + A directory will be automatically created for binaries to be written + into with this name when you build. + + alpha_dux40 + alpha_dux50 (only tested on 5.0A) + i386_linux22 + i386_linux24 (only tested with 2.4.0 kernel) + rs_aix42 + sgi_65 (file server not tested) + sun4x_56 + sun4x_57 + sun4x_58 + ppc_darwin_13 + alpha_linux_22 (DES does not work, will require one more change to + compile) + hp_ux110 (No client support, but db servers and utilities work) + hp_ux102 (No client support, but db servers and utilities work) + + 2. Using configure in the top level directory, configure for your + AFS system type, providing the necessary flags: + % ./configure --with-afs-sysname=sun4x_58 + + For Linux systems you need also provide the patch in which your + kernel headers for your configured kernel can be found. This should + be the path of the directory containing a child directory named + "include". So if your version file was + /usr/src/linux/include/linux/version.h you would invoke: + % ./configure --with-afs-sysname=i386_linux24 --with-linux-kernel-headers=/usr/src/linux + + Currently you can build for only one Linux kernel at a time, + and the version is extracted from the kernel headers in the root + you specify. + + Be prepared to provide the switches --enable-obsolete and + --enable-insecure if you require the use of any bundled but obsolete + or insecure software included with OpenAFS. See README.obsolete and + README.insecure for more details. + +B Building + + 1. Now, you can build OpenAFS. + + % make + + When the build completes, you will have a complete binary tree + in the dest directory under the directory named for the sys_name you + built for, e.g. sun4x_57/dest or i386_linux22/dest + + 2. As appropriate you can clean up or, if you're using Linux, build for + another kernel version: + a. To clean up: + % make clean + + b. To build for another Linux kernel version: + the system type defined in step A1. + % ./configure --with-afs-sysname=i386_linux22 --with-linux-kernel-headers=/usr/src/linux-2.2.19-i686 + % make + + Your dest tree will now include an additional kernel module for your + additional kernel headers. Be aware that if the kernel version string + which UTS_RELEASE is defined to in include/linux/version.h matches + the last kernel you built for, the previous kernel module will be + overwritten. + +C Problems + If you have a problem building this source, you may want to visit + http://www.openafs.org/ to see if any problems have been reported + or to find out how to get more help. + + Mailing lists have been set up to help; More details can be found + on the openafs.org site. + diff --git a/README.OBSOLETE b/README.OBSOLETE new file mode 100644 index 000000000..b7ccaaddb --- /dev/null +++ b/README.OBSOLETE @@ -0,0 +1,18 @@ +The ntp, mpp and package included with AFS are obsolete. + +The ntp package is intended to only maintain time on servers; Clients +get time from servers unless afsd is started with -nosettime. That said, +if you're running servers, you should get and install ntp from: +ftp://ftp.udel.edu/pub/ntp/ntp4/ +(Their home page can be found at http://www.ntp.org/) +Newer versions of ntp include support for authentication. They also make +more efficient use of the network. + +Disk management tools like package (and the preprocessor included for use +with it, mpp) are not strictly part of a distributed filesystem package. +However, Carnegie Mellon Computing Services has continued to use +and occasionally develop them, and current versions can be found at: +ftp://ftp.andrew.cmu.edu/pub/AFS-Tools + +To enable building of the obsolete code included with OpenAFS, +run configure with the --enable-obsolete switch diff --git a/README.SECURITY b/README.SECURITY new file mode 100644 index 000000000..e8f2fe2c5 --- /dev/null +++ b/README.SECURITY @@ -0,0 +1,25 @@ +The inetd, rcp, rlogind and rsh directories contain AFS authentication (token) +passing support for their respective utilities. We are not removing these +utilities as some sites may still be using them, but we *strongly discourage* +their use. These utilities don't encrypt user traffic, and they also don't +encrypt the AFS tokens. This means an attacker can capture the data and recover +a valid authentication token, and use it to perform authenticated operations. + +Consider foregoing the rcmds altogether and using ssh. You can get Dug Song's +ssh patch to support AFS here: +http://www.monkey.org/~dugsong/ssh-afs/ +but you'll also need to install Kerberos 4 for libraries (which isn't a bad +idea anyhow). The KTH implementation includes the AFS helper library libkafs, +and so is desirable: +ftp://ftp.pdc.kth.se/pub/krb/src/ + +As a side effect, the insecure, but AFS aware ftpd included in AFS can be +replaced by the ftpd included in the above-mentioned Kerberos package, as it +has RFC2228 security extensions. + +In any case, carefully consider the security implications before deploying +these utilities. + +To enable building of the insecure code included with OpenAFS, run +configure with the --enable-insecure switch. +