## The Longer Story
-Building and packaging OpenAFS is not difficult on most modern unix-like
+Building and packaging OpenAFS is not difficult on current unix-like
systems. A small number of fairly common libraries and tools are required. The
kernel headers and a compiler capable of building a kernel module is needed to
-build the OpenAFS kernel module needed for the AFS client (and for legacy so
-called inode fileservers.) The gnu autoconf and automake tools are used to
+build the OpenAFS kernel module (used by the cache manager and for
+inode-backend fileservers.) The gnu autoconf and automake tools are used to
configure the build system, so should be familiar to most people accustomed to
building binaries on unix-like systems.
See the README file for details on building OpenAFS and platform specific
notes. See src/SOURCE-MAP for a brief description of each source code component.
-A script called regen is used to build the configure script and to
+A script called regen.sh is used to build the configure script and to
generate the man page documentation from perl pod formatted files.
The configure sets up the build system for your platform. Configure will
- perl, v5.6 or better
- make
- compiler
--- must be capable of building kernel modules for the target)
--- if using gcc, version 4.2 or better is recommended
+ * must be capable of building kernel modules for the target)
+ * if using gcc, version 4.2 or better is recommended
- assembler (as)
- linker
- ranlib
> Note for RHEL users: RedHat Enterprise Linux 5.5 and less shipped with a
> version of autoconf too old to generate the OpenAFS configure script.
> Fortunately, the recently released RHEL 6.0 shipped with a more up to date
-> version of autoconf which mets the minimum version needed to generate th
+> version of autoconf which mets the minimum version needed to generate the
+> configure script.
The following development libraries are used to build OpenAFS:
Compressed tar files of the source tree are made available for each stable and
development release. The most recent release is located at
-http://openafs.org/release/latest.html. Archives for releases are located at
-/afs/openafs.org/software/openafs/ and http://dl.openafs.org/dl. For example,
+<http://openafs.org/release/latest.html>. Archives for releases are located at
+/afs/openafs.org/software/openafs/ and <http://dl.openafs.org/dl>. For example,
to download and uncompress version 1.4.14,
$ wget http://dl.openafs.org/dl/1.4.14/openafs-1.4.14-src.tar.bz2
### Kerberos 5 configuration
-Recent configure scripts will automatically find the location of the
-krb5-config script to configure kerberos. If you need to build an
-older version, use the --with-krb5-conf option.
+The 1.6.0 configure scripts should automatically find the kerberos 5
+libraries and headers.
+
+If you need to build 1.4.x, or if the krb5-config file is in a non-standard
+location, use the --with-krb5-conf option to specify the path to the krb5-config
+utility (part of the kerberos 5 development package).
+
+ --with-krb5-conf=/usr/bin/krb5-config
+
### Debugging Options
and safely used by a ptserver built
without this option.
+### Configure changes in 1.6.0
+
+If you have been building the 1.5.0 freatures branch, note the following configure
+options have been removed in 1.6.0. Each feature is now always on, except as noted:
+
+* --disable-afsdb
+* --disable-largefile-fileserver
+* --enable-bos-restricted
+* --enable-fast-restart (off, but the code is still there)
+* --disable-full-vos-listvol
+* --enable-disconnected
+* --enable-icmp-pmtu-discovery
+* --enable-demand-attach-fs (see below)
+
+In 1.5.x, the demand attach fileserver feature was enabld by the a configure
+switch. Starting in 1.6.0, both DAFS and legacy binaries are built. The
+DAFS binaries are prefixed with 'da', expect for the new salvageserver, since
+salvageserver is new with DAFS.
+
+
## Make
After a successful configure, run make to build OpenAFS. The
$ sudo cp -p -r lib /usr/afsws
$ sudo cp -p -r include /usr/afsws
-See Storing AFS Binaries in AFS
-http://docs.openafs.org/QuickStartUnix/ch02s29.html for instructions on
+See [Storing AFS Binaries in AFS](http://docs.openafs.org/QuickStartUnix/ch02s29.html) for instructions on
how to store the workstation binaries in AFS.
## Post build
$ tar cjf openafs-<version>-src.tar.bz2 openafs-<version> --exclude .git --exclude doc
$ tar cjf openafs-<version>-doc.tar.bz2 openafs-<version>/doc
-where <version> is the dotted OpenAFS version number, such as 1.6.0,
-and <tagname> is the git tag for the version, such as openafs-stable-1_6_0.
+where _version_ is the dotted OpenAFS version number, such as 1.6.0,
+and _tagname_ is the git tag for the version, such as openafs-stable-1_6_0.
Next run makesrpm.pl to build the source RPM, and then use rpmbuild to
build the binaries and packages. The resulting packages will be located
-in the $HOME/rpmbuild/RPMS/<arch> directory.
+in the $HOME/rpmbuild/RPMS/_arch_ directory.
$ openafs-<version>/src/packaging/RedHat/makesrpm.pl openafs-<version>-src.tar.bz2 openafs-<version>-doc.tar.bz2
$ rpmbuild --rebuild openafs-<version>-1.0.src.rpm