formatting fix
[openafs-wiki.git] / AFSLore / HowToBuildOpenAFSFromSource.mdwn
index 539c393..418f4c6 100644 (file)
@@ -27,11 +27,11 @@ See the end of this page for instructions on how to build RPM packages.
 
 ## 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.
 
@@ -43,7 +43,7 @@ out a version from the git repository.
 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
@@ -76,8 +76,8 @@ The following tools are needed to build OpenAFS:
 - 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
@@ -101,7 +101,8 @@ host.
 > 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:
 
@@ -150,8 +151,8 @@ need to build.  For example,
 
 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
@@ -234,9 +235,15 @@ specify the path with the --with-linux-kernel-headers option. For example,
 
 ### 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
 
@@ -270,6 +277,26 @@ for a complete list and README for more details.  Common options are:
                                    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
@@ -314,8 +341,7 @@ these file into your local filesystem:
     $ 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
@@ -344,12 +370,12 @@ archive files.
     $ 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