Instructions

Checking cclib out of subversion
cclib is hosted by the fantastic people at Sourceforge. The development version of cclib is stored in a Subversion (SVN) repository at Sourceforge (you can read some background material on this at ). The following command will download the current development version into a folder called cclib: svn checkout https://cclib.svn.sourceforge.net/svnroot/cclib/trunk cclib

To install, follow the guidelines described on the Install page.

Releasing a version
python setup.py sdist --formats=gztar,zip upload python setup.py bdist_wininst # rename from cclib-0.x.win32.exe to cclib-0.x-py2.3.exe python2.4 setup.py bdist_wininst                      # rename to cclib-0.x-py2.4.exe python setup.py register
 * Update the CHANGELOG and ANNOUNCE
 * Make sure that setup.py has the right version number, as well as __version__ in __init__.py.
 * Run manifest.py to update the MANIFEST if necessary.
 * Do a final merge of the trunk to release branch
 * Create the source distributions
 * Run the tests for a final time after removing cclib (rm -rf $PYTHONDIR/Lib/site-packages/cclib) and reinstalling from the source distribution.
 * Tag the release.
 * Use releaseforge to make a new release
 * Update the download instructions on the wiki
 * Wait 24 hours (for the sourceforge mirrors to get a copy)
 * Email the users and developers mailing list with the ANNOUNCE
 * Create a news item and copy and paste ANNOUNCE into it
 * Update http://www.freshmeat.net (click "Add release" - summarise the changelog in changes, and give the link to the changelog in the appropriate box)
 * Update the Python cheeseshop
 * For a major release, if appropriate, send an email to the CCL list, the GAMESS users list and the ADF users list.

Creating a logfile release
Although all of the regression log files are stored on the web server, for the convenience of users we make periodic releases of all of these as one large .tar file (no point in .gz as they are already zipped).

cd data tar -c -f logfiles.tar -T regressionfiles.txt
 * To create a release:
 * Create a new release in package logfiles called logfiles-rnnn, where nnn is the current SVN revision.
 * You can use a variation of the following text in the release notes: "A release of test logfiles for use with rnnn of the cclib code."

Copying a logfile to sourceforge
Use scp or winscp to connect to "USERNAME,cclib@web.sf.net". The logfiles are in htdocs/data. For interactive shell access, you will need to first type "ssh -t USERNAME,cclib@shell.sf.net create". After about 10 seconds, your own private shell will be created at SourceFroge which you can then log into.

Release branches
Historically, branches were managed by hand. Now I've now started using svnmerge.py, which keeps track of what's already been merged, and what's already been marked as 'not to merge'.

svn copy https://cclib.svn.sourceforge.net/svnroot/cclib/trunk https://cclib.svn.sourceforge.net/svnroot/cclib/branches/cclib-1.0.1 svn checkout https://svn.sourceforge.net/svnroot/branches/cclib-1.0.1 branchcclib101 cd branchcclib101 python svnmerge.py init ../trunk svn commit -F svnmerge-commit-message.txt python ..\svnmerge.py avail -S /trunk # or add "--log" python ..\svnmerge.py merge -S /trunk # Merge all changes svn commit -F svnmerge-commit-message.txt
 * Create a release branch for cclib-1.0.1
 * Check it out
 * Initialise merge tracking
 * Merge some stuff