# Subversion Repository

OpenSC is using subversion as version control system. You can find out more about subversion at

- [http://subversion.tigris.org/] is the official home for subversion.
- [http://svnbook.red-bean.com/] has the book "Version Control with Subversion"

In our subversion repository we have

- `trunk/` contains the current development code
- `branches/opensc-0.10` contains the 0.10 maintenance branch
- `releases/opensc-0.10.0` contains the opensc 0.10.0 release code.

You can checkout these with the subversion commands

    svn co http://www.opensc-project.org/svn/opensc/trunk/
    svn co http://www.opensc-project.org/svn/opensc/branches/opensc-0.10/
    svn co http://www.opensc-project.org/svn/opensc/releases/opensc-0.10.0/

Note that the subversion repository only contains development files. Before compiling the code you need to run the "`./bootstrap`" script to create many files like "`configure`" and "`Makefile.in`". You need to have `autoconf`, `automake` and `libtool` installed on your system to do that (see AutoVersions)

Some people have reported problems with some http proxies. If you find some problem, you can maybe solve it by using https instead. Try to checkout the repository like this:

    svn co --non-interactive https://www.opensc-project.org/svn/opensc/trunk/
    svn co --non-interactive https://www.opensc-project.org/svn/opensc/branches/opensc-0.10/
    svn co --non-interactive https://www.opensc-project.org/svn/opensc/releases/opensc-0.10.0/

# Write access for developers

Developers with write access usualy access the repository via https with authentication using ssl client certificates. You might want to put something like this into your `~/.subversion/servers` file to point subversion to your client certificate:

    [groups]
    opensc = www.opensc-project.org

    [opensc]
    ssl-client-cert-file=/home/aj/.subversion/aj.p12

You can access the repositories:

    svn co https://www.opensc-project.org/svn/opensc/trunk/
    svn co https://www.opensc-project.org/svn/opensc/branches/opensc-0.10/
    svn co https://www.opensc-project.org/svn/opensc/releases/opensc-0.10.0/

## Creating distribution packages

To package OpenSC as tar.gz file you only need to type "make dist". However building documentation etc. has been moved to scripts only called when you do this, so you might need to install these tools to create a fully functional release:

    wget, xsltproc, docbook-xsl, w3c-dtd-xhtml, doxygen