Modify how to make symbolic link in 'find-debuginfo.sh' script
[platform/upstream/rpm.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index ddf3afa..85cc8d6 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -9,7 +9,7 @@ The libmagic (aka file) library for file type detection (used by rpmbuild).
 The source for the file utility + library is available from
     ftp://ftp.astron.com/pub/file/
 
-The NSS library for encryption, and NSPR library which NSS uses. 
+The NSS >= 3.12 library for encryption, and NSPR library which NSS uses. 
 Both NSPR and NSS libraries and headers need to be installed during RPM
 compilation. As NSPR and NSS typically install their headers outside
 the regular include search path, you need to tell configure about this,
@@ -63,12 +63,6 @@ Minimal instructions for building BDB are
     make
     make install
 
-If you want to use the alternative SQLite backend for RPM database instead 
-of the default Berkeley DB, it can be enabled with --enable-sqlite3 option 
-to configure. Note that the SQLite backend is not as tested as BDB. 
-SQLite >= 3.x is required and is available from
-    http://www.sqlite.org/
-
 For embedded Lua scripting support (recommended and enabled by default),
 you'll need Lua >= 5.1 library + development environment installed.
 Note that only the library is needed at runtime, RPM never calls external
@@ -80,19 +74,27 @@ to configure and libselinux development environment installed. SELinux
 is available from
     http://www.nsa.gov/selinux/
 
-It may be desired to install bzip2, gzip, and lzma so that RPM can use these
+It may be desired to install bzip2, gzip, and xz/lzma so that RPM can use these
 formats.  Gzip is necessary to build packages that contain compressed
 tar balls, these are quite common on the Internet.
 These are availible from
     http://www.gzip.org
     http://www.bzip.org
-    http://tukaani.org/lzma/
+    http://tukaani.org/xz/
 
 If you want to build the Python bindings to RPM library, it can be enabled
 with --enable-python option to configure. You'll need to have Python (>= 2.3)
 runtime and C API development environment installed, this is available from 
     http://www.python.org/
 
+To enable POSIX.1e draft 15 file capabilities support, configure with
+--with-cap. You'll also need recent libcap, available from:
+    http://ftp.kernel.org/pub/linux/libs/security/linux-privs/libcap2/
+
+To enable POSIX 1003.1e draft 17 ACL verification support, configure with
+--with-acl. You'll also need the ACL library, available from:
+    ftp://oss.sgi.com/projects/xfs/cmd_tars/
+
 For best results you should compile with GCC and GNU Make.  Users have
 reported difficulty with other build tools (any patches to lift these
 dependencies are welcome). Both GCC and GNU Make available from 
@@ -109,8 +111,10 @@ autoconf, automake, gettext, libtool, makeinfo, perl, GNU m4, GNU tar
 available from 
     http://www.gnu.org/
 
-If you want to build RPM API documentation, use --enable-apidocs configure
-option. Doxygen is needed for this, it's available at
+RPM distribution tarballs come with doxygen generated HTML documentation
+for the public RPM API, but if you want to generate documentation for
+the entire source including internal API's, use --enable-hackingdocs
+configure option. Doxygen is needed for this, it's available at
     http://www.stack.nl/~dimitri/doxygen/
 
 If you plan on using cryptographic signatures you will need a version
@@ -157,20 +161,12 @@ and then install with:
 
     make install
 
-If you wish to make a tarfile of the binaries so that you may easily
-install on machines with OS package managers other then rpm (ed note:
-what about putting gzip and bzip2 in the tar, modifying the
-/etc/rpmrc?):
-
-    make tar
-
-when installing. If you do install from a tarball, you will need to do
-something like
-
-    mkdir /var/lib/rpm
-    rpm --initdb
+Rpm comes with an automated self-test suite. The test-suite relies heavily
+on fakechroot (https://github.com/fakechroot/) and cannot be executed
+without it. Provided that fakechroot was found during configure,
+it can be executed after a succesful build with:
 
-to initialize your rpm database.
+    make check
 
 Finally, if you wish to prepare an rpm source tar ball, you should do
 
@@ -231,7 +227,7 @@ with:
 and if you wish to ensure that some directories are not traversed you
 can use the option: 
 
-    --ignore_dirs 'egrep|pattern|of|paths|to|ignore
+    --ignore_dirs 'grep-E|pattern|of|paths|to|ignore
 
 By default the generated rpm will include a %verifyscript to verify
 checksum of all files traversed has not changed.  This additional
@@ -307,13 +303,12 @@ Pro would want `i586pro' over `i586-pro', but it does make parsing
 this filename by other programs a bit more difficult.
 
 
-GPG/PGP/PGP5
-------------
+GPG
+---
 
 To use the signing features of rpm, you will need to configure certain
 rpm macros in ~/.rpmmacros:
 
-       %_signature     gpg
        %_gpg_name      <GPG UID>
        %_gpg_path      %(echo $HOME)/.gnupg