CCP4/BIOXHIT: Exporting dbccp4i for release

21st March 2007

The following instructions explain how to export a version of dbCCP4i from CVS in order to make a release for UNIX/Linux.

0. Preparation

Before tagging and exporting the files some things need to be updated and committed to CVS:

  1. Version number in README file

  2. Version number for dbccp4i directory in dbccp4i.setup-dist; this is the line:

    setenv DBCCP4I_TOP      ${DBCCP4I_MASTER}/dbccp4i...
  3. If the version is going to be 0.1, then update this to

    setenv DBCCP4I_TOP      ${DBCCP4I_MASTER}/dbccp4i-0.1

    then commit to CVS.

    This also needs to be done for setup files for other shells, e.g. dbccp4i.setup-bash

  4. Version number and date in dbccp4i_installation.html document

1. Tag the files for export

CVS uses tags to associate sets of files together with specific revisions. In this case we use tags to associate together the files and revisions that will make the release.

The files that we will release will all come from the Bioxhit_db/dbccp4i/ directory:

  1. Move to a checked-out copy of the Bioxhit_db/dbccp4i/ directory.

  2. Make sure that the files are all up to date from CVS, by doing:

    cvs status | grep Status

    and checking for files that are "Locally modified", "Need patch" or "Need merge".

    If any files are not "Up to date" then you will need to bring them up to date before proceeding with the next steps.

  3. Tag the files by doing:

    cvs tag tagname

    where tagname is a string that we will use to identify this particular version. The string can contain letters, numbers, hyphens and underscores only. A good convention to use for release x.y is "release-x_y".

    For example: release 0.1 should be tagged as "release-0_1".

  4. You can check the tag by doing:

    cvs log file

    and looking for the new tag at the top of the log that is output from this command.

2. Export the files from CVS

Once the files are tagged, we can export them from CVS using the "cvs export" command. This should be done in a different directory away from the checked-out copy used in the previous section.

  1. Move to a non-CVS "scratch" directory.

  2. Export the files using:

    cvs [-d CVSROOT ] export -d dbccp4i-version -r tagname Bioxhit_db/dbccp4i

    This will create copies of the files in a subdirectory called dbccp4i-version.

3. Make a gzipped archive file

Once the files are exported, you can use the UNIX tar facility to make an archive, and the gzip utility to compress it:

  1. Create the archive using:

    tar cvf dbccp4i-version.tar dbccp4i-version
  2. Compress the archive file using:

    gzip dbccp4i-version.tar

At the end you will have an archive file dbccp4i-version.tar.gz. You can then delete the dbccp4i-version/ directory as it is no longer needed.

4. Put onto the FTP server for download

This is simple: copy the tar.gz file to the /public2/ftp/pub/bioxhit/ directory on ccp4serv2, e.g by using the scp command:

  1. The command would look like:

    scp dbccp4i-version.tar.gz ccp4serv2.dl.ac.uk:/public2/ftp/pub/bioxhit/

    Note that you will have to give your password.

  2. Go to this directory on the server and check that the file has read and write permissions for all users, e.g. using:

    cd /public2/ftp/pub/bioxhit/
    chmod +rw dbccp4i-version.tar.gz

5. Do some checks

You should then check that the file has been successfully transferred by downloading it from the ftp site, unpacking it to a temporary area, and then performing an installation and test of the code (manually and by running the test scripts and clients).

If this is successful then you are ready to announce the release to your audience in the wider world. Congratulations!


Peter Briggs