Requirements ============ - autofs 5.0.0 requires protocol version 5.00 of the autofs4 kernel module (see "Applying the kernel patch" below). - The LDAP, SASL, and the libxml2 libraries may also be required if the LDAP configure options are selected (see "Configure options for autofs" below). How to build and install ======================== To configure, compile, and install the package directly from the tar distribution, follow these steps. 1. Make sure you have the latest version of the package available from http://www.kernel.org/pub/linux/daemons/autofs/v4. 2. Type `./configure' to configure the package. You may want to add selected configure options. See "Configure options for autofs" below. 3. Build the package by typing `make' 4. Install the package by typing `make install'. To build an `rpm' from the tar distribution use: rpmbuild -tb autofs-5.0.0_beta6.tar.gz and install the resulting rpm package. Configure options for autofs ============================ There are several configure options available to add functionality. --prefix= autofs usually installs in /usr, with the daemon in /usr/sbin, the man pages in /usr/man, and the modules in /usr/lib/autofs. If you wish to install to a different location use this option. --with-path=PATH Allows the specification of the path to search for utility binaries used by autofs during the `configure' process. If any of your binaries such as `mount', `mount.cifs' etc. live in locations other than /usr/bin:/bin:/usr/sbin:/sbin you will need to use this option. --disable-ext-env This option disables the ability to the external environment to set an external environment variable for substitution. --disable-mount-locking This option disables mount locking which is to prevent corruption in /etc/mtab due to multiple concurrent autofs mount commands. --enable-force-shutdown This option enables the use of the USR1 signal to force an unconditional unlink umount of all mounts at shutdown. --enable-ignore-busy This option enables the automount to exit ignoring any busy mounts upon receiving a TERM signal. automount attempts to recover upon startup. --with-confdir=DIR This option allows the specification of the directory that contains the autofs configuration file `autofs'. If not given the directories `/etc/sysconfig', `/etc/default' and `/etc/conf.d' and checked for existence and the first one found is used. --with-mapdir=PATH This option allows the specification of the directory that contains autofs mount maps. The directories `/etc/autofs' and `/etc' are checked for existence and first one found is used. --with-hesiod=DIR Use this option to enable Hesiod support if your Hesiod library isn't installed in /usr/lib with the include files in /usr/include. --with-openldap=DIR Use this To enable LDAP support if your OpenLDAP library isn't installed in /usr/lib with the include files in /usr/include. --with-sasl=DIR Use this to enable TLS encrypted connections and LDAP authentication using the SASL library. DIR only needs to be given if your LDAP and SASL library and include files are installed in other than /usr/lib and /usr/include. See auto.master(5) for more information about LDAP configuration. Applying The Kernel Patch ========================= Patches that can be applied to the kernel are located in the `patches' directory. If you have installed autofs from an rpm then they can be found in the packages' doc directory after install. They consist of a kernel patch for each kernel from 2.6.9 thru 2.6.16 (the patches are in the 2.6.17-rc series so patching a 2.6.17 or above kernel shouldn't be needed). If you need a patch for an older 2.6 kernel then post to the autofs mailing list and ask for one to be done. To apply one of these patches: 1) change to the root of your kernel source tree. 2) patch the kernel 3) make the kernel 4) Install the kernel as normal. If you use a packaged kernel then you need to check to see if the v5 update patch will apply and if it does apply add the update patch and build your packaged kernel. For example, Fedora Core 4 kernel package 2.6.11-1.369_FC4 would use the 2.6.12 patch because it applies the 2.6.12 release candidate revision 6 patch. But the autofs patch doesn't apply because the rpm also applies a patch somewhere that changes one area the patch also changes but this change is not present in the 2.6.12 release kernel. On the other hand, Fedora Core 3 kernel 2.6.12-1.1381_FC3 uses the 2.6.12 patch and it applies cleanly because the kernel doesn't apply a 2.6.13 release candidate patch and there are no additional patches that clash with the autofs update patch. To build this kernel with an update patch modify the kernel-2.6.spec to apply the update patch after all other patches (see example change below), copy the autofs4-2.6.12-v5-update to the SOURCES directory of your RPM build tree and us use `rpmbuild -bb --target=i686 kernel-2.6.spec' in the SPEC directory of the build tree and install the resulting RPMs. Example of how to add the update patch: --- kernel-2.6.spec.orig 2006-05-01 10:14:27.000000000 +0800 +++ kernel-2.6.spec 2006-05-01 10:16:21.000000000 +0800 @@ -358,6 +358,8 @@ Patch10000: linux-2.6.0-compile.patch Patch10001: linux-2.6-compile-fixes.patch +Patch20000: autofs4-2.6.12-v5-update.patch + # END OF PATCH DEFINITIONS BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root @@ -739,6 +741,7 @@ %patch10000 -p1 %patch10001 -p1 +%patch20000 -p1 # END OF PATCH APPLICATIONS Some Fedora Core kernels have autofs4 bug fix patches, such as 2.6.16-1.2096_FC5. The update patch supersedes all previous patches so any additional autofs4 patches should be removed and the update patch added. For example 2.6.16-1.2096_FC5 needs this change: --- kernel-2.6.spec.orig 2006-06-18 14:56:27.000000000 +0800 +++ kernel-2.6.spec 2006-06-18 14:56:52.000000000 +0800 @@ -359,7 +359,7 @@ Patch1630: linux-2.6-radeon-backlight.patch Patch1640: linux-2.6-ide-tune-locking.patch Patch1641: linux-2.6-ide-cd-shutup.patch -Patch1650: linux-2.6-autofs-pathlookup.patch +#Patch1650: linux-2.6-autofs-pathlookup.patch Patch1660: linux-2.6-valid-ether-addr.patch Patch1670: linux-2.6-softcursor-persistent-alloc.patch Patch1680: linux-2.6-pwc-powerup-by-default.patch @@ -983,7 +983,7 @@ # Silence noisy CD drive spew %patch1641 -p1 # autofs4 looks up wrong path element when ghosting is enabled -%patch1650 -p1 +#%patch1650 -p1 # %patch1660 -p1 # Use persistent allocation in softcursor