updates.
[crypto.git] / public_html / cvs.html
1 <html>
2 <style TYPE="text/css"><!-- A:link {text-decoration: none}A:visited{text-decoration:none}A:active{text-decoration:none}--></style>
3 <body bgcolor="#ffffff">
4 <p><br>
5 <a href="index.html"><img src="silc2.jpg" border=0></a>
6 <table width="70%" border="0" cellspacing="0" cellpadding="1"
7 align=center>
8 <tr>
9 <td>
10 <font face="Arial,Helvetica,Sans-serif"> 
11 <p>
12 <h1>Anonymous CVS Access</h1>
13 <p>
14 <font size=4>
15 Anonymous CVS access is now available to SILC CVS repository. The
16 repository includes everything related to SILC project; source codes,
17 documentation and even these web pages. The CVS access is of course public
18 but it is intended for developers.  After you have checked out the SILC
19 source tree you should read README.CVS file from the source tree or rest
20 of this web page.
21
22 <p>
23 Also note that this is the closest to real time development you can get
24 thus you cannot expect that the source tree would work or even compile.
25 While it is our intention that the trunk would always at least compile
26 there might be situations when it will not.
27
28 </font>
29 <p><br>
30 <h2>Browsing the Source Tree</h2>
31 <font size=4>
32 <p>
33 If you want to browse the source tree using web browser before checking
34 out the tree with CVS use following link:
35 <p>
36 <a href="http://silcnet.org/cvs/source/">Web Access to CVS repository
37 </a>
38 <p>
39 Note that this is not real-time access to the CVS repository. It is
40 updated once a day. If you want real-time access then checkout the CVS
41 repository.
42
43 </font>
44 <p><br>
45 <h2>Howto Checkout The Source Tree</h2>
46 <font size=4>
47 <p>
48 The repository can be checked out by using anonymous pserver with CVS.
49 <p>
50 For those who are using sh/ksh/bash the check out is done as follows:
51 <p>
52 <dd><b>
53 export CVSROOT=:pserver:silc@silc.pspt.fi:/storage/silc/CVS
54 </b>
55 <dd><b>cvs login</b>
56 <dd><b>cvs co silc</b>
57
58 <p>
59 For those who are using csh/tcsh the check out is done as follows:
60 <p>
61 <dd><b>
62 setenv CVSROOT :pserver:silc@silc.pspt.fi:/storage/silc/CVS
63 </b>
64 <dd><b>cvs login</b>
65 <dd><b>cvs co silc</b>
66
67 <p>
68 If you don't want to set $CVSROOT environment variable you can set the
69 path to the cvs as command line options:
70 <p>
71 <dd><b>
72 cvs -d:pserver:silc@silc.pspt.fi:/storage/silc/CVS login
73 </b>
74 <dd><b>
75 cvs -d:pserver:silc@silc.pspt.fi:/storage/silc/CVS co silc
76 </b>
77
78 <p>
79 What ever method you decide to use, after you have done cvs login you will
80 be prompted for password:
81 <p>
82 <dd><b>CVS password: </b>silc
83 <p>
84 Type the password "silc" and press Enter.
85
86 <p>
87 The actual SILC source tree is checked out using the cvs co silc command,
88 described above. This command will fetch the source tree and save it into
89 directory named silc. SILC CVS repository currently does not have any
90 branches thus this will check out the trunk. The size of the trunk is
91 currently about 11 MB but will grow in the future.
92
93 </font>
94 <p><br>
95 <h2>What SILC Source Tree Includes</h2>
96 <p>
97 SILC Source tree includes a lot more stuff that appears in public
98 distribution.  The source tree includes, for example, internal scripts,
99 configuration files, SILC webpages etc.  These never appear on a public
100 distribution.
101 <p>
102 Following directories currently exist in SILC source tree.
103 <p>
104 <font size=3>
105 <pre>
106   doc/
107
108         Includes all the SILC documentation.  Some of the documentation
109         are generated when distribution is generated.  The automatically
110         generated files must never be commited to CVS.
111
112   includes/
113
114         Includes SILC include files.
115
116   lib/
117
118         Includes SILC libraries.  There maybe libraries on the CVS that
119         does not appear on public distribution.
120
121   public_html/
122
123         Includes the official SILC web pages and everything that relates
124         to them.  This directory never appears on public distribution.
125
126   silc/
127
128         Includes SILC client.  There can be some extra files that will
129         never appear in public distribution, such as, configuration files.
130
131   silcd/
132
133         Includes SILC server.  There can be some extra files that will
134         never appear in public distribution, such as, configuration files.
135 </pre>
136
137
138 </font>
139 <p><br>
140 <h2>Howto Compile SILC Source Tree</h2>
141 <font size=4>
142 <p>
143 After checkout from CVS the SILC source tree must be prepared for 
144 configuration and compilation.  To compile the source three, give,
145 <p>
146 <pre>
147 <font size=3>
148         ./prepare
149         ./configure --enable-debug
150         make
151 </font>
152 </pre>
153
154 The ./prepare script is included in to the source tree and it never
155 appears in public distribution.  The script prepares the source tree
156 by creating configuration scripts and Makefiles.  The prepare must be
157 run every time you make some changes to configuration scripts (however,
158 making changes to Makefile.am's does not require running ./prepare).
159
160 <p>
161 As a developer you should read the ./configure script's help by
162 giving ./configure --help and study all of its different options.  Also,
163 you should configure the script with --enable-debug option as it
164 compiles SILC with -g (debugging) option and it enables the 
165 SILC_LOG_DEBUG* scripts.  Warning is due here:  The debugging produced
166 by both cilent and server is very heavy, thus it is common to test
167 the programs as follows:
168 <p>
169 <pre>
170 <font size=3>
171         ./silc -d -f configfile 2>log
172         ./silcd -d -f configfile 2>log
173 </font>
174 </pre>
175
176 </font>
177 <p><br>
178 <h2>Howto Clean SILC Source Tree</h2>
179 <font size=4>
180 <p>
181 To entirely clear the source tree to the state after it was checked out
182 from CVS, give,
183 <pre>
184 <font size=3>
185         ./prepare-clean
186 </font>
187 </pre>
188
189 This calls `make distclean' plus removes automatically generated files
190 by hand.  It also removes *.log files. However, it will not remove
191 any other files you might have created.
192
193 </font>
194 <p><br>
195 <h2>Makefiles and configuration files</h2>
196 <font size=4>
197 <p>
198 Developers should never directly write a Makefile.  All Makefiles are
199 always automatically generated by ./prepare and later by ./configure
200 scripts.  Instead, developers must write Makefile.am files.  There
201 are plenty of examples what they should look like.  If you change
202 Makefile.am during development you don't have to run ./prepare, just
203 run normal make.
204 <p>
205 Configuration files are the files that ./prepare automatically generates
206 and what will be included into public distribution.  ./prepare creates
207 for example the ./configure script that is not commited to the CVS.
208 `configure.in' is the file that developers must edit to change ./configure
209 script.  After changing one must run  ./prepare.
210 <p><br>
211 </td>
212 </tr>
213 </table>
214 </body>
215 </html>