imported Silcer.
[silc.git] / README.CVS
index ad487ee3ffa6bdf69bd6751196252862de8ac1b7..fc950df7c38022104e44d31695350ca5d66a459f 100644 (file)
@@ -1,31 +1,52 @@
-This document describes how to compile the SILC source tree after checkout
-from the CVS.  This README.CVS file will appear only in the checkout
-source tree and not in any public distribution.
+Anonymous CVS Access
+====================
 
-Howto Checkout Source Tree
-==========================
+Anonymous CVS access is now available to SILC CVS repository. The
+repository includes everything related to SILC project; source codes,
+documentation and web pages.
 
-Be sure to set the CVSROOT environment variable first or use -d option
-of CVS.  I suggest setting CVSROOT environment variable.
+Also note that this is the closest to real time development you can get
+thus you cannot expect that the source tree would work or even compile.
+While it is our intention that the trunk would always at least compile
+there might be situations when it will not.
 
-       export CVSROOT=:pserver:silccvs@silc.pspt.fi:/silc
 
+Howto Checkout The Source Tree
+==============================
+
+The repository can be checked out by using anonymous pserver with CVS.
+There are no password restrictions in the SILC anonymous CVS repository.
+
+For those who are using sh/ksh/bash the check out is done as follows:
 
-Checkout of SILC source tree, and to bemore specific, SILC trunk, give,
+export CVSROOT=:pserver:cvs@cvs.silcnet.org:/cvs/silc
+cvs login
+cvs co silc
 
-       cvs co silc
+For those who are using csh/tcsh the check out is done as follows:
 
-or
+setenv CVSROOT :pserver:cvs@cvs.silcnet.org:/cvs/silc
+cvs login
+cvs co silc
 
-       cvs -d :pserver:silccvs@silc.pspt.fi:/silc co silc
+If you don't want to set $CVSROOT environment variable you can set the
+path to the cvs as command line options:
 
+cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc login
+cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc co silc
 
-CVS will ask password.  The password for anonymous (read access) CVS is
+What ever method you decide to use, after you have done cvs login you will
+be prompted for password:
 
-       CVS password: silccvs
+       CVS password: silc
 
+Type the password "silc" and press Enter.
 
-CVS currently does not have branches, thus this checkouts the trunk.
+The actual SILC source tree is checked out using the cvs co silc command,
+described above. This command will fetch the source tree and save it into
+directory named silc. SILC CVS repository currently does not have any
+branches thus this will check out the trunk. The size of the trunk is
+currently about 8 Mb but will grow in the future.
 
 
 What SILC Source Tree Includes
@@ -48,11 +69,68 @@ Following directories currently exist in SILC source tree.
 
         Includes SILC include files.
 
+  irssi/
+
+       Includes the Irssi SILC Client.
+
   lib/
 
         Includes SILC libraries.  There maybe libraries on the CVS that
         does not appear on public distribution.
 
+  lib/contrib/
+
+        Contrib directory for routines that some of the platforms might
+        not have.  In that case these routines are provided by the SILC.
+
+  lib/silcclient/
+
+        The SILC Client library. Implementation of the SILC Client without
+        the user interface.  The library provides an interface for user
+        interface designers.
+
+  lib/silccore/
+
+        The SILC Protocol Core library.  Implementation of all the core
+        components of the SILC Protocol.  This is used by all the SILC
+        applications.
+
+  lib/silccrypt/
+
+        The SILC Crypto library. Provides all cryptographic algorithms
+        used in the SILC.  Provides also the Cryptographically strong
+        random number generator.
+
+  lib/silcmath/
+
+        The SILC Math library. Provides the Math and MP routines for
+        SILC applications.  The MP library is actually the GMP.
+
+  lib/silsim/
+
+        The SILC Modules library.  Provides the dynamically loadable
+        modules.
+
+  lib/silcske/
+
+        The SILC Key Exchange (SKE) library.  Implementation of the
+        SKE protocol.  This is used by all SILC applications.
+
+  lib/silcutil/
+
+        The SILC Utility library.  Provides various utility functions
+        for the applications.
+
+  lib/silcutil/unix/
+
+        The SILC Utility library.  Provides various Unix specific utility
+        functions for the applications.
+
+  lib/silcutil/win32/
+
+        The SILC Utility library.  Provides various WIN32 specific utility
+        functions for the applications.
+
   public_html/
 
         Includes the official SILC web pages and everything that relates
@@ -73,19 +151,19 @@ Howto Compile SILC Source Tree
 ==============================
 
 After checkout from CVS the SILC source tree must be prepared for 
-configuration and compilation.  To compile the source three, give,
+configuration and compilation.  To compile the source tree, give,
 
        ./prepare
        ./configure --enable-debug
        make
 
-
 The ./prepare script is included in to the source tree and it never
 appears in public distribution.  The script prepares the source tree
 by creating configuration scripts and Makefiles.  The prepare must be
-run every time you make some changes to configuration scripts.
+run every time you make some changes to configuration scripts (however,
+making changes to Makefile.am's does not require running ./prepare).
 
-As a developer you should read the ./configure scripts help by
+As a developer you should read the ./configure script's help by
 giving ./configure --help and study all of its different options.  Also,
 you should configure the script with --enable-debug option as it
 compiles SILC with -g (debugging) option and it enables the 
@@ -93,21 +171,28 @@ SILC_LOG_DEBUG* scripts.  Warning is due here:  The debugging produced
 by both cilent and server is very heavy, thus it is common to test
 the programs as follows:
 
-       ./silc -f <config file> 2>silc.log
-       ./silcd -f <config file> 2>silcd.log
+       ./silc -d "*" -f configfile 2>log
+       ./silcd -d "*" -f configfile 2>log
+
+The -d option enables the debug printing.  The argument for the -d option
+is a string that is used to match the output debug.  The example "*" will
+match for everything, and all debugs will be printed.  If you want to
+limit the debugs you want to printout you can give for example a string
+like "*server*,*rng*" to match all functions, and filenames that has
+"server" or "rng" string in them.  Others will not be printed out.
 
 
 Howto Clean SILC Source Tree
 ============================
 
-To entirely clear the source tree to the state after it was checkedout
+To entirely clear the source tree to the state after it was checked out
 from CVS, give,
 
        ./prepare-clean
 
-
 This calls `make distclean' plus removes automatically generated files
-by hand.  It also removes *.log files.
+by hand.  It also removes *.log files. However, it will not remove
+any other files you might have created.
 
 
 Makefiles and configuration files
@@ -120,24 +205,8 @@ are plenty of examples what they should look like.  If you change
 Makefile.am during development you don't have to run ./prepare, just
 run normal make.
 
-Configuration files the files that ./prepare automatically generates
+Configuration files are the files that ./prepare automatically generates
 and what will be included into public distribution.  ./prepare creates
-for example the ./configure script that is not commited to the CVS and
-must not be commited.  `configure.in' is the file that developers must
-edit to change ./configure script.  After changing one must run 
-./prepare.
-
-
-Creating Distribution
-=====================
-
-The version of the distribution is currently always set in the configure.in
-file.  The actual distribution is created by simply giving,
-
-       make dist
-
-Note there are other files in the sources that has version information 
-as well that currently needs to be updated by hand.
-
-
-$Id$
+for example the ./configure script that is not commited to the CVS.
+`configure.in' is the file that developers must edit to change ./configure
+script.  After changing one must run  ./prepare.