version 1.369, 2012/06/06 15:53:33 |
version 1.370, 2012/09/08 21:07:47 |
|
|
<ul> |
<ul> |
<li><a href="#anoncvs">What is Anonymous CVS?</a> |
<li><a href="#anoncvs">What is Anonymous CVS?</a> |
<li><a href="#CVS">What is CVS?</a> |
<li><a href="#CVS">What is CVS?</a> |
|
<li><a href="#CRYPTO">Getting Crypto Sources Through cvs(1)</a> |
<li><a href="#starting">Getting Started Using Anonymous CVS</a> |
<li><a href="#starting">Getting Started Using Anonymous CVS</a> |
<li><a href="#using">Using CVS to Get and Update your Source Tree</a> |
<li><a href="#using">Using CVS to Get and Update your Source Tree</a> |
<li><a href="#CVSROOT">Available Anonymous CVS Servers</a> |
|
<li><a href="#CRYPTO">Getting crypto sources through cvs(1)</a> |
|
<li><a href="#EXAMPLE">Example usages for cvs(1)</a> |
<li><a href="#EXAMPLE">Example usages for cvs(1)</a> |
<li><a href="#WHICH">Use rsh(1) or ssh(1)?</a> |
<li><a href="#CVSROOT">Available Anonymous CVS Servers</a> |
<li><a href="#MIRROR">Setting up an anoncvs mirror</a> |
<li><a href="#MIRROR">Setting up an anoncvs mirror</a> |
|
<li><a href="#NOTES">Final notes</a> |
</ul> |
</ul> |
|
|
<hr> |
<hr> |
|
|
local copy, preserving an unmodified copy of your version and continuing |
local copy, preserving an unmodified copy of your version and continuing |
to update any other source modules you requested. |
to update any other source modules you requested. |
|
|
|
<h3><a name="CRYPTO"><font color="#0000e0">Getting crypto sources through |
|
cvs(1)</font></a></h3> |
|
|
|
<p> |
|
<strong>IMPORTANT NOTE:</strong> |
|
There are a few issues relating to cryptographic software that everyone |
|
should be aware of: |
|
<ul> |
|
<li>The OpenBSD sources are from Canada. |
|
As |
|
<a href="http://www.efc.ca/pages/doc/crypto-export.html"> |
|
researched by a Canadian individual</a> |
|
and as |
|
<a href="http://axion.physics.ubc.ca/ECL.html"> |
|
described in the Export Control list of Canada</a> |
|
it is legal to export crypto software from Canada to the world. |
|
<p> |
|
<li>However, if you are outside the USA or Canada, you should not |
|
fetch the cryptographic sections of the OpenBSD sources from an |
|
anoncvs server located in the USA. |
|
Because of US Dept. of Commerce policy, crypto software may only |
|
be exported to Canada from the USA. |
|
</ul> |
|
|
<h3><a name="starting"><font color="#0000e0">Getting Started Using Anonymous |
<h3><a name="starting"><font color="#0000e0">Getting Started Using Anonymous |
CVS</font></a></h3> |
CVS</font></a></h3> |
|
|
|
|
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&sektion=1&format=html"> |
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&sektion=1&format=html"> |
cvs(1)</a> commands will work properly. |
cvs(1)</a> commands will work properly. |
|
|
<h3><a name="using"><font color="#0000e0">Using CVS to get and update your |
<h3><a name="using"><font color="#0000e0">Using CVS to Get and Update your |
source tree</font></a></h3> |
Source Tree</font></a></h3> |
|
|
<p> |
<p> |
CVS was designed to be a simple way to retrieve and update your sources. |
CVS was designed to be a simple way to retrieve and update your sources. |
|
|
who have CDs you can start with the CVS checkout that is on the CD by using |
who have CDs you can start with the CVS checkout that is on the CD by using |
the method <a href="#starting">above</a> to get the sources onto your system. |
the method <a href="#starting">above</a> to get the sources onto your system. |
If you don't have a CD handy, use the method below to checkout the sources. |
If you don't have a CD handy, use the method below to checkout the sources. |
This method puts the OpenBSD source tree into <i>/usr/src</i>. |
|
|
|
|
<p> |
|
<ul><li>First, start out by `get'-ing an initial tree: |
|
|
|
<p> (If you are following <i>current</i>): |
<pre> |
<pre> |
# <b>cd /usr; cvs checkout -P src</b> |
# <strong>cd /usr</strong> |
|
# <strong>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src</strong> |
</pre> |
</pre> |
|
|
|
<p> (If you are following the patch branch for 5.1): |
|
<pre> |
|
# <strong>cd /usr</strong> |
|
# <strong>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_5_1 -P src</strong> |
|
</pre> |
|
<!-- DO NOT EDIT ANONCVS.HTML MANUALLY - IT IS GENERATED FROM TEMPLATES! --> |
|
|
|
|
|
<li> Anytime afterwards, to `update' this tree: |
|
<p> (If you are following <i>current</i>): |
|
<pre> |
|
# <strong>cd /usr/src</strong> |
|
# <strong>cvs -q up -Pd</strong> |
|
</pre> |
|
|
|
<p> (If you are following the patch branch for 5.1): |
|
<pre> |
|
# <strong>cd /usr/src</strong> |
|
# <strong>cvs -q up -rOPENBSD_5_1 -Pd</strong> |
|
</pre> |
|
|
|
Every time you ran this it would synchronize your /usr/src tree. |
|
It would not destroy any of your local changes, rather it would attempt |
|
to merge changes in. |
|
|
<p> |
<p> |
The above will checkout the <i>current</i> source tree. Many of you will |
<li> NOTE: |
only want the patch branch sources. To checkout a patch branch, you must |
If you are updating a source tree that you initially fetched |
specify a tag along with your command. Example: |
from a different server, or from a CD, you <strong>must</strong> |
|
add the <em>-d anoncvs@anoncvs.ca.openbsd.org:/cvs</em> options to cvs. |
|
<pre> |
|
# <strong>cd /usr/src</strong> |
|
# <strong>cvs -d anoncvs@anoncvs.ca.openbsd.org:/cvs -q up -Pd</strong> |
|
</pre> |
|
</ul> |
|
|
<!-- DO NOT EDIT ANONCVS.HTML MANUALLY - IT IS GENERATED FROM TEMPLATES! |
<p> |
See comments in www/build/mirrors.dat for details --> |
To <a name="ports">use</a> <a href="faq/ports/index.html">ports</a>, |
|
it is similar to src: |
|
<ul><li> |
|
<p> (If you are following <i>current</i>): |
<pre> |
<pre> |
# <b>cd /usr; cvs checkout -P -rOPENBSD_5_1 src</b> |
# <strong>cd /usr</strong> |
|
# <strong>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P ports</strong> |
</pre> |
</pre> |
|
<p> (If you are following the patch branch for 5.1): |
|
<pre> |
|
# <strong>cd /usr</strong> |
|
# <strong>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_5_1 -P ports</strong> |
|
</pre> |
|
<li> Anytime afterwards, to `update' this tree: |
|
<p> (If you are following <i>current</i>): |
|
<pre> |
|
# <strong>cd /usr/ports</strong> |
|
# <strong>cvs -q up -Pd</strong> |
|
</pre> |
|
<p> (If you are following the patch branch for 5.1): |
|
<pre> |
|
# <strong>cd /usr/ports</strong> |
|
# <strong>cvs -q up -rOPENBSD_5_1 -Pd</strong> |
|
</pre> |
|
</ul> |
|
|
|
In the above example, <i>-q</i> is optional, only intended to minimize |
|
cvs's output. |
|
For those who like to see screenfulls of output, it can be omitted. |
|
|
<p> |
<p> |
Or OPENBSD_5_0 for 5.0, etc. |
To make a diff of a locally patched module (here <i>cd.c</i>) to include with |
|
a bug report: |
|
<pre> |
|
# <strong>cd /usr</strong> |
|
# <strong>cvs diff -u src/sys/scsi/cd.c > /tmp/patch</strong> |
|
</pre> |
|
|
<p> The OPENBSD_5_1 tag contains the release sources and |
<p> |
errata already applied. |
The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&sektion=1&format=html"> |
|
cvs(1) man page</a> |
|
(included with the CVS sources) has much more |
|
information about how CVS can be used. |
|
|
|
<p> |
|
<strong>Warning:</strong> |
|
When using cvs you should take care that your current directory is either |
|
the root of the tree you are referencing or in a separate place such as /tmp. |
|
Some commands such as "get" can create an arbitrary sub-tree in the current |
|
directory, and a subsequent update will recursively flesh out this sub-tree. |
|
|
|
<p> |
|
The anoncvs service gives fledgling developers a chance to learn CVS |
|
operation and get thoroughly involved in the development process |
|
before getting "commit" access -- as a result of showing useful |
|
skills and high quality results they will naturally later be given |
|
developer access. |
|
As well, people providing patches can create their "diff"s relative |
|
to the CVS tree, which will ease integration. |
|
|
|
<h3><a name="EXAMPLE"><font color="#0000e0">Example usages for cvs(1)</font> |
|
</a></h3> |
|
|
|
<p> |
|
A sample use of an anoncvs server would be: |
|
<pre> |
|
$ <strong>cd /tmp</strong> |
|
$ <strong>cvs -d anoncvs@anoncvs.ca.openbsd.org:/cvs get src/sys/arch/sparc</strong> |
|
[copies the files from the repository to your machine] |
|
$ <strong>cd src/sys/arch/sparc</strong> |
|
$ <strong>cvs log locore.s</strong> |
|
[shows the commit log for the chosen file] |
|
$ <strong>cvs diff -bc -r1.1 -r1.5 locore.s</strong> |
|
[shows the changes between revisions 1.1 and rev 1.5] |
|
</pre> |
|
|
<h3><a name="CVSROOT"><font color="#0000e0">Available Anonymous CVS Servers |
<h3><a name="CVSROOT"><font color="#0000e0">Available Anonymous CVS Servers |
</font></a></h3> |
</font></a></h3> |
|
|
<p> |
<p> |
<em>Please see the note about <a href="#WHICH">ssh vs. rsh</a> below!</em> |
|
<p> |
|
<ul> |
<ul> |
<li><strong>CVSROOT=anoncvs@anoncvs.openbsd.org.ar:/cvs</strong><br> |
<li><strong>CVSROOT=anoncvs@anoncvs.openbsd.org.ar:/cvs</strong><br> |
Location: Buenos Aires, Argentina.<br> |
Location: Buenos Aires, Argentina.<br> |
|
|
Problems with a server should be reported to the <b>maintainer</b> of the |
Problems with a server should be reported to the <b>maintainer</b> of the |
server in question. |
server in question. |
|
|
<h3><a name="CRYPTO"><font color="#0000e0">Getting crypto sources through |
|
cvs(1)</font></a></h3> |
|
|
|
<p> |
<p> |
<strong>IMPORTANT NOTE:</strong> |
|
There are a few issues relating to cryptographic software that everyone |
|
should be aware of: |
|
<ul> |
|
<li>The OpenBSD sources are from Canada. |
|
As |
|
<a href="http://www.efc.ca/pages/doc/crypto-export.html"> |
|
researched by a Canadian individual</a> |
|
and as |
|
<a href="http://axion.physics.ubc.ca/ECL.html"> |
|
described in the Export Control list of Canada</a> |
|
it is legal to export crypto software from Canada to the world. |
|
<p> |
|
<li>However, if you are outside the USA or Canada, you should not |
|
fetch the cryptographic sections of the OpenBSD sources from an |
|
anoncvs server located in the USA. The files in question are... |
|
<ul> |
|
<li>src/kerberosIV/* |
|
<li>src/kerberosV/* |
|
<li>src/lib/libdes/* |
|
<li>src/lib/libc/crypt/crypt.c |
|
<li>src/lib/libc/crypt/morecrypt.c |
|
<li>src/sys/crypto |
|
<li>src/sys/netinet |
|
<li>src/usr.sbin/afs/src/rxkad/* |
|
<li>XF4/xc-mit/lib/Xdmcp/Wraphelp.c |
|
<li>XF4/xc-old/lib/Xdmcp/Wraphelp.c |
|
<li>XF4/xc/lib/Xdmcp/Wraphelp.c |
|
</ul> |
|
Because of US Dept. of Commerce policy, |
|
crypto software may only be exported to Canada from the USA. |
|
</ul> |
|
|
|
<h3><a name="EXAMPLE"><font color="#0000e0">Example usages for cvs(1)</font> |
|
</a></h3> |
|
|
|
<p> |
|
NOTICE: If you want to update a branch (such as a patch branch) |
|
to <i>current</i>, you would add the <code>-A</code> |
|
flag to cvs, but this flag is of little use otherwise. Some older |
|
versions of the OpenBSD documentation recommended use of this flag |
|
in many examples. We no longer recommend this flag unless absolutely necessary. |
|
|
|
<p> |
|
A sample use of an anoncvs server would be: |
|
<pre> |
|
$ <strong>cd /tmp</strong> |
|
$ <strong>cvs -d anoncvs@anoncvs.ca.openbsd.org:/cvs get src/sys/arch/sparc</strong> |
|
[copies the files from the repository to your machine] |
|
$ <strong>cd src/sys/arch/sparc</strong> |
|
$ <strong>cvs log locore.s</strong> |
|
[shows the commit log for the chosen file] |
|
$ <strong>cvs diff -bc -r1.1 -r1.5 locore.s</strong> |
|
[shows the changes between revisions 1.1 and rev 1.5] |
|
</pre> |
|
|
|
<p> |
|
<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> |
|
|
|
<pre> |
|
$ <strong>cvs -d :pserver:anoncvs@anoncvs.ca.openbsd.org:/cvs login</strong> |
|
(Logging in to anoncvs@anoncvs1.ca.openbsd.org) |
|
CVS password: <strong>anoncvs</strong> |
|
[This writes a line to ~/.cvspass (filename over-ridden by CVS_PASSFILE).] |
|
[An example line from my ~/.cvspass after typing 'blah' for the above ] |
|
[password is: ] |
|
[:pserver:anoncvs@anoncvs5.usa.openbsd.org:/cvs Au'yc ] |
|
[After logging in ONCE every other use of the above CVSROOT will work. ] |
|
$ <strong>cvs -d :pserver:anoncvs@anoncvs.ca.openbsd.org:/cvs get ksrc-i386 ksrc-common</strong> |
|
[Allows you to retrieve ONLY that necessary to rebuild an i386 kernel. ] |
|
</pre> |
|
|
|
<p> |
|
Here is how someone using anoncvs regularly would update his |
|
source tree: |
|
<ul><li>First, start out by `get'-ing an initial tree: |
|
|
|
<p> (If you are following <i>current</i>): |
|
<pre> |
|
# <strong>cd /usr</strong> |
|
# <strong>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src</strong> |
|
</pre> |
|
|
|
<p> (If you are following the patch branch for 5.1): |
|
<pre> |
|
# <strong>cd /usr</strong> |
|
# <strong>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_5_1 -P src</strong> |
|
</pre> |
|
|
|
<li> Anytime afterwards, to `update' this tree: |
|
<p> (If you are following <i>current</i>): |
|
<pre> |
|
# <strong>cd /usr/src</strong> |
|
# <strong>cvs -q up -Pd</strong> |
|
</pre> |
|
|
|
<p> (If you are following the patch branch for 5.1): |
|
<pre> |
|
# <strong>cd /usr/src</strong> |
|
# <strong>cvs -q up -rOPENBSD_5_1 -Pd</strong> |
|
</pre> |
|
|
|
Every time you ran this it would synchronize your /usr/src tree. It would |
|
not destroy any of your local changes, rather it would attempt to merge |
|
changes in. |
|
|
|
<p> |
|
<li> NOTE: |
|
If you are updating a source tree that you initially fetched |
|
from a different server, or from a CD, you <strong>must</strong> |
|
add the <em>-d anoncvs@anoncvs.ca.openbsd.org:/cvs</em> options to cvs. |
|
<pre> |
|
# <strong>cd /usr/src</strong> |
|
# <strong>cvs -d anoncvs@anoncvs.ca.openbsd.org:/cvs -q up -Pd</strong> |
|
</pre> |
|
</ul> |
|
|
|
<p> |
|
To <a name="ports">use</a> <a href="faq/ports/index.html">ports</a>, |
|
it is similar to src: |
|
<ul><li> |
|
<p> (If you are following <i>current</i>): |
|
<pre> |
|
# <strong>cd /usr</strong> |
|
# <strong>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P ports</strong> |
|
</pre> |
|
<p> (If you are following the patch branch for 5.1): |
|
<pre> |
|
# <strong>cd /usr</strong> |
|
# <strong>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_5_1 -P ports</strong> |
|
</pre> |
|
<li> Anytime afterwards, to `update' this tree: |
|
<p> (If you are following <i>current</i>): |
|
<pre> |
|
# <strong>cd /usr/ports</strong> |
|
# <strong>cvs -q up -Pd</strong> |
|
</pre> |
|
<p> (If you are following the patch branch for 5.1): |
|
<pre> |
|
# <strong>cd /usr/ports</strong> |
|
# <strong>cvs -q up -rOPENBSD_5_1 -Pd</strong> |
|
</pre> |
|
</ul> |
|
|
|
In the above example, <i>-q</i> is optional, only intended to minimize |
|
cvs's output. For those who like to see screenfulls of output, it |
|
can be omitted. |
|
|
|
<p> |
|
To make a diff of a locally patched module (here <i>cd.c</i>) to include with |
|
a bug report: |
|
<pre> |
|
# <strong>cd /usr</strong> |
|
# <strong>cvs diff -u src/sys/scsi/cd.c > /tmp/patch</strong> |
|
</pre> |
|
|
|
<p> |
|
The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&sektion=1&format=html"> |
|
cvs(1) man page</a> |
|
(included with the CVS sources) has much more |
|
information about how CVS can be used. |
|
|
|
<p> |
|
<strong>Warning:</strong> |
|
When using cvs you should take care that your current directory is either |
|
the root of the tree you are referencing or in a separate place such as /tmp. |
|
Some commands such as "get" can create an arbitrary sub-tree in the current |
|
directory, and a subsequent update will recursively flesh out this sub-tree. |
|
|
|
<p> |
|
The anoncvs service gives fledgling developers a chance to learn CVS |
|
operation and get thoroughly involved in the development process |
|
before getting "commit" access -- as a result of showing useful |
|
skills and high quality results they will naturally later be given |
|
developer access. As well, people providing patches can create |
|
their "diff"s relative to the CVS tree, which will ease integration. |
|
|
|
|
|
<h3><a name="WHICH"><font color="#0000e0">Use rsh(1) or ssh(1)?</font></a></h3> |
|
|
|
CVS supports three access methods between the CVS server and the CVS |
|
client: |
|
|
|
<ul> |
|
<li><b>ssh:</b> Secure Shell can be used to access the anonymous CVS servers. |
|
This is the <i>recommended</i> way of doing so, as it is encrypted. |
|
|
|
<li><b>rsh:</b> Remote Shell can be used on some of the servers for users |
|
who don't have access to <a href="http://www.openssh.com/">ssh</a>. |
|
|
|
<li><b>pserver:</b> pserver is primarily useful for users who are behind |
|
firewalls that block the other two connections. |
|
</ul> |
|
|
|
<p> |
|
<b>NOTE:</b> For users wishing to use rsh, you must first set the |
|
<tt>CVS_RSH</tt> environment variable to point to the rsh(1) program: |
|
|
|
<ul> |
|
<li>For Korn/Bourne shells: |
|
<pre> |
|
$ <b>export CVS_RSH=/usr/bin/rsh</b> |
|
</pre> |
|
<li>For csh/tcsh: |
|
<pre> |
|
% <b>setenv CVS_RSH /usr/bin/rsh</b> |
|
</pre> |
|
</ul> |
|
|
|
<p> |
|
By default, OpenBSD's CVS client uses ssh ("secure shell": |
|
<a href="http://www.openssh.com/">OpenSSH</a>) to talk to the CVS server. |
|
|
|
<p> |
|
Many of the CVS sites no longer support rsh or pserver for security reasons. |
|
Local |
|
problems like firewalls or imperfect protocol emulators such as slirp may |
|
also hinder rsh usage. However, if rsh is desired, one must set the |
|
<var>CVS_RSH</var> environment variable to point to rsh |
|
(typically <strong>/usr/bin/rsh</strong>). |
|
|
|
<p> |
|
If local policy prevents outgoing connections to ssh's default port of 22, |
If local policy prevents outgoing connections to ssh's default port of 22, |
port 2022 may be used in its place. Note, however, that not all anoncvs |
some servers permit connections on an alternative port (typically 2022). |
servers accept ssh connections on this port. Furthermore, most anoncvs servers |
These are noted in the list above. |
no longer accept the <strong>none</strong> cipher, as it is disabled in |
To use a different port, reconfigure your ssh client by adding a "Host" |
recent versions of ssh for security reasons. Also, do not be tempted |
entry to <strong>$HOME/.ssh/config</strong>, e.g.: |
to turn on compression: CVS already compresses. |
|
|
|
<p> |
|
One could specify something like the following in the |
|
<strong>$HOME/.ssh/config</strong> configuration file to avoid the pitfalls |
|
and restrictions mentioned above: |
|
<pre> |
<pre> |
Host anoncvs.ca.openbsd.org |
Host anoncvs.ca.openbsd.org |
Compression no |
Port 2022 |
Port 2022 |
|
</pre> |
</pre> |
|
|
<p> |
|
CVS is a little noisy starting up; to quiet it a bit you may want to |
|
do this: |
|
|
|
<pre> |
|
<strong>$ export CVS_CLIENT_PORT=-1</strong> |
|
</pre> |
|
|
|
<h3><a name="MIRROR"><font color="#0000e0">Setting up an anoncvs mirror |
<h3><a name="MIRROR"><font color="#0000e0">Setting up an anoncvs mirror |
</font></a></h3> |
</font></a></h3> |
|
|
|
|
<a href="anoncvs.shar">document</a> |
<a href="anoncvs.shar">document</a> |
which describes the setup of anoncvs servers is available. |
which describes the setup of anoncvs servers is available. |
|
|
<h3><font color="#0000e0">Final notes</font></h3> |
<h3><a name="NOTES"><font color="#0000e0">Final notes</font></h3> |
After upgrading your source tree, you should read the comments |
After upgrading your source tree, you should read the comments |
at the top of <kbd>/usr/src/Makefile</kbd> before attempting |
at the top of <kbd>/usr/src/Makefile</kbd> before attempting |
a build. Also, you should build a new kernel <strong>before</strong> |
a build. Also, you should build a new kernel <strong>before</strong> |