Blame INSTALL

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