]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - INSTALL
Refreshed patches and removed patches applied upstream
[mirror_smartmontools-debian.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 523adbe79c2df2e48ee14c21f11f193a1631e16f..f63b04a32c14aa42376f6594152e2753d80c9bc6 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
 Smartmontools installation instructions
 =======================================
 
-$Id: INSTALL,v 1.68 2006/09/27 21:42:03 chrfranke Exp $
+$Id: INSTALL 3713 2012-11-23 21:26:17Z chrfranke $
 
 Please also see the smartmontools home page:
 http://smartmontools.sourceforge.net/
@@ -9,7 +9,7 @@ http://smartmontools.sourceforge.net/
 Table of contents:
 
 [1] System requirements
-[2] Installing from CVS
+[2] Installing from SVN
 [3] Installing from source tarball
 [4] Guidelines for different Linux distributions
 [5] Guidelines for FreeBSD
@@ -45,17 +45,12 @@ Table of contents:
     smartmontools will "mostly" work.  The things that don't work will
     give you harmless warning messages.
 
-    Although "not officially supported" by the developers, smartmontools
-    has also been successfully build and run on a legacy Linux system
-    with kernel 2.0.33 and libc.so.5. On such systems, the restrictions
-    above apply.
-
     For item (1) above, any 2.4 or 2.6 series kernel will provide
     HDIO_DRIVE_TASK support.  Some 2.2.20 and later kernels also
     provide this support IF they're properly patched and
     configured. [Andre Hedrick's IDE patches may be found at
-    http://www.funet.fi/pub/linux/kernel/people/hedrick/ide-2.2.20/ or
-    are available from your local kernel.org mirror.  They are not
+    http://www.nic.funet.fi/pub/linux/kernel/people/hedrick/ide-2.2.20/
+    or are available from your local kernel.org mirror.  They are not
     updated for 2.2.21 or later, and may contain a few bugs.].
     If the configuration option CONFIG_IDE_TASK_IOCTL
     exists in your 2.2.X kernel source code tree, then your 2.2.X
@@ -102,11 +97,8 @@ Table of contents:
 
     E) Cygwin
 
-    The code was tested on Cygwin 1.5.7, 1.5.11 and 1.5.18. It should also
-    work on other recent releases.
-
-    Release 1.5.15 or later is recommended for Cygwin smartd. Older versions
-    do not provide syslogd support.
+    The code was tested on Cygwin 1.7.15-1.  It should also work on other
+    recent releases.
 
     Both Cygwin and Windows versions of smartmontools share the same code
     to access the IDE/ATA or SCSI devices. The information in the "Windows"
@@ -114,53 +106,24 @@ Table of contents:
 
     F) Windows
 
-    The code was tested on Windows 98SE, NT4(SP5,SP6), 2000(SP4) and
-    XP(no SP,SP1a,SP2). It should also work on Windows 95(OSR2), 98,
-    ME and 2003.
-
-    On 9x/ME, only standard (legacy) IDE/ATA devices 0-3 are supported.
-    The driver SMARTVSD.VXD must be present in WINDOWS\SYSTEM\IOSUBSYS
-    to get loaded at Windows startup. The default location in a new
-    installation of some versions of Windows is the WINDOWS\SYSTEM folder.
-    In this case, move SMARTVSD.VXD to WINDOWS\SYSTEM\IOSUBSYS and reboot
-    (http://support.microsoft.com/kb/265854/en-us).
-    SMARTVSD.VXD may also be missing in a new installation
-    (http://support.microsoft.com/kb/199886/en-us).
-
-    SMARTVSD.VXD relies on the standard IDE port driver ESDI_506.PDR.
-    If the system uses a vendor specific driver, access of SMART data
-    is not possible on 9x/ME. This is the case if e.g. the optional
-    "IDE miniport driver" is installed on a system with VIA chipset.
-
-    Some ATA controllers (e.g. Promise) provided a custom SMARTVSD.VXD
-    for their Win9x/ME driver. To access SMART data from both the legacy
-    (/dev/h[a-d]) and this additional (/dev/hd[e-h]) controller, rename
-    this file to SMARTVSE.VXD. Open the file with a hex editor and replace
-    all occurrences of the string "SMARTVSD" with "SMARTVSE". Then reinstall
-    the original Windows SMARTVSD.VXD.
-
-    On NT4/2000/XP/2003, ATA or SATA devices are supported if the device
-    driver implements the SMART IOCTL.
-
-    The IDE/ATA read log command (smartctl -l, --log, -a, --all) is
-    not supported by the SMART IOCTL of NT4/2000/XP. Undocumented
-    and possibly buggy system calls are used for this purpose,
-    see WARNINGS file for details.
-
-    SCSI devices are supported on all versions of Windows. An installed
-    ASPI interface (WNASPI32.DLL) is required to access SCSI devices.
-    The code was tested with Adaptec Windows ASPI drivers 4.71.2.
-    (http://www.adaptec.com/en-US/support/scsi_soft/ASPI/ASPI-4.70/)
-    Links to other ASPI drivers can be found at http://www.nu2.nu/aspi/.
-
-    3ware 9000 RAID controllers are supported using new features added
-    to the 3ware 9000 Windows driver. These features are not implemented
-    in the latest 'Released' driver (9.3.0.6) available at the time of
-    this writing. But an 'in Engineering Phase' driver v3.00.02.061 or
-    later can be used to access SMART functionality of each individual
-    drive. Older drivers provide SMART access only to the first drive
-    (port) of each unit. The commands READ LOG and ABORT SELFTEST are
-    still unsupported due to the limitations of SMART IOCTL (see above).
+    The code was tested on Windows XP SP3, 2003, Vista, Windows 7 and
+    Windows 8 Release Preview.  Support von Windows 9x/ME and NT4 was removed
+    after smartmontools 5.43.
+
+    ATA or SATA devices are supported if the device driver implements
+    the SMART IOCTLs or IOCTL_IDE_PASS_THROUGH or IOCTL_ATA_PASS_THROUGH.
+    Only the latter provides full pass-through support which is needed
+    for all smartmontools features.
+
+    SCSI and USB devices are accessed through SPTI. Special driver support
+    is not required.
+
+    3ware 9000 RAID controllers are supported using features available
+    in the Windows driver release 9.4.0 (3wareDrv.sys 3.0.2.70) or later.
+    Older drivers provide SMART access to the first physical drive (port)
+    of each logical drive (unit). If driver support is not available
+    (7000/8000 series, 9000 on XP 64), smartctl can be used to parse SMART
+    data output from CLI or 3DM.
 
     G) MacOS/Darwin
 
@@ -204,6 +167,13 @@ Table of contents:
     hard drive comes with the offline test switched on by default, so
     even that works.
 
+    The OS X SAT SMART Driver provides access to SMART data for SAT capable
+    USB and Firewire devices:
+    https://github.com/kasbert/OS-X-SAT-SMART-Driver
+    https://github.com/RJVB/OS-X-SAT-SMART-Driver
+    This does not require any smartctl -d TYPE option and should work also
+    with older smartmontools releases.
+
     H) OS/2, eComStation
 
     The code was tested on eComStation 1.1, but it should work on all versions
@@ -211,31 +181,27 @@ Table of contents:
     Innotek LibC 0.5 runtime is required.
     Currently only ATA disks are supported, SCSI support will be added.
 
-
-[2] Installing from CVS
+[2] Installing from SVN
 =======================
-    Get the sources from the CVS repository:
-    cvs -d :pserver:anonymous@smartmontools.cvs.sourceforge.net:/cvsroot/smartmontools login
-    cvs -d :pserver:anonymous@smartmontools.cvs.sourceforge.net:/cvsroot/smartmontools co sm5
-    (when prompted for a password, just press Enter)
+
+    Get the sources from the SVN repository:
+    svn co https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk/smartmontools smartmontools
 
     Then type:
     ./autogen.sh
     and continue with step [3] below, skipping the "unpack the tarball" step.
 
-    Further details of using CVS can be found at the URL above.
-
     The autogen.sh command is ONLY required when installing from
-    CVS. You need GNU Autoconf (version 2.50 or greater), GNU Automake
-    (version 1.6 or greater) and their dependencies installed in order
+    SVN. You need GNU Autoconf (version 2.50 or greater), GNU Automake
+    (version 1.7 or greater) and their dependencies installed in order
     to run it.  You can get these here:
-    http://www.gnu.org/directory/GNU/autoconf.html
-    http://www.gnu.org/directory/GNU/automake.html
+    http://directory.fsf.org/project/autoconf/
+    http://directory.fsf.org/project/automake/
 
 [3] Installing from the source tarball
 ======================================
 
-    If you are NOT installing from CVS, then unpack the tarball: 
+    If you are NOT installing from SVN, then unpack the tarball:
     tar zxvf smartmontools-5.VERSION.tar.gz
 
     Then:
@@ -244,14 +210,22 @@ Table of contents:
     make install (you may need to be root to do this)
 
     As shown (with no options to ./configure) this defaults to the
-    following set of installation directories:   
+    following set of installation directories:
     --prefix=/usr/local
     --sbindir=/usr/local/sbin
     --sysconfdir=/usr/local/etc
     --mandir=/usr/local/share/man
-    --with-docdir=/usr/local/share/doc/smartmontools-VERSION
-    --with-initscriptdir=/usr/local/etc/rc.d/init.d
+    --docdir=/usr/local/share/doc/smartmontools
+    --with-exampledir=/usr/local/share/doc/smartmontools/examplescripts
+    --with-drivedbdir=/usr/local/share/smartmontools
+    --with-initscriptdir=auto
+    --with-systemdsystemunitdir=auto
+    --enable-drivedb
+    --disable-attributelog
     --disable-sample
+    --disable-savestates
+    --with-libcap-ng=auto
+    --without-selinux
 
     These will usually not overwrite existing "distribution" installations on
     Linux Systems since the FHS reserves this area for use by the system
@@ -260,10 +234,16 @@ Table of contents:
     For different installation locations or distributions, simply add
     arguments to ./configure as shown in [4] below.
 
-    If you wish to alter the default C compiler flags, set an
-    environment variable CFLAGS='your options' before doing
+    If you wish to alter the default C++ compiler flags, set an
+    environment variable CXXFLAGS='your options' before doing
     ./configure, or else do:
-    make CFLAGS='your options'
+    make CXXFLAGS='your options'
+
+    The first output line of smartctl and smartd provides information
+    about release number, last SVN checkin date and revison, platform,
+    and package. The latter defaults to "(local build)" and can be
+    changed by the variable BUILD_INFO, for example:
+    make BUILD_INFO='"(Debian 5.39-2)"'
 
 [4] Guidelines for different Linux distributions
 ================================================
@@ -279,15 +259,15 @@ Filesystem Hierarchy Standard (FHS, http://www.pathname.com/fhs/):
   ./configure --sbindir=/usr/local/sbin                               \
               --sysconfdir=/usr/local/etc                             \
               --mandir=/usr/local/man                                 \
-              --with-initscriptdir=/usr/local/etc/rc.d/init.d         \
-              --with-docdir=/usr/local/share/doc/smartmontools-VERSION
+              --docdir=/usr/local/share/doc/smartmontools             \
+              --with-initscriptdir=/usr/local/etc/init.d
 
 Red Hat:
   ./configure --sbindir=/usr/sbin                               \
-             --sysconfdir=/etc                                 \
-             --mandir=/usr/share/man                           \
-             --with-initscriptdir=/etc/rc.d/init.d             \
-             --with-docdir=/usr/share/doc/smartmontools-VERSION
+              --sysconfdir=/etc                                 \
+              --mandir=/usr/share/man                           \
+              --docdir=/usr/share/doc/smartmontools             \
+              --with-initscriptdir=/etc/rc.d/init.d
 
 Slackware:
   If you don't want to overwrite any "distribution" package, use:
@@ -297,8 +277,8 @@ Slackware:
   ./configure --sbindir=/usr/sbin                               \
               --sysconfdir=/etc                                 \
               --mandir=/usr/share/man                           \
-              --with-initscriptdir=/etc/rc.d                    \
-              --with-docdir=/usr/share/doc/smartmontools-VERSION
+              --docdir=/usr/share/doc/smartmontools             \
+              --with-initscriptdir=/etc/rc.d
 
   And
   removepkg smartmontools smartsuite (only root can do this)
@@ -321,8 +301,8 @@ SuSE:
   ./configure --sbindir=/usr/sbin                                        \
               --sysconfdir=/etc                                          \
               --mandir=/usr/share/man                                    \
+              --docdir=/usr/share/doc/packages/smartmontools-VERSION     \
               --with-initscriptdir=/etc/init.d                           \
-              --with-docdir=/usr/share/doc/packages/smartmontools-VERSION
 
 [5] Guidelines for FreeBSD
 ==========================
@@ -330,19 +310,15 @@ SuSE:
   the following:
 
   ./configure --prefix=/usr/local                                      \
+              --docdir=/usr/local/share/doc/smartmontools-VERSION      \
               --with-initscriptdir=/usr/local/etc/rc.d/                \
-              --with-docdir=/usr/local/share/doc/smartmontools-VERSION \
-             --enable-sample
-
-  Also, it is important that you use GNU make (gmake from /usr/ports/devel/gmake)
-  to build smartmontools, as the default FreeBSD make doesn't know how to build
-  the man pages.
+              --enable-sample
 
   NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
   be installed with the string '.sample' append to the name, so you will end
   up with the following:
-       /usr/local/etc/smartd.conf.sample
-       /usr/local/etc/rc.d/smartd.sample
+        /usr/local/etc/smartd.conf.sample
+        /usr/local/etc/rc.d/smartd.sample
 
 
 [6] Guidelines for Darwin
@@ -352,50 +328,46 @@ SuSE:
   If you'd like to build the i386 version on a powerpc machine, you can
   use
 
-  CC='gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \
+  CXX='g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \
     ./configure --host=i386-apple-darwin \
-               --with-initscriptdir=/Library/StartupItems
+                --with-initscriptdir=/Library/StartupItems
 
-[7] Guidelines for NetBSD/OpenBSD
-=================================
+[7] Guidelines for NetBSD
+=========================
   ./configure --prefix=/usr/pkg                                       \
-             --with-docdir=/usr/pkg/share/doc/smartmontools
-
-  On OpenBSD, it is important that you use GNU make (gmake from 
-  /usr/ports/devel/gmake) to build smartmontools, as the BSD make doesn't
-  know how to make the manpages.
+              --docdir=/usr/pkg/share/doc/smartmontools
 
 [8] Guidelines for Solaris
 ==========================
 
     smartmontools has been partially but not completely ported to
     Solaris.  It includes complete SCSI support but no ATA or 3ware
-    support.  It can be compiled with either cc or gcc. To compile
-    with gcc:
+    support.  It can be compiled with either CC (Sun's C++ compiler)
+    or GNU g++.
+
+    To compile with g++:
 
     ./configure [args]
     make
 
-    To compile with Sun cc:
+    To compile with Sun CC:
 
-    setenv CC cc  [csh syntax], or
-    CC=cc         [sh syntax]
-    ./configure [args]
+    env CC=cc CXX=CC ./configure [args]
     make
 
     The correct arguments [args] to configure are:
      --sbindir=/usr/sbin                                \
      --sysconfdir=/etc                                  \
      --mandir=/usr/share/man                            \
-     --with-docdir=/usr/share/doc/smartmontools-VERSION \
+     --docdir=/usr/share/doc/smartmontools-VERSION      \
      --with-initscriptdir=/etc/init.d
 
     To start the script automatically on bootup, create hardlinks that
     indicate when to start/stop in:
-                   /etc/rc[S0123].d/
+                    /etc/rc[S0123].d/
     pointing to /etc/init.d/smartd. Create:
-           K<knum>smartd in rcS.d, rc0.d, rc1.d, rc2.d
-           S<snum>smartd in rc3.d
+            K<knum>smartd in rcS.d, rc0.d, rc1.d, rc2.d
+            S<snum>smartd in rc3.d
     where <knum> is related to <snum> such that the higher snum is the
     lower knum must be.
 
@@ -419,8 +391,8 @@ Same as Red Hat:
   ./configure --sbindir=/usr/sbin                               \
               --sysconfdir=/etc                                 \
               --mandir=/usr/share/man                           \
-              --with-initscriptdir=/etc/rc.d/init.d             \
-              --with-docdir=/usr/share/doc/smartmontools-VERSION
+              --docdir=/usr/share/doc/smartmontools             \
+              --with-initscriptdir=/etc/rc.d/init.d
 
   Using DOS text file type as default for the working directories ("textmode"
   mount option) is not recommended. Building the binaries and man pages using
@@ -428,17 +400,52 @@ Same as Red Hat:
   file type ("binmode" mount option) set. The "autogen.sh" script prints a
   warning if DOS type is selected.
 
+  Files may also be checked out with a non-Cygwin SVN client which uses CR/LF
+  for svn:eol-style=native.  The "autogen.sh" script has svn:eol-style=LF.
+  Bash option "-o igncr" is not required.
+
 [10] Guidelines for Windows
-==========================
+===========================
 
-To compile the Windows release with MinGW, use the following on Cygwin:
+To compile the Windows release with MinGW gcc on MSYS, use:
 
-  ./configure --build=mingw32
+  ./configure
   make
 
   Instead of using "make install", copy the .exe files into
   some directory in the PATH.
 
+Cross-compile statically linked 32-bit version with MinGW-w64:
+
+  ./configure --build=$(./config.guess) \
+              --host=i686-w64-mingw32 \
+              LDFLAGS=-static
+
+  Tested on Cygwin and Debian Linux.
+
+Cross-compile statically linked 64-bit version with MinGW-w64:
+
+  ./configure --build=$(./config.guess) \
+              --host=x86_64-w64-mingw32 \
+              LDFLAGS=-static
+
+  Tested on Cygwin and Debian Linux with MinGW-w64 from
+  http://mingw-w64.sourceforge.net/.
+
+Cross-compile on Cygwin with old gcc-mingw 3.x:
+
+  ./configure --build=$(./config.guess) \
+              --host=i686-pc-mingw32 \
+               CC='gcc-3 -mno-cygwin' \
+              CXX='g++-3 -mno-cygwin' \
+              CXXFLAGS='-g -O2 -Wall -W -Wno-format'
+
+Cross-compile on Debian Linux with gcc-mingw32:
+
+  ./configure --build=$(./config.guess) \
+              --host=i586-mingw32msvc
+
+
 To build the Windows binary distribution, use:
 
   make dist-win32
@@ -462,7 +469,15 @@ To create a Windows installer, use:
 
   The installer is build using the command "makensis" from the NSIS
   package. See http://nsis.sourceforge.net/ for documentation and
-  download location. The install script was tested with NSIS 2.17.
+  download location.
+
+  It is also possible to (cross-)build the installer on Linux.
+  This was successfully tested on Debian with package "nsis".
+
+To create a combined 32-/64-bit installer, use this in 32-bit build
+directory if 64-build directory is at ../build64:
+
+  make builddir_win64=../build64 installer_win32
 
 To both create and run the (interactive) installer, use:
 
@@ -477,16 +492,23 @@ To both create and run the (interactive) installer, use:
   or a native Win32 release of Info-ZIP, http://www.info-zip.org) are
   necessary but may be not installed by Cygwin's default settings.
 
-  It is also possible to compile smartmontools with MSVC 6.0.
-  The project files (smartmontools_vc6.dsw, smart{ctl,d}_vc6.dsp) are
-  included in CVS (but not in source tarball). The config_vc6.h is no
-  longer maintained in CVS. The command:
+  The event message file tool syslogevt.exe (see smartd man page) is
+  included in the binary distribution if message compiler (windmc)
+  and resource compiler (windres) are available. This may be disabled
+  by passing 'WINDMC=no' to configure.
+
+To prepare os_win32 directory for MS Visual Studio C++ 2010 [Express],
+use the following on MSYS or Cygwin:
 
-  make config-vc6
+  mkdir vctmp && cd vctmp
+  ../configure [... any MinGW option set from above ...]
+  make config-vc10
 
-  builds config_vc6.h from MinGW's config.h. Unlike MinGW, MSVC 6.0
-  can also be used to build the syslog message file tool syslogevt.exe.
-  See smartd man page for usage information about this tool.
+  The MSVC project files (os_win32/vc10/*) are included in SVN (but not
+  in source tarball). The target config-vc10 from a Makefile configured
+  for MinGW creates os_win32/vc10/{config,svnversion}.h from
+  ./{config,svnversion}.h. The configure skript must be run outside
+  of the source directory to avoid inclusion of the original config.h.
 
 
 [11] Guidelines for OS/2, eComStation
@@ -499,30 +521,20 @@ To compile the OS/2 code, please run
   make install
 
 [12] Guidelines for OpenBSD
-==========================
+===========================
   To match the way it will installed when it becomes available as a PORT, use
   the following:
 
   ./configure --prefix=/usr/local                                      \
-             --sysconfdir=/etc
-              --with-initscriptdir=/usr/local/share/doc/smartmontools-VERSION \
-              --with-docdir=/usr/local/share/doc/smartmontools-VERSION \
-             --enable-sample
-
-  It is important that you use GNU make (gmake from /usr/ports/devel/gmake)
-  to build smartmontools, as the default OpenBSD make doesn't know how to build
-  the man pages.
+              --sysconfdir=/etc                                        \
+              --docdir=/usr/local/share/doc/smartmontools-VERSION      \
+              --without-initscriptdir                                  \
+              --enable-sample
 
-  NOTE1: --with-initscriptdir installs a SystemV startup script.  It really
-  should be --without-initscriptdir, but the Makefile code is incorrect and
-  trys to install the initscript (smartd) to /no.  So, an interim fix it to
-  set the initscript dir to the doc dir.
-
-  NOTE2: --enable-sample will cause the smartd.conf and smartd RC files to
+  NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
   be installed with the string '.sample' append to the name, so you will end
   up with the following:
-       /usr/local/etc/smartd.conf.sample
-       /usr/local/etc/rc.d/smartd.sample
+        /etc/smartd.conf.sample
 
 [13] Comments
 ============
@@ -534,6 +546,11 @@ by the following:
   cd objdir
   ../configure [options]
 
+Man pages contents is platform-specific by default. Info specific to other
+platforms may be not visible. To generate man pages with full contents use:
+
+  make os_man_filter=
+
 To install to another destination (used mainly by package maintainers,
 or to examine the package contents without risk of modifying any
 system files) you can replace the step:
@@ -541,7 +558,7 @@ system files) you can replace the step:
 with:
   make DESTDIR=/home/myself/smartmontools-package install
 
-Use a full path. Paths like ~/smartmontools-package may not work.
+Use a full path. Paths like ./smartmontools-package may not work.
 
 After installing smartmontools, you can read the man pages, and try
 out the commands:
@@ -558,31 +575,37 @@ Note that the default location for the manual pages are
 them, you may need to add /usr/share/man to your MANPATH environment
 variable.
 
-Source and binary RPM packages are available at
-http://sourceforge.net/project/showfiles.php?group_id=64297
+Source and binary packages for Windows are available at
+http://sourceforge.net/projects/smartmontools/files/
 
-Refer to http://smartmontools.sourceforge.net/index.html#howtodownload
+Refer to http://sourceforge.net/apps/trac/smartmontools/wiki/Download
 for any additional download and installation instructions.
 
 The following files are installed if ./configure has no options:
 
-/usr/local/sbin/smartd                                  [Executable daemon]
 /usr/local/sbin/smartctl                                [Executable command-line utility]
+/usr/local/sbin/smartd                                  [Executable daemon]
+/usr/local/sbin/update-smart-drivedb                    [Drive database update script]
 /usr/local/etc/smartd.conf                              [Configuration file for smartd daemon]
 /usr/local/etc/rc.d/init.d/smartd                       [Init/Startup script for smartd]
 /usr/local/share/man/man5/smartd.conf.5                 [Manual page]
 /usr/local/share/man/man8/smartctl.8                    [Manual page]
 /usr/local/share/man/man8/smartd.8                      [Manual page]
-/usr/local/share/doc/smartmontools-5.X/AUTHORS          [Information about the authors and developers]
-/usr/local/share/doc/smartmontools-5.X/CHANGELOG        [A log of changes. Also see CVS]
-/usr/local/share/doc/smartmontools-5.X/COPYING          [GNU General Public License Version 2]
-/usr/local/share/doc/smartmontools-5.X/INSTALL          [Installation instructions: what you're reading!]
-/usr/local/share/doc/smartmontools-5.X/NEWS             [Significant bugs discovered in old versions]
-/usr/local/share/doc/smartmontools-5.X/README           [Overview]
-/usr/local/share/doc/smartmontools-5.X/TODO             [Things that need to be done/fixed]
-/usr/local/share/doc/smartmontools-5.X/WARNINGS         [Systems where lockups or other serious problems were reported]
-/usr/local/share/doc/smartmontools-5.X/smartd.conf      [Example configuration file for smartd]
-/usr/local/share/doc/smartmontools-5.X/examplescripts   [Executable scripts for -M exec of smartd.conf (4 files)]
+/usr/local/share/doc/smartmontools/AUTHORS              [Information about the authors and developers]
+/usr/local/share/doc/smartmontools/ChangeLog            [A log of changes. Also see SVN]
+/usr/local/share/doc/smartmontools/COPYING              [GNU General Public License Version 2]
+/usr/local/share/doc/smartmontools/INSTALL              [Installation instructions: what you're reading!]
+/usr/local/share/doc/smartmontools/NEWS                 [Significant bugs discovered in old versions]
+/usr/local/share/doc/smartmontools/README               [Overview]
+/usr/local/share/doc/smartmontools/TODO                 [Things that need to be done/fixed]
+/usr/local/share/doc/smartmontools/WARNINGS             [Systems where lockups or other serious problems were reported]
+/usr/local/share/doc/smartmontools/smartd.conf          [Example configuration file for smartd]
+/usr/local/share/doc/smartmontools/examplescripts/      [Executable scripts for -M exec of smartd.conf (4 files)]
+/usr/local/share/smartmontools/drivedb.h                [Drive database]
+
+If /usr/local/etc/smartd.conf exists and differs from the
+default then the default configuration file is installed as
+/usr/local/etc/smartd.conf.sample instead.
 
 The commands:
 
@@ -600,6 +623,19 @@ if groff is available:
 make MAN2HTML='groff -man -Thtml' htmlman
 
 
+Some of the source files are prepared for the documentation
+generator Doxygen (http://www.doxygen.org/). If Doxygen is installed,
+the command:
+
+doxygen
+
+creates HTML documentation in doc/html and LaTeX documentation
+in doc/latex. If TeX is installed, the following command creates
+a documentation file doc/latex/refman.pdf:
+
+( cd doc/latex && make pdf )
+
+
 [14] Detailed description of arguments to configure command
 ===========================================================
 
@@ -616,23 +652,81 @@ OPTIONS              DEFAULT                                      AFFECTS
 --prefix             /usr/local                                   Please see below
 --sbindir            ${prefix}/sbin                               Directory for smartd/smartctl executables;
                                                                   Contents of smartd/smartctl man pages
+--docdir             ${prefix}/share/doc/smartmontools            Location of the documentation
+                                                                  (autoconf >= 2.60 only, see also --with-docdir below)
 --mandir             ${prefix}/share/man                          Directory for smartctl/smartd/smartd.conf man pages
 --sysconfdir         ${prefix}/etc                                Directory for smartd.conf;
                                                                   Contents of smartd executable;
                                                                   Contents of smartd/smartd.conf man pages;
                                                                   Directory for rc.d/init.d/smartd init script
---with-initscriptdir  ${sysconfdir}/init.d/rc.d                   Location of init scripts       
---with-docdir        ${prefix}/share/doc/smartmontools-5.X       Location of the documentation
---enable-sample              --disable-sample                            Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file
+--with-initscriptdir           auto                               Location of init scripts
+--with-systemdsystemunitdir    auto                               Location of systemd service files
+--with-docdir         ${prefix}/share/doc/smartmontools           Location of the documentation
+--with-exampledir     ${docdir}/examplescripts                    Location of example scripts
+--enable-sample       --disable-sample                            Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file
+--with-os-deps        os_<guessed>.o                              OS dependent module(s)
+--with-selinux        --without-selinux                           Enables SELinux support.  If smartmontools has to create the /dev/tw[ae] device
+                                                                  nodes for 3ware/AMCC controllers, this option ensures that the nodes are created
+                                                                  with correct SELinux file contexts.
+--with-libcap-ng      --with-libcap-ng=auto                       Enables/disables libcap-ng support. If enabled and libcap-ng is
+                                                                  available, option --capabilities is added to smartd.
+--disable-drivedb     --enable-drivedb                            Disables default drive database file '${drivedbdir}/drivedb.h'
+--with-drivedbdir     ${prefix}/share/smartmontools               Directory for 'drivedb.h' (implies --enable-drivedb)
+--enable-savestates   --disable-savestates                        Enables default smartd state files '${savestates}MODEL-SERIAL.ata.state'
+--with-savestates     ${prefix}/var/lib/smartmontools/smartd.     Prefix for smartd state files (implies --enable-savestates)
+--enable-attributelog --disable-attributelog                      Enables default smartd attribute log files
+--with-attributelog   ${prefix}/var/lib/smartmontools/attrlog.    Prefix for smartd attribute log files (implies --enable-attributelog)
+
+Please note that in previous versions of smartmontools (<= 5.39) the
+default for --with-docdir was
+  ${prefix}/share/doc/smartmontools-VERSION
+This was changed to make it consistent with the default of the
+new --docdir option added in autoconf 2.60.
+
+The defaults for --with-initscriptdir and --with-systemdsystemunitdir are
+guessed such that the following rules apply:
+- If --prefix=/usr --sysconfdir=/etc is specified, the guessed directories
+  should be the defaults used by the current OS or distribution.
+- If --sysconfdir=/etc is NOT specified, the guessed directories should
+  always be below ${prefix} or below ${sysconfdir}.
 
 Here's an example:
 If you set --prefix=/home/joe and none of the other four
 variables then the different directories that are used would be:
 --sbindir             /home/joe/sbin
+--docdir              /home/joe/share/doc/smartmontools
 --mandir              /home/joe/share/man
 --sysconfdir          /home/joe/etc
---with-initscriptdir  /home/joe/etc/init.d/rc.d
---with-docdir        /home/joe/doc/smartmontools-5.X
+--with-exampledir     /home/joe/share/doc/smartmontools/examplescripts
+--with-drivedbdir     /home/joe/share/smartmontools
+--with-initscriptdir         [see below]
+--with-systemdsystemunitdir  [see below]
+
+If systemd is present (and pkg-config reports /lib/systemd/system
+as the systemdsystemunitdir):
+
+--with-initscriptdir         [disabled]
+--with-systemdsystemunitdir  /home/joe/lib/systemd/system
+
+else if /etc/rc.d/init.d exists:
+
+--with-initscriptdir         /home/joe/etc/rc.d/init.d
+--with-systemdsystemunitdir  [disabled]
+
+else if /etc/init.d exists:
+
+--with-initscriptdir         /home/joe/etc/init.d
+--with-systemdsystemunitdir  [disabled]
+
+else if /etc/rc.d exists:
+
+--with-initscriptdir         /home/joe/etc/rc.d
+--with-systemdsystemunitdir  [disabled]
+
+else
+
+--with-initscriptdir         [disabled]
+--with-systemdsystemunitdir  [disabled]
 
 This is useful for test installs in a harmless subdirectory somewhere.
 
@@ -660,19 +754,20 @@ Case 4:
 
 
 Here are the differences with and without --enable-sample, assuming
-no other options specified (see above for details)
+that initscript location is set and no other options specified 
+(see above for details)
 
 Case 1:
 --enable-sample provided
 ==> Files installed are:
-       /usr/local/etc/smartd.conf.sample
-       /usr/local/etc/rc.d/init.d/smartd.sample
+        /usr/local/etc/smartd.conf.sample
+        /usr/local/etc/rc.d/init.d/smartd.sample
 
 Case 2:
 --disable-sample provided or parameter left out
 ==> Files installed are:
-       /usr/local/etc/smartd.conf
-       /usr/local/etc/rc.d/init.d/smartd
+        /usr/local/etc/smartd.conf
+        /usr/local/etc/rc.d/init.d/smartd
 
 Additional information about using configure can be found here:
-http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_mono/autoconf.html#SEC139
+http://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts