clarification on building rpms
[openafs-wiki.git] / AFSLore / HowToBuildOpenAFSFromSource.mdwn
index bc227fe..2f9d27b 100644 (file)
@@ -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
@@ -327,7 +353,13 @@ Some make targets of interest
 - make tests - make the (old) afs test suite
 
 
-### Building RPM packages
+## Building RPM packages
+
+A script is provided to build RPM packages. This script will run the
+configure and make as part of the process. You'll need to get source
+and document tar archives of the version you want to build, and then
+use a script to build the source RPM, then use the rpmbuild tool to
+build the packages from that source RPM.
 
 To build OpenAFS RPM packages, use the OpenAFS makesrpm.pl script to build a
 source RPM, and then use the rpm tool rpmbuild to build the various packages.
@@ -344,12 +376,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