OpenSSL    
 Tarballs |  License |  Repository |  Mirror |  CVS 
 
Title
FAQ
About
News
Documents
Source
Contribution
Support
Related

 

CVS Repository

The OpenSSL package is developed in a CVS-based repository which is directly available through the RSYNC service on dev.openssl.org and as snapshot tarballs through FTP on ftp.openssl.org for those people who either want to always stay at the bleeding edge or even want to participate in the development of OpenSSL. But use such repository snapshots only when you like to see OpenSSL dump core and you can help yourself in case of problems, of course.

Fetching CVS repository snapshot tarballs

Tarballs containing snapshots of the latest CVS repository states can be found under ftp://ftp.openssl.org/snapshot/. They are created on a daily basis. These snapshots are provided for convenience only. When you really want to keep yourself up-to-date please use the bandwidth-friendly RSYNC service to directly mirror the CVS repository instead.

Using your own local CVS repository mirror

Because direct CVS access to the repository is only available for OpenSSL core team members you have to establish a local copy of the repository through the RSYNC service before you can checkout the source tree. This is not a drawback, it's an advantage: Using RSYNC is faster than plain CVS or even CVSup access (because RSYNC safes bandwidth by using compression, the client is easily to install and the used algorithm is very fast) and only with a local repository copy you can actually work reliable and without delays (think about a cvs diff over the network).
  1. Make sure you have the excellent RSYNC client program (`rsync') installed on your system. If not, please grab the RSYNC distribution first and install it. You can found RSYNC on http://samba.anu.edu.au/rsync/ and ftp://samba.anu.edu.au/pub/rsync/. We recommend you to install version 2.2.1 or higher.

  2. Make sure you have the CVS program (`cvs') installed on your system. If not, please grab the CVS distribution first and install it. You can found CVS on http://www.cyclic.com/cvs/info.html and ftp://download.cyclic.com/pub/. We recommend you to install version 1.10.4 or higher.

  3. With the following command you now can check which packages are available through the RSYNC service from dev.openssl.org:

    $ rsync rsync://dev.openssl.org/

    Here the openssl-cvs package is what you usually want to mirror. It contains the complete CVS repository and is currently about 10 MB in size.

  4. Now you have to decide to which local directory you want to mirror the OpenSSL CVS repository, say /home/openssl/cvs/. Then all you have to do is setup a Cron job which regularly runs the following command:

    $ rsync -rztpv --delete \
            rsync://dev.openssl.org/openssl-cvs/ \
            /home/openssl/cvs/
    

  5. Finally you now can checkout your working copy of the CVS development tree into a directory, say /home/openssl/work/:

    $ cvs -d /home/openssl/cvs co -d /home/openssl/work openssl
    

    Now you have a directory /home/openssl/work/openssl/ which contains the OpenSSL source tree.

  6. While development goes on you usually want to synchronize with the latest file revisions from the OpenSSL project. The RSYNC Cron job keeps your local repository copy up-to-date, but for checked out working tree you have to run the following command:

    $ cd /home/openssl/work
    $ cvs update -P -d .
    

    This does actually more: When you have done local modifications to the OpenSSL sources they get merged with the updated revisions from the local repository. With this you can keep your local modifications for OpenSSL in a very handy way.

    BUT REMEMBER: Because the RSYNC Cron job very time makes your local repository copy an exact mirror of the original repository on dev.openssl.org, never check-in your modifications to the local repository. They get lost on the next RSYNC update! But keeping modifications in the checked out files is safe. You just have to solve some merging conflicts from time to time via cvs update.

Inserting the OpenSSL tree into an existing CVS repository

When you already have an existing local CVS repository established (for instance by mirroring another CVS repository), say with a $CVSROOT of /home/whatever/cvs/, you can also just insert the OpenSSL development tree as a subdirectory into this existing repository. Just use this command instead of the one above:

$ rsync -rztpv --delete \
        rsync://dev.openssl.org/openssl-cvs/openssl/ \
        /home/whatever/cvs/openssl/

Now you can checkout the OpenSSL development tree form the existing CVS repository via:

$ cvs -d /home/whatever/repos co openssl