[BACK]Return to anoncvs.html CVS log [TXT][DIR] Up to [local] / www

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 &amp; 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>