build: New configure option --enable-all-tests.
[gnupg.git] / README
diff --git a/README b/README
index 94c0756..a9a3eb0 100644 (file)
--- a/README
+++ b/README
@@ -2,28 +2,32 @@
                       =========================
                              Version 2.1
 
-   THIS IS A DEVELOPMENT VERSION AND NOT INTENDED FOR REGULAR USE.
-
-          Copyright 1997-1998, 2013-2014 Werner Koch
-          Copyright 1998-2013 Free Software Foundation, Inc.
+          Copyright 1997-2017 Werner Koch
+          Copyright 1998-2017 Free Software Foundation, Inc.
 
 
 * INTRODUCTION
 
-  GnuPG is a tool for secure communication and data storage.  It can
-  be used to encrypt data and to create digital signatures.  It
-  includes an advanced key management facility and is compliant with
-  the proposed OpenPGP Internet standard as described in RFC4880 and
-  the S/MIME standard as described by several RFCs.
+  GnuPG is a complete and free implementation of the OpenPGP standard
+  as defined by RFC4880 (also known as PGP).  GnuPG enables encryption
+  and signing of data and communication, and features a versatile key
+  management system as well as access modules for public key
+  directories.
+
+  GnuPG, also known as GPG, is a command line tool with features for
+  easy integration with other applications.  A wealth of frontend
+  applications and libraries are available that make use of GnuPG.
+  Starting with version 2 GnuPG provides support for S/MIME and Secure
+  Shell in addition to OpenPGP.
 
-  GnuPG is distributed under the terms of the GNU General Public
-  License.  See the file COPYING for details.  GnuPG works best on
-  GNU/Linux or *BSD systems.  Most other Unices are also supported but
-  are not as well tested as the Free Unices.
+  GnuPG is Free Software (meaning that it respects your freedom). It
+  can be freely used, modified and distributed under the terms of the
+  GNU General Public License.
 
-  GnuPG-2 is the stable version of GnuPG integrating support for
-  OpenPGP and S/MIME.  It does not conflict with an installed 1.4
-  OpenPGP-only version.
+  Note that the 2.0 series of GnuPG will reach end-of-life on
+  2017-12-31.  It is not possible to install a 2.1.x version along
+  with any 2.0.x version.  However, it is possible to install GnuPG
+  1.4 along with a 2.x version.
 
 
 * BUILD INSTRUCTIONS
 
     ./configure
     make
+    make check
     make install
 
-  (Before doing install you might need to become root.)
+  The "make check" is optional but highly recommended.  To run even
+  more tests you may add "--enable-all-tests" to the configure run.
+  Before running the "make install" you might need to become root.
 
   If everything succeeds, you have a working GnuPG with support for
   OpenPGP, S/MIME, ssh-agent, and smartcards.  Note that there is no
   Add other options as needed.
 
 
+*** Systems without a full C99 compiler
+
+  If you run into problems with your compiler complaining about dns.c
+  you may use
+
+    ./configure --disable-libdns
+
+  Add other options as needed.
+
+
 * MIGRATION from 1.4 or 2.0 to 2.1
 
   The major change in 2.1 is gpg-agent taking care of the OpenPGP
   exists and copies them to the new store.  The old secring.gpg is
   kept for use by older versions of gpg.
 
-  GPG's smartcard commands --card-edit and --card-status as well as some
-  of the card related sub-commands of --edit-key are not yet fully
-  supported.  However, signing and decryption with a smartcard does
-  work.
-
-  Note that gpg-agent now uses a fixed socket by default.  All tools
-  will start the gpg-agent as needed.  In general there is no more
-  need to set the GPG_AGENT_INFO environment variable.  The
-  SSH_AUTH_SOCK environment variable should be set to a fixed value.
+  Note that gpg-agent now uses a fixed socket.  All tools will start
+  the gpg-agent as needed.  The formerly used environment variable
+  GPG_AGENT_INFO is ignored by 2.1.  The SSH_AUTH_SOCK environment
+  variable should be set to a fixed value.
 
   The Dirmngr is now part of GnuPG proper and also used to access
-  OpenPGP keyservers.  The directroy layout of Dirmngr changed to make
+  OpenPGP keyservers.  The directory layout of Dirmngr changed to make
   use of the GnuPG directories.  Dirmngr is started by gpg or gpgsm as
-  needed needed. There is no more need to install a separate dirmngr
-  package.
+  needed. There is no more need to install a separate Dirmngr package.
+
+* RECOMMENDATIONS
+
+** Socket directory
 
+  GnuPG uses Unix domain sockets to connect its components (on Windows
+  an emulation of these sockets is used).  Depending on the type of
+  the file system, it is sometimes not possible to use the GnuPG home
+  directory (i.e. ~/.gnupg) as the location for the sockets.  To solve
+  this problem GnuPG prefers the use of a per-user directory below the
+  the /run (or /var/run) hierarchy for the the sockets.  It is thus
+  suggested to create per-user directories on system or session
+  startup.  For example the following snippet can be used in
+  /etc/rc.local to create these directories:
+
+      [ ! -d /run/user ] && mkdir /run/user
+      awk -F: </etc/passwd '$3 >= 1000 && $3 < 65000 {print $3}' \
+        | ( while read uid rest; do
+              if [ ! -d "/run/user/$uid" ]; then
+                mkdir /run/user/$uid
+                chown $uid /run/user/$uid
+                chmod 700 /run/user/$uid
+              fi
+            done )
 
 
 * DOCUMENTATION
   enter "make pdf" For a HTML version enter "make html" and point your
   browser to gnupg.html/index.html.  Standard man pages for all
   components are provided as well.  An online version of the manual is
-  available at http://www.gnupg.org/documentation/manuals/gnupg/ .  A
+  available at [[https://gnupg.org/documentation/manuals/gnupg/]] .  A
   version of the manual pertaining to the current development snapshot
-  is at http://www.gnupg.org/documentation/manuals/gnupg-devel/ .
+  is at [[https://gnupg.org/documentation/manuals/gnupg-devel/]] .
 
 
-* GnuPG 1.4 and GnuPG 2.0
+* Installing GnuPG 2.2. and GnuPG 1.4
 
-  GnuPG 2.0 is a newer version of GnuPG with additional support for
-  S/MIME.  It has a different design philosophy that splits
-  functionality up into several modules.  Both versions may be
-  installed simultaneously without any conflict (gpg is called gpg2 in
-  GnuPG 2).  In fact, the gpg version from GnuPG 1.4 is able to make
-  use of the gpg-agent as included in GnuPG 2 and allows for seamless
-  passphrase caching.  The advantage of GnuPG 1.4 is its smaller size
-  and no dependency on other modules at run and build time.
+  GnuPG 2.2 is a current version of GnuPG with state of the art
+  security design and many more features.  To install both versions
+  alongside, it is suggested to rename the 1.4 version of "gpg" to
+  "gpg1" as well as the corresponding man page.  Newer releases of the
+  1.4 branch will likely do this by default.  In case this is not
+  possible, the 2.2 version can be installed under the name "gpg2"
+  using the configure option --enable-gpg-is-gpg2.
 
 
 * HOW TO GET MORE INFORMATION
 
+  A description of new features and changes in version 2.1 can be
+  found in the file "doc/whats-new-in-2.1.txt" and online at
+  "https://gnupg.org/faq/whats-new-in-2.1.html" .
+
   The primary WWW page is "https://www.gnupg.org"
-             or using TOR "http://ic6au7wa3f6naxjq.onion"
+             or using Tor "http://ic6au7wa3f6naxjq.onion"
   The primary FTP site is "ftp://ftp.gnupg.org/gcrypt/"
 
-  See https://www.gnupg.org/download/mirrors.html for a list of
+  See [[https://gnupg.org/download/mirrors.html]] for a list of
   mirrors and use them if possible.  You may also find GnuPG mirrored
   on some of the regular GNU mirrors.
 
   https://www.gnupg.org/documentation/mailing-lists.html for archives
   of the mailing lists.
 
-  Please direct bug reports to http://bugs.gnupg.org or post them
+  Please direct bug reports to [[http://bugs.gnupg.org]] or post them
   direct to the mailing list <gnupg-devel@gnupg.org>.
 
   Please direct questions about GnuPG to the users mailing list or one
 
   Commercial grade support for GnuPG is available; for a listing of
   offers see https://www.gnupg.org/service.html .  Maintaining and
-  improving GnuPG is costly.  Since 2001, g10 Code GmbH, a German
-  company owned and headed by GnuPG's principal author Werner Koch, is
-  bearing the majority of these costs.  To help them carry on this
-  work, they need your support.  See https://gnupg.org/donate/ .
+  improving GnuPG requires a lot of time.  Since 2001, g10 Code GmbH,
+  a German company owned and headed by GnuPG's principal author Werner
+  Koch, is bearing the majority of these costs.  To keep GnuPG in a
+  healthy state, they need your support.
+
+  Please consider to donate at https://gnupg.org/donate/ .
 
 
 # This file is Free Software; as a special exception the authors gives