version 1.145, 2019/09/14 21:05:01 |
version 1.146, 2019/11/08 14:51:07 |
|
|
<h2 id=OpenBSD> |
<h2 id=OpenBSD> |
<a href="index.html"> |
<a href="index.html"> |
<i>Open</i><b>BSD</b></a> |
<i>Open</i><b>BSD</b></a> |
Source Repository Access: CVSync and rsync |
Source Repository Access: CVSync |
</h2> |
</h2> |
|
|
<hr> |
<hr> |
|
|
<p> |
<p> |
OpenBSD uses the CVS version control system. |
OpenBSD previously used CVSync to allow fetching a local copy of the |
It is described in more detail <a href="anoncvs.html#CVS">here</a>. |
source repository. |
The <a href="https://man.openbsd.org/cvs">cvs(1)</a> command is used |
This is now being decommisioned. |
to checkout a working tree and perform standard operations (log, diff, etc). |
Information about <a href="anoncvs.html#rsync">fetching the repository |
It can either contact an CVS server (in most cases this will be an OpenBSD |
using rsync</a> has been merged into the <a href="anoncvs.html">Anonymous |
<a href="anoncvs.html">anoncvs</a> server), or operate against a local |
CVS</a> information page. |
copy of the repository. |
|
|
|
<p> |
|
If you would like to operate a local anoncvs server, use cvs(1) commands |
|
offline, or simply have faster access, you may use CVSync or rsync to |
|
fetch a local copy of the repository. |
|
|
|
<h3 id="CVSync">What Is CVSync?</h3> |
|
|
|
<b>CVSync</b> is a software package specifically used for distributing |
|
and updating <a href="https://man.openbsd.org/cvs">cvs(1)</a> repositories. |
|
As it has knowledge of the file format it can operate more efficiently |
|
than a general-purpose file synchronization program, however it is not |
|
bug-free and can have problems updating at times. |
|
|
|
<p> |
|
The client <code>cvsync</code> runs on each user's machine (typically from |
|
a <a href="https://man.openbsd.org/cron">cron(8)</a> job), and fetches |
|
from a server running <code>cvsyncd</code>. |
|
|
|
<h3 id="starting">Getting Started Using CVSync</h3> |
|
|
|
<p> |
|
CVS is part of OpenBSD's base system. |
|
CVSync is an entirely different program and can be installed from |
|
packages: |
|
|
|
<pre class="cmdbox"> |
|
# <b>pkg_add cvsync</b> |
|
</pre> |
|
|
|
<p> |
|
Do not build your own copy from unmodified upstream source - |
|
the port/package has been modified to support commitid which is now |
|
used in the OpenBSD repository. |
|
|
|
<p> |
|
In order to mirror the OpenBSD repository with CVSync, |
|
the following configuration file might be used: |
|
|
|
<pre class="cmdbox"> |
|
config { |
|
hostname anoncvs.eu.openbsd.org |
|
# If your network link is a T1 or faster, comment out the following line. |
|
compress |
|
collection { |
|
name openbsd release rcs |
|
prefix /cvs |
|
umask 002 |
|
} |
|
} |
|
</pre> |
|
|
|
<p> |
|
This directs cvsync to fetch or refresh all OpenBSD distributions from |
|
<b>anoncvs.eu.openbsd.org</b> with a |
|
<a href="https://man.openbsd.org/umask">umask(2)</a> that permits group write |
|
permission to the local repository. |
|
The local copy of the files are stored in <code>/cvs</code>. |
|
|
|
<p> |
|
Assuming this file is saved as <code>cvs-syncfile</code>, the |
|
following command would be used to invoke cvsync |
|
|
|
<pre class="cmdbox"> |
|
$ <b>cvsync -c cvs-syncfile</b> |
|
</pre> |
|
|
|
<h3 id="rsync">Getting Started Using Rsync</h3> |
|
|
|
<p> |
|
Some repository mirrors offer access via rsync, a general-purpose |
|
file synchronization program. |
|
Again this should be installed from packages. |
|
Two flavours are available: |
|
|
|
<pre class="cmdbox"> |
|
# <b>pkg_add rsync</b> |
|
Ambiguous: choose package for rsync |
|
a 0: <None> |
|
1: rsync-3.1.2p0 |
|
2: rsync-3.1.2p0-iconv |
|
Your choice: |
|
</pre> |
|
|
|
<p> |
|
Unless you have other requirements, simply install the standard version |
|
(option 1 on the list above). |
|
You can select the flavour on the command-line to avoid |
|
<a href="//man.openbsd.org/pkg_add">pkg_add(1)</a> prompting for the |
|
version like so: |
|
<pre class="cmdbox"> |
|
# <b>pkg_add rsync--</b> |
|
</pre> |
|
|
|
<p> |
|
In order to mirror the OpenBSD repository with rsync, |
|
the following command line might be used: |
|
|
|
<pre class="cmdbox"> |
|
$ <b>rsync -avz --delete rsync://obsdacvs.cs.toronto.edu/obsdcvs/ /cvs/</b> |
|
</pre> |
|
|
|
<h3 id="using">Using CVS to Work With Your Repository</h3> |
|
|
|
<p> |
|
Now that you have a local copy of the CVS repository, it is now simple |
|
to check out, update, or do any of the other CVS operations you would |
|
normally do against a remote repository, locally. |
|
For example: |
|
<pre class="cmdbox"> |
|
$ <b>cvs -d/cvs checkout -P src</b> |
|
$ <b>cvs -d/cvs up -Pd</b> |
|
$ <b>cvs -d/cvs diff -u file.c</b> |
|
</pre> |
|
<p> |
|
More details on CVS operation can be found in |
|
<a href="faq/faq5.html#BldGetSrc">FAQ5, Fetching appropriate source |
|
code</a> and in the |
|
<a href="https://man.openbsd.org/cvs">cvs(1)</a> |
|
man page. |
|
|
|
<h3 id="CVSROOT">Available Repository Servers</h3> |
|
|
|
<p> |
|
The following CVSync and rsync repository servers are available: |
|
|
|
<ul> |
|
<li><strong>anoncvs.comstyle.com</strong><br> |
|
Location: Toronto, Canada.<br> |
|
Maintained by <a href="mailto:brad@comstyle.com">Brad Smith</a>.<br> |
|
Updated hourly.<br> |
|
<p> |
|
<li><strong>obsdacvs.cs.toronto.edu</strong><br> |
|
<strong>rsync://obsdacvs.cs.toronto.edu/obsdcvs/</strong><br> |
|
Location: University of Toronto, Toronto, ON, Canada.<br> |
|
Maintained by <a href="mailto:nick@holland-consulting.net">Nick Holland</a>.<br> |
|
Updated every 2 hours.<br> |
|
<p> |
|
<li><strong>anoncvs.fr.openbsd.org</strong><br> |
|
<strong>rsync://anoncvs.fr.openbsd.org/openbsd-cvs/</strong><br> |
|
Location: Paris, France.<br> |
|
Maintained by <a href="mailto:openbsd-mirror@bsdfrog.org">Landry Breuil, Antoine Jacoutot</a>.<br> |
|
Updated every 2 hours from anoncvs1.ca.openbsd.org.<br> |
|
<p> |
|
<li><a href="https://mirror.osn.de/"><strong>mirror.osn.de</strong></a><br> |
|
<strong>rsync://mirror.osn.de/openbsd-all/</strong><br> |
|
Location: Nürnberg, Germany.<br> |
|
Maintained by <a href="mailto:aw@osn.de">Armin Wolfermann</a>.<br> |
|
Updated every 3 hours.<br> |
|
<p> |
|
<li><strong>ftp.hostserver.de</strong><br> |
|
<strong>rsync://ftp.hostserver.de/cvsync/</strong><br> |
|
Location: Frankfurt, Germany.<br> |
|
Maintained by <a href="mailto:mirror@hostserver.de">Sebastian Benoit, Peter Hessler</a>.<br> |
|
Updated hourly from anoncvs1.ca.openbsd.org.<br> |
|
<p> |
|
<li><a href="http://www.allbsd.org/"><strong>cvsync.allbsd.org</strong></a><br> |
|
Location: Tokyo, Japan.<br> |
|
Maintained by <a href="mailto:hrs@allbsd.org">Hiroki Sato</a>.<br> |
|
<p> |
|
<li><strong>anoncvs.eu.openbsd.org</strong><br> |
|
<strong>rsync://anoncvs.eu.openbsd.org/OpenBSD-cvs/</strong><br> |
|
Location: Stockholm University, Stockholm, Sweden.<br> |
|
Maintained by <a href="mailto:jj@deadzoft.org">Janne Johansson</a>.<br> |
|
Updated every 2 hours.<br> |
|
<p> |
|
<li><strong>anoncvs.spacehopper.org (rsync only, no cvsync)</strong><br> |
|
<strong>rsync://anoncvs.spacehopper.org/OpenBSD-CVS/</strong><br> |
|
Location: Plymouth, United Kingdom.<br> |
|
Maintained by <a href="mailto:sthen@openbsd.org">Stuart Henderson</a>.<br> |
|
Updated hourly.<br> |
|
<p> |
|
<li><strong>anoncvs4.usa.openbsd.org</strong><br> |
|
Location: New York Internet, New York, NY, USA.<br> |
|
Maintained by <a href="mailto:millert@openbsd.org">Todd C. Miller</a>.<br> |
|
Updated hourly.<br> |
|
<p> |
|
<li><strong>anoncvs2.usa.openbsd.org</strong><br> |
|
Host also known as <strong>anoncvs3.usa.openbsd.org, ftp3.usa.openbsd.org, ftp5.usa.openbsd.org, openbsd.se.rit.edu</strong>.<br> |
|
Location: Rochester Institute of Technology, Rochester, NY, USA.<br> |
|
Maintained by <a href="mailto:millert@openbsd.org">Todd C. Miller</a>.<br> |
|
Updated hourly.<br> |
|
<p> |
|
<li><strong>anoncvs1.usa.openbsd.org</strong><br> |
|
Host also known as <strong>anoncvs.usa.openbsd.org</strong>.<br> |
|
Location: Network Media, LLC, Bend, OR, USA.<br> |
|
Maintained by <a href="mailto:millert@openbsd.org">Todd C. Miller</a>.<br> |
|
Updated hourly.<br> |
|
<p> |
|
|
|
</ul> |
|
|
|
<p> |
|
<strong>Note:</strong> If your server is listed on here with inaccurate or |
|
unknown information, please contact <a |
|
href="mailto:mirrors-discuss@openbsd.org"><code>mirrors-discuss@openbsd.org</code></a> |
|
|
|
<p> |
|
You may want to use <a href="https://man.openbsd.org/traceroute">traceroute(8)</a> |
|
to find out which server is nearest you. |
|
Problems with a server should be reported to the <b>maintainer</b> of the |
|
server in question. |
|
|
|
<p> |
|
As of December 2017, the CVS repository sizes are: |
|
|
|
<table> |
|
<tr> |
|
<td><strong>openbsd-ports</strong></td> |
|
<td>- <b>1220</b>MB</td></tr> |
|
<tr> |
|
<td><strong>openbsd-src</strong></td> |
|
<td>- <b>2865</b>MB</td></tr> |
|
<tr> |
|
<td><strong>openbsd-www</strong></td> |
|
<td>- <b>704</b>MB</td></tr> |
|
<tr> |
|
<td><strong>openbsd-xenocara</strong></td> |
|
<td>- <b>1658</b>MB</td></tr> |
|
<tr> |
|
<td><strong>openbsd-cvsroot</strong></td> |
|
<td>- <b>158</b>MB</td></tr> |
|
</table> |
|
|
|
<p> |
|
The overall repository size currently increases at a rate |
|
of about <b>400</b>MB per annum. The src repository increases by about |
|
<b>150</b>MB. |
|
|
|
<p> |
|
<strong>IMPORTANT NOTE:</strong> |
|
There are a few issues relating to cryptographic software that everyone |
|
should be aware of: |
|
|
|
<ul> |
|
<li> |
|
<p> |
|
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. |
|
<li> |
|
<p> |
|
However, if you are outside the USA or Canada, you should not |
|
fetch the cryptographic sections of the OpenBSD sources from a |
|
CVSync server located in the USA. The files in question are... |
|
<ul> |
|
<li><code>src/kerberosIV/*</code> |
|
<li><code>src/kerberosV/*</code> |
|
<li><code>src/lib/libdes/*</code> |
|
<li><code>src/lib/libc/crypt/crypt.c</code> |
|
<li><code>src/lib/libc/crypt/morecrypt.c</code> |
|
<li><code>src/sys/crypto</code> |
|
<li><code>src/sys/netinet</code> |
|
<li><code>src/usr.sbin/afs/src/rxkad/*</code> |
|
</ul> |
|
<p> |
|
Because of the USA ITAR munitions list, |
|
crypto software may only be exported to Canada from the USA. |
|
</ul> |
|