Annotation of www/anoncvs.html, Revision 1.99
1.1 deraadt 1: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN">
2: <html>
3: <head>
1.93 deraadt 4: <title>OpenBSD AnonCVS</title>
5: <link rev=made href=mailto:www@openbsd.org>
6: <meta name="resource-type" content="document">
7: <meta name="description" content="How to get OpenBSD updates via Internet using Anonymous CVS">
8: <meta name="keywords" content="openbsd,anoncvs,updates">
9: <meta name="distribution" content="global">
10: <meta name="copyright" content="This document copyright 1996-1998 by OpenBSD.">
1.1 deraadt 11: </head>
12:
1.14 downsj 13: <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#23238E">
1.1 deraadt 14:
1.58 pauls 15: <img alt="[OpenBSD]" height=30 width=141 SRC="images/smalltitle.gif">
1.93 deraadt 16: <p>
17: <h2><font color=#e00000>Anonymous CVS</font><hr></h2>
1.14 downsj 18:
1.93 deraadt 19: <h3><font color=#0000e0>What is it?</font></h3>
1.99 ! ericj 20:
1.15 grr 21: <p>
22: Anonymous CVS is a method of keeping your local copy of the OpenBSD source
23: tree up to date with respect to changes made to current OpenBSD sources.
1.99 ! ericj 24: </p>
! 25:
1.14 downsj 26: <p>
1.15 grr 27: The major advantage of Anonymous CVS over other source code update
28: techniques is that it works directly against a central source code
29: repository or mirror. This means that you have the full set of CVS
30: commands available to control merging and updating your changes with
31: other source changes and for performing diff's, change histories
32: and other queries against the central repository.
1.99 ! ericj 33: </p>
! 34:
1.36 deraadt 35: <p>
1.99 ! ericj 36: The OpenBSD Project currently has three main source repositories:
! 37: </p>
! 38:
! 39: <ul>
! 40: <li><b>src</b> - Houses all source code for the OpenBSD Operating System.
! 41: <li><b>ports</b> - Houses the <a href="./ports.html">OpenBSD Ports</a>.
! 42: <li><b>www</b> - Houses all OpenBSD web pages. (Including this one).
! 43: </ul>
! 44:
! 45: <h3><font color=#0000e0>CVS:</font></h3>
! 46:
1.36 deraadt 47: <p>
48: <a href=why-cvs.html>
49: CVS is the source code control system used to manage the OpenBSD source tree.</a>
1.16 deraadt 50: It implements a central repository for all officially released source code
1.15 grr 51: and changes, while permitting developers to maintain local copies of the
1.99 ! ericj 52: source code with their working changes. Developers with "<b>write access</b>"
1.15 grr 53: can commit changes directly to the OpenBSD source tree, while "Anonymous
1.99 ! ericj 54: CVS" users have "<b>read access</b>" and can keep their local copies of the source
1.15 grr 55: up to date and issue queries against the central depository.
1.99 ! ericj 56: </p>
! 57:
1.15 grr 58: <p>
1.22 niklas 59: The major strength of CVS is that it has the ability to perform intelligent
1.15 grr 60: merges of changes to the central repository with changes that you make to
61: your local copy. This means that if you make a change to a module and
62: perform an update, your changes are not "blown away", rather CVS makes
63: best efforts to merge the changes made to the central sources with changes
64: you've made to your local copy.
1.99 ! ericj 65: </p>
! 66:
1.15 grr 67: <p>
68: In the event that the changes can't be completely merged, CVS provides a
69: "soft fallback", in terms of providing you with annotated changes to your
1.39 todd 70: local copy, preserving an unmodified copy of your version and continuing
1.15 grr 71: to update any other source modules you requested.
1.99 ! ericj 72: </p>
! 73:
1.22 niklas 74: <p>
1.99 ! ericj 75: People who own an OpenBSD CD may have seen the <i>CVS/</i> dirs on it.
! 76: Actually there is a reason, the CD has a checkout of the OpenBSD <b>src</b> module
1.95 millert 77: usable to continue updating from. Using this tree will result in a much
1.23 mickey 78: faster initial CVS update than a fresh checkout of the full OpenBSD
79: source tree. There are two ways of using the CD:
1.99 ! ericj 80: </p>
! 81:
1.23 mickey 82: <ul>
1.99 ! ericj 83: <li>To copy the CVS tree from the CD to <i>/usr/src</i> (assuming the CD is mounted on /mnt):
1.22 niklas 84: <pre>
1.99 ! ericj 85: # <b>cd /mnt; pax -rw CVS Makefile [a-z]* /usr/src</b>
1.22 niklas 86: </pre>
1.99 ! ericj 87: <li>Use a union mount with the CD below a writable directory. (This can be used when only compiling from the tree.)
1.22 niklas 88: <pre>
1.99 ! ericj 89: # <b>mount -t union -o -b /mnt /usr/src</b>
1.22 niklas 90: </pre>
1.23 mickey 91: </ul>
1.99 ! ericj 92: After this, <i>/usr/src</i> will be a nice checkout area where all <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&sektion=1&format=html">cvs(1)</a> commands will work OK.
! 93:
! 94: <!-- Does this need to be here now that the man page is linked? -->
1.15 grr 95: <h4>CVS COMMAND SUMMARY</h4>
1.27 todd 96: <dt> cvs [cvs args] [cvs command] [cvs command args]
97: <dd> below is a listing of commonly used cvs commands.
1.15 grr 98: <dl>
99: <DT>add
100: <dd>Add a new file or directory to the repository.
101: <dt>get
102: <dd>Make a working directory of source files for editing.
103: <dt>commit
104: <dd>Apply changes to the source repository (write access)
105: <dt>diff
106: <dd>Show differences between local files and the source repository.
107: <dt>history
108: <dd>Show reports on cvs commands against the source repository.
109: <dt>log
110: <dd>Display CVS log information.
111: <dt>rdiff
112: <dd>Prepare a collection of diffs reflecting changes between release.
113: <dt>status
114: <dd>Show current status of files in the repository and local copies.
115: <dt>update
116: <DD>Bring your working directory up to date with the repository.
117: </dl>
1.99 ! ericj 118:
1.1 deraadt 119: <p>
1.39 todd 120: To summarize, the real strength of using Anonymous CVS is that it is
1.15 grr 121: a "tolerant" source code control system - it <strong>respects</strong>
122: changes that you have made to your local sources and makes <strong>
123: "best efforts"</strong> to update your entire source tree, rather than
124: leaving you a list of arcane problems that have to be resolved before
125: continuing.
1.1 deraadt 126:
1.43 deraadt 127: <h3><font color=#0000e0>Using Anonymous CVS:</font></h3>
1.1 deraadt 128: <p>
129: The latest version of CVS is available at
1.47 pauls 130: <a href=http://download.cyclic.com/pub/>Cyclic</a>.
1.1 deraadt 131: Versions earlier than 1.6 are not recommended, and may not work.
132: If you already have OpenBSD installed, CVS is included.
133:
134: <p>
135: There are two levels of source tree access:
136:
137: <dl>
138: <dt><strong>Read-write access for developers:</strong>
139: <dd>Developers who need to commit changes to the source tree must have
140: an account on the OpenBSD machines. Getting this access will be a
141: natural result of working on the sources with other OpenBSD developers.
142: If someone does some good work and shows they can work with the team,
143: they will get an account.
144: </dl>
145:
146: <dl>
147: <dt><strong>Read-only access for everyone:</strong>
148: <dd>Anyone can access the read-only CVS repositories. These copies
149: of the read-write CVS repository are mirrored often. To use one,
150: set your <strong>CVSROOT</strong> environment variable to one of
151: the following values:
1.12 grr 152: <p>
153: <strong>Please see the note about using ssh vs. rsh below!</strong>
154: <p>
1.1 deraadt 155: <ul>
156: <p>
1.83 millert 157: <li><strong>CVSROOT=anoncvs@anoncvs1.usa.openbsd.org:/cvs</strong><br>
158: Host also known as <strong>anoncvs@anoncvs4.usa.openbsd.org</strong>.<br>
1.10 millert 159: located in California, western USA.<br>
1.46 millert 160: maintained by <a href=mailto:millert@openbsd.org>Todd Miller</a>.<br>
1.83 millert 161: protocols: pserver only.<br>
1.1 deraadt 162: updated every 4 hours.<br>
163: <p>
1.83 millert 164: <li><strong>CVSROOT=anoncvs@anoncvs.usa.openbsd.org:/cvs</strong><br>
165: Host also known as <strong>anoncvs3.usa.openbsd.org</strong>.<br>
1.1 deraadt 166: located at the University of Colorado, Boulder, western USA.<br>
167: maintained by <a href=mailto:Todd.Miller@cs.colorado.edu>Todd Miller</a>.<br>
1.94 millert 168: protocols: rsh, ssh, ssh port 2022, pserver.<br>
1.1 deraadt 169: updated every 6 hours.<br>
170: <p>
1.76 deraadt 171: <li><strong>CVSROOT=anoncvs@anoncvs5.usa.openbsd.org:/cvs</strong><br>
172: Host also known as <strong>squid.nas.nasa.gov</strong>.<br>
173: located at Ames Research Center, Moffett Field, California, USA.<br>
1.78 deraadt 174: maintained by <a href=mailto:allison@mail.arc.nasa.gov>Tyler Allison</a>.<br>
1.77 deraadt 175: protocols: ssh only.<br>
176: updated every 3 hours.<br>
1.84 beck 177: <li><strong>CVSROOT=anoncvs@mirror.arc.nasa.gov:/cvs</strong><br>
178: located at Ames Research Center, Moffett Field, California, USA.<br>
179: maintained by <a href=mailto:allison@mail.arc.nasa.gov>Tyler Allison</a>.<br>
180: protocols: ssh only.<br>
181: updated every 3 hours.<br>
1.76 deraadt 182: <p>
1.31 deraadt 183: <li><strong>CVSROOT=anoncvs@anoncvs6.usa.openbsd.org:/cvs</strong><br>
184: Host also known as <strong>openbsd.citi.umich.edu</strong>.<br>
185: located at the University of Michigan, central USA.<br>
186: maintained by <a href=mailto:rees@umich.edu>Jim Rees</a>.<br>
187: protocols: ssh, ssh port 2022.<br>
188: updated every 12 hours.<br>
189: <p>
1.24 deraadt 190: <li><strong>CVSROOT=anoncvs@anoncvs1.ca.openbsd.org:/cvs</strong><br>
1.40 beck 191: Host also known as <strong>anoncvs.ca.openbsd.org</strong>,
1.74 beck 192: <strong>openbsd.sunsite.ualberta.ca</strong><br>
1.24 deraadt 193: located in Edmonton, Alberta, Canada.<br>
1.80 beck 194: maintained by <A HREF="mailto:beck@ualberta.ca">Bob Beck</A><br>
1.53 beck 195: protocols: ssh, rsh, ssh port 2022, pserver<br>
1.45 beck 196: updated every 2 hours.<br>
1.24 deraadt 197: <p>
1.1 deraadt 198: <li><strong>CVSROOT=anoncvs@anoncvs.uk.openbsd.org:/cvs</strong><br>
199: Host also known as <strong>dumpty.wonderland.org</strong>.<br>
200: located in London, UK.<br>
201: maintained by <a href=mailto:peter@wonderland.org>Peter Galbavy</a>.<br>
202: protocols: rsh.<br>
203: updated every 12 hours.<br>
204: <p>
205: <li><strong>CVSROOT=anoncvs@anoncvs.tw.openbsd.org:/cvs</strong><br>
1.64 deraadt 206: Host also known as <strong>OpenBSD.csie.NCTU.edu.tw</strong>.<br>
1.1 deraadt 207: located in Taipei, Taiwan.<br>
1.63 deraadt 208: maintained by <a href=mailto:lkchu@OpenBSD.csie.NCTU.edu.tw>Liang-Kai Chu</a>.<br>
1.1 deraadt 209: protocols: rsh, ssh, ssh port 2022.<br>
210: updated every 12 hours.<br>
211: <p>
212: <li><strong>CVSROOT=anoncvs@anoncvs.no.openbsd.org:/cvs</strong><br>
1.64 deraadt 213: Host also known as <strong>cvs.inet.no</strong>.<br>
1.1 deraadt 214: located in Norway.<br>
1.64 deraadt 215: maintained by <a href=mailto:cvsadmin@inet.no>Michael Shuldman</a>.<br>
1.1 deraadt 216: protocols: rsh, ssh, ssh port 2022.<br>
217: updated every 4 hours.<br>
218: <p>
1.33 deraadt 219: <li><strong>CVSROOT=anoncvs@anoncvs.se.openbsd.org:/cvs</strong><br>
1.54 art 220: Host also known as <strong>anoncvs.stacken.kth.se</strong>.<br>
1.33 deraadt 221: located in Sweden.<br>
222: maintained by <a href=mailto:anoncvs@stacken.kth.se>Magnus Holmberg</a>.<br>
223: protocols: rsh, ssh, ssh port 2022.<br>
1.57 art 224: updated every 3 hours.<br>
1.68 wvdputte 225: <p>
226: <li><strong>CVSROOT=anoncvs@anoncvs.be.openbsd.org:/cvs</strong><br>
227: Host also known as <strong>badlands.rug.ac.be</strong>.<br>
228: located in Belgium.<br>
229: maintained by <a href=mailto:wvdputte@reptile.rug.ac.be>Wim Vandeputte</a>.<br>
230: protocols: ssh, ssh port 2022.<br>
231: updated every 3 hours.<br>
1.69 deraadt 232: <p>
233: <li><strong>CVSROOT=anoncvs@anoncvs.jp.openbsd.org:/cvs</strong><br>
234: Host also known as <strong>kankoromochi.econ.nagasaki-u.ac.jp</strong>.<br>
235: located at Nagasaki Univ. Faculty of Economics, JAPAN.<br>
236: maintained by <a href=mailto:sigh@net.nagasaki-u.ac.jp>SUZUKI Hitoshi</a>.<br>
1.79 deraadt 237: protocols: ssh, pserver.<br>
238: updated every 3 hours.<br>
1.73 deraadt 239: <li><strong>CVSROOT=anoncvs@anoncvs.cz.openbsd.org:/cvs</strong><br>
240: Host also known as <strong>com-os2.ms.mff.cuni.cz</strong>.<br>
1.98 rohee 241: located at Faculty Math & Physics, Charles University, Prague, Czech republic.<br>
1.73 deraadt 242: maintained by <a href=mailto:galambos@com-os2.ms.mff.cuni.cz>Leo Galambos</a>.<br>
243: protocols: ssh, ssh port 2022.<br>
244: updated every 3 hours.<br>
1.84 beck 245: <li><strong>CVSROOT=anoncvs@anoncvs1.au.openbsd.org:/cvs</strong><br>
246: Host also known as <strong>anoncvs.au.openbsd.org</strong>,
247: <strong>anoncvs.openbsd.aba.net.au</strong><br>
248: located in Carlton, Victoria, Australia.<br>
249: maintained by <A HREF="mailto:mwp@aba.net.au">Micheal Paddon</A><br>
250: protocols: ssh<br>
251: updated every 4 hours.<br>
1.88 beck 252: <li><strong>CVSROOT=anoncvs@dolphin.mtmc.ru:/cvs</strong><br>
253: located in Moscow, Russia<br>
254: maintained by <A HREF="mailto:jc@mtmc.ru">John Chertihin</A><br>
255: protocols: rsh, ssh<br>
1.89 beck 256: updated every 24 hours (at 1 AM Moscow time)<br>
1.86 beck 257: <li><strong>CVSROOT :pserver:anoncvs@gloup.linuxfr.org:/cvs</strong><br>
1.87 beck 258: Host also known as <strong>gloup.linuxfr.org</strong><br>
1.96 beck 259: located at Paris (Claranet), FRANCE<br>
1.87 beck 260: maintained by: <A HREF=mailto:seisen@linuxfr.org>Fabien Seisen</A><br>
1.96 beck 261: protocols: pserver, ssh<br>
1.86 beck 262: updated every 24h ( at 2h GMT )<br>
1.80 beck 263: <li><strong>CVSROOT=anoncvs@exokernel.lcs.mit.edu:/cvs</strong><br>
264: located at M.I.T, Eastern USA.<br>
265: maintained by ????<br>
266: protocols: ssh, ???<br>
267: updated every ? hours.<br>
268: <li><strong>CVSROOT=anoncvs@xyzzy.gsnig.net:/cvs</strong><br>
269: Located in Goteborg, Sweden<br>
270: maintained by martin@openbsd.org<br>
271: protocols: ssh, ???<br>
272: updated every ? hours.<br>
273: <li><strong>CVSROOT=anoncvs@stl-isaas.ey.com:/cvs</strong><br>
1.90 beck 274: Located in St. Louis, MO, Eastern USA<br>
1.81 beck 275: maintained by <A HREF="mailto:aaron11@sprynet.com">Aaron Miller</A><br>
276: protocols: ssh, ssh port 2022, pserver<br>
277: updated every 3 hours.<br>
1.91 beck 278: <li><strong>CVSROOT=anoncvs@openbsd.groupbsd.org:/cvs</strong><br>
1.92 jason 279: Located in Hillsborough NC, Eastern USA<br>
280: maintained by <A HREF="mailto:jason@openbsd.org">Jason Wright</A><br>
1.91 beck 281: protocols: ssh<br>
282: updated every 4 hours.<br>
1.80 beck 283: <li><strong>CVSROOT=anoncvs@headend-vlan1-cm19.fibertel.com.ar:/cvs</strong><br>
284: Located in Buenos Aires, Argentina<br>
285: maintained by ????<br>
286: protocols: ssh?, ???<br>
287: updated every ? hours.<br>
1.73 deraadt 288: </ul>
1.84 beck 289:
290:
1.73 deraadt 291: <p>
1.80 beck 292: <EM>Note:</EM>, If your server is listed on here with inaccurate or
293: unknown information, please contact <A
1.85 espie 294: HREF="mailto:beck@openbsd.org"><tt>beck@openbsd.org</tt></A>
1.80 beck 295: <p>
1.1 deraadt 296: You may want to use `traceroute' to find out which server is nearest you.
1.11 michaels 297: Problems with a server should be reported to the <b>maintainer</b> of the
298: server in question.
1.1 deraadt 299: </dl>
300: <p>
301: <strong>IMPORTANT NOTE:</strong>
302: There are a few issues relating to cryptographic software that everyone
303: should be aware of:
304: <ul>
305: <li>The OpenBSD sources are from Canada.
1.9 deraadt 306: As
307: <a href=http://insight.mcmaster.ca/org/efc/pages/doc/crypto-export.html>
308: researched by a Canadian individual</a>
309: and as
310: <a href=http://axion.physics.ubc.ca/ECL.html>
311: described in the Export Control list of Canada</a>
312: is legal to export crypto software from Canada to the world.
1.1 deraadt 313: <p>
314: <li>However, if you are outside the USA or Canada, you should not
315: fetch the cryptographic sections of the OpenBSD sources from an
316: anoncvs server located in the USA. The files in question are...
317: <ul>
318: <li>src/kerberosIV/*
1.57 art 319: <li>src/lib/libdes/*
1.1 deraadt 320: <li>src/lib/libc/crypt/crypt.c
321: <li>src/lib/libc/crypt/morecrypt.c
1.36 deraadt 322: <li>src/sys/netinet
1.67 art 323: <li>src/usr.sbin/afs/src/rxkad/*
1.56 matthieu 324: <li>X11/xc/lib/Xdmcp/Wraphelp.c
1.1 deraadt 325: </ul>
326: Because of the USA ITAR munitions list,
327: crypto software may only be exported to Canada from the USA.
328: <p>
329: <li>The OpenBSD project is looking for more anoncvs servers -- read
330: on to find out how you can help.
331: </ul>
332:
333: <p>
334: A sample use of an anoncvs CVS server would be:
1.27 todd 335: <ul>
1.1 deraadt 336: <pre>
1.59 beck 337: % setenv CVSROOT anoncvs@anoncvs.ca.openbsd.org:/cvs
1.1 deraadt 338: % cd /tmp
339: % cvs get src/sys/arch/sparc
1.12 grr 340: [copies the files from the repository to your machine]
1.1 deraadt 341: % cvs log src/sys/arch/sparc/sparc/locore.s
1.12 grr 342: [shows the commit log for the chosen file ]
1.1 deraadt 343: % cvs diff -bc -r1.1 -r1.5 src/sys/arch/sparc/sparc/locore.s
1.12 grr 344: [shows the changes between revisions 1.1 and rev 1.5]
1.1 deraadt 345: </pre>
1.27 todd 346: </ul>
1.1 deraadt 347:
348: <p>
1.18 todd 349: <a name=pserver>In order to use a cvs ``pserver'' (a direct tcp connection instead of using ssh or rsh) you must login once:</a>
350: <pre>
351: [ *NOTE* You must be using cvs version 1.8 or higher to do this ]
1.59 beck 352: % setenv CVSROOT :pserver:anoncvs@anoncvs.ca.openbsd.org:/cvs
1.18 todd 353: % cvs login
1.59 beck 354: (Logging in to anoncvs@anoncvs1.ca.openbsd.org)
1.71 millert 355: CVS password: anoncvs
1.18 todd 356: [this writes a line to ~/.cvspass (filename over-ridden by CVS_PASSFILE).]
357: [An example line from my ~/.cvspass after typing 'blah' for the above ]
358: [password is: ]
359: [:pserver:anoncvs@anoncvs5.usa.openbsd.org:/cvs Au'yc ]
360: [...after logging in ONCE every other use of the above CVSROOT will work ]
361: % cvs -z9 get ksrc-i386 ksrc-common
362: [allows you to retrieve ONLY that necessary to rebuild an i386 kernel ]
363: [ -z9 allows gzip -9 compression, GOOD medicine for slow links ]
364: </pre>
365:
366: <p>
1.39 todd 367: Here is how someone using anoncvs regularly would update his
1.1 deraadt 368: source tree:
1.60 millert 369: <ul><li>First, start out by `get'-ing an initial tree:
1.27 todd 370:
1.1 deraadt 371: <pre>
1.59 beck 372: # setenv CVSROOT anoncvs@anoncvs.ca.openbsd.org:/cvs
1.1 deraadt 373: # cd /usr
374: # cvs -q get -PA src
375: </pre>
1.27 todd 376: </li>
1.37 todd 377:
1.27 todd 378: <li> Anytime afterwards, to `update' this tree:
1.1 deraadt 379: <pre>
1.41 deraadt 380: # cd /usr/src
381: # cvs -q up -PAd
1.1 deraadt 382: </pre>
1.27 todd 383:
1.39 todd 384: Everytime you ran this it would synchronize your /usr/src tree. It would
1.1 deraadt 385: not destroy any of your local changes, rather it would attempt to merge
386: changes in. If you use obj directories (not obj symbolic links) you may
387: wish to append "-I obj" to the cvs command line, this will keep cvs from
388: spitting out a warning about all the obj directories it is going to
389: encounter which are not in the repository.
1.72 millert 390:
391: <p>
392: <li> NOTE: if you are updating a source tree that you initially fetched
393: from a different server, or from a CD, you <strong>must</strong>
394: add the <em>-d $CVSROOT</em> options to cvs. You must also set the
395: <em>CVS_IGNORE_REMOTE_ROOT</em> environment variable.
396:
397: <pre>
398: # cd /usr/src
399: # cvs -d $CVSROOT -q up -PAd
400: </pre>
401:
1.27 todd 402: </li>
403: </ul>
404:
1.37 todd 405: <p>
406: To <a name=ports>use</a> <a href=ports.html>ports</a>, it is similar to src:
407: <ul><li>
408: <pre>
1.59 beck 409: # setenv CVSROOT anoncvs@anoncvs.ca.openbsd.org:/cvs
1.37 todd 410: # cd /usr
411: # cvs -q get -PA ports
1.38 deraadt 412: </pre>
1.37 todd 413: </li>
414: <li> Anytime afterwards, to `update' this tree:
415: <pre>
416: # cd /usr
417: # cvs -q up -PAd ports
418: </pre>
419: </li>
420: </p>
421: </ul>
422:
1.27 todd 423: In the above example, '-q' is optional, only intended to minimize
424: cvs's output. For those who like to see screenfulls of output, it
425: can be omitted.
1.1 deraadt 426:
427: <p>
1.12 grr 428: or to make a diff of a locally patched module (here cd.c) to include with
429: a bug report:
430: <pre>
431: # cd /usr
432: # cvs diff -u src/sys/scsi/cd.c > /tmp/patch
433: </pre>
1.37 todd 434: </p>
1.12 grr 435:
436: <p>
1.1 deraadt 437: The CVS man page (included with the CVS sources) has much more
438: information about how CVS can be used.
439:
440: <p>
1.12 grr 441: <strong>Warning:</strong>
442: When using cvs you should take care that your current directory is either
443: the root of the tree you're referencing or in a separate place such as /tmp.
444: Some commands such as "get" can create an arbitrary sub-tree in the current
445: directory, and a subsequent update will recursively flesh out this sub-tree.
446:
447: <p>
1.1 deraadt 448: The anoncvs service gives fledgling developers a chance to learn CVS
449: operation and get thoroughly involved in the development process
450: before getting "commit" access -- as a result of showing useful
451: skills and high quality results they will naturally later be given
452: developer access. As well, people providing patches can create
453: their "diff"s relative to the CVS tree, which will ease integration.
454:
455: <p>
1.15 grr 456: <strong>Anoncvs: rsh vs. ssh</strong>
1.12 grr 457: <br>
458: By default, the CVS client uses rsh to talk to the CVS server. Many
1.39 todd 459: of the CVS sites no longer support rsh for security reasons or a local
1.12 grr 460: problem like a firewall or imperfect protocol emulator such as slirp
461: may prevent you from using rsh.
1.97 deraadt 462: The alternative is a to use a "secure shell" connection using either
463: <a href=http://www.openssh.com>OpenSSH (*FREE*)</a> or
464: <a href=http://www.cs.hut.fi/ssh/>ssh (non-commercial and commercial)</a>.
1.68 wvdputte 465:
466: <p>
1.97 deraadt 467: The OpenBSD anoncvs repositries support the SSH1 protocol, not the SSH2
468: protocol due to the use of a "strict non-commercial use licensing policy".
1.28 beck 469:
1.75 millert 470: <p>
471: Once ssh is installed, one sets the environment variable
1.28 beck 472: <strong>CVS_RSH</strong> to point to ssh (typically
473: <strong>/usr/local/bin/ssh</strong>). If your local site prevents you
474: from connecting out to port 22 (which ssh defaults to using) use port
475: 2022.
1.1 deraadt 476:
477: <p>
478: Do not be tempted to turn on compression since CVS already compresses.
479: Use something like the following in your <strong>$HOME/.ssh/config</strong>
1.10 millert 480: file. Note that not all anoncvs servers allow ssh connections on
1.21 millert 481: port 2022. Also note that most anoncvs servers no longer accept
482: the <strong>none</strong> cipher as it is disabled in recent
483: versions of ssh for security reasons.
1.1 deraadt 484: <pre>
1.59 beck 485: Host anoncvs.ca.openbsd.org
1.1 deraadt 486: Port 2022
487: </pre>
488:
489: <p>
490: CVS is a little noisy starting up; to quiet it a bit you may want to
491: do this:
492: <pre>
493: setenv CVS_CLIENT_PORT -1
494: </pre>
495:
496: <p>
1.8 deraadt 497: If you wish to change from one CVS server to another (say your normal one is
498: down, or for any other reason), the environment variable which will let you
499: do this is
500: <pre>
501: setenv CVS_IGNORE_REMOTE_ROOT
502: </pre>
1.72 millert 503: Note that you will also need to use the <strong>-d</strong> flag
504: as mentioned above.
1.8 deraadt 505:
1.65 matthieu 506: <p><strong>X11 Source tree</strong>
507: <br>
508: Anoncvs mirrors also carry the OpenBSD X11 source tree. You can adapt
509: the recipe above to update your X11 source tree from the second CD.
510: Either copy or use a union mount to get the X11 sources in /usr/X11:
511: <ul>
512: <li>copy the tree off it (assuming the 2nd CD is mounted on /mnt):
513: <pre>
514: <b>#</b> cd /mnt; cp -Rp X11 /usr
515: </pre>
516: <li>use a union mount with the CD below a writable directory.
517: <pre>
518: <b>#</b> mount -t union -o -b /mnt/X11 /usr/X11
519: </pre>
520: </ul>
521: After this, /usr/X11 will be ready to be used by cvs. You can for
522: example update it to -current source (assuming you've already set
523: the <b>CVSROOT</b> environment variable):
524: <pre>
525: <b>#</b> cd /usr/X11
526: <b>#</b> cvs -q update -PAd
527: </pre>
528:
529: <p><strong>Setting up a new anoncvs mirror</strong>
530: <br>
1.1 deraadt 531: If you wish to be a new anoncvs mirror site, please contact the anoncvs
532: <a href=mailto:deraadt@theos.com>maintainer</a>.
1.30 beck 533: Anoncvs mirrors require about 500MB of disk, and use up to 4MB of swap
1.1 deraadt 534: per anoncvs user (assuming the user does a large operation; while smaller
535: operations use fewer resources, anoncvs still makes much more of an
536: impact than ftp or sup). Such anoncvs machines should have excellent
537: network connectivity for the area they are expected to serve. A
538: <a href=anoncvs.shar>document</a>
539: which describes the setup of anoncvs servers is available.
540:
1.60 millert 541: <h3><font color=#0000e0>Final notes:</font></h3>
542: After upgrading your source tree, you should read the comments
543: at the top of <KBD>/usr/src/Makefile</KBD> before attemping
544: a build. Also, you should build a new kernel <strong>before</strong>
545: doing a <KBD>make build</KBD> if possible. In some cases it make be
546: necessary to rebuild and install the <KBD>config</KBD> utility before
547: you can build the kernel. If <KBD>config GENERIC</KBD> fails this
548: is probably the case.
549: <p>
550: It is important to note that upgrading from a release to the current tree
551: by rebuilding the sources can be rather difficult due to dependencies
552: that are often not obvious. Therefore, it is suggested that you first
553: install the latest snapshot before attemping a tree build from source.
1.1 deraadt 554:
555: <hr>
1.58 pauls 556: <a href=index.html><img height=24 width=24 src=back.gif border=0 alt=OpenBSD></a>
1.1 deraadt 557: <a href=mailto:www@openbsd.org>www@openbsd.org</a>
1.99 ! ericj 558: <br><small>$OpenBSD: anoncvs.html,v 1.98 1999/12/22 03:33:47 rohee Exp $</small>
1.1 deraadt 559:
560: </body>
561: </html>