This section applies to SVN / IPCop v2
======================================


Prerequisites
- have release right on SourceForge to be able to assign uploaded files to a release
- have 'IPCop development Group' private gpg key (and password) to sign the patch, 
  import the key with gpg --import (private key file name)
- you can create your own key (named 'IPCop development Group') and 
  replace (temporarily!) the pub key in your box (/root/.gnupg/*) for testing your patch


Announce intentions
- prepare a schedule for Release Candidate(s)
- inform the other developers that you are about to make an update


Update SVN
- finalize and commit updates/<VERSION>/information.xml
- ./make.sh changelog and commit doc/ChangeLog (only the changes since the last update will be added to ChangeLog)
- create tag for version:
        svn copy -r <SVNREVISION> https://ipcop.svn.sourceforge.net/svnroot/ipcop/ipcop/trunk \
        https://ipcop.svn.sourceforge.net/svnroot/ipcop/ipcop/tags/release-<VERSION> \
        -m "SVN tag for <VERSION> release."
    -r <SVNREVISION> is optional but avoids possible conflict when another developer makes a commit when not looking

Build, preferably create a fresh directory, checkout the newly created tag and build there
- svn checkout https://ipcop.svn.sourceforge.net/svnroot/ipcop/ipcop/tags/release-<VERSION>
- do not forget to activate building of floppy and usb images
- ./make.sh clean && ./make.sh build
- sign the patch with gpg --local-user "IPCop Development Group" --sign ipcop-<VERSION>-update-<MACHINE>.tgz
- ./make.sh dist :
    calculate all md5sum for distribution files

SourceForge
see https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download for full details.
NOTE: in July 2009 the FRS has undergone some dramatic changes, make yourself familiar with it!
- optionally add a new package (rarely needed)
- add a new release
- upload files to SourceForge 
- update patch file on SourceForge /home/project-web/ipcop/htdocs/patches for previous version
  remove <latest /> and add <nextversion>VERSION</nextversion>
- copy the updates/<VERSION>/information.xml file to SF and store as VERSION.xml
- in Tracker, Tracker administration, bugs, add a new group corresponding to the version number


Update SVN
- bump VERSION and PREVIOUSVERSION in make.sh
- modify PREVIOUSSVNREV in make.sh
- run ./make.sh newupdate
- commit the changes


===== Below is the original text which applies to CVS =====

Prerequisites
- have release right on sourceforge to be able to affect uploaded files to a release
- have 'IPCop development Group' private gpg key (and password) to sign the patch, import the key with gpg --import (private key file name)
- you can create your own key (named 'IPCop development Group') and replace (temporarily!) the pub key in 
  your box (/root/.gnupg/*) for testing your patch

Build
- ./make.sh changelog and commit : update doc/Changelog (include in the .iso)
- ./make.sh build
- ./make.sh dist :
	build source package by exporting from CVS,
	calculate md5sum of update-1.4.x.tgz ipcop-1.4.x.iso fcdsl-1.4.x.tgz sources-ipcop-1.4.x.tgz
	create a check-list of modified files in doc/updated-sources.txt
- manually check all necessary files are include in updates/1.4.x/ROOTFILES.*.1.4.x comparing with /doc/updated-sources.txt
- sign the patch with gpg --local-user "IPCop Development Group" --sign update-1.4.x.tgz
  or simply typing ./sign    (make.sh produces 'sign' batch file for convinience)

Sourceforge
- upload files via ftp to upload.sourceforge.net in incoming directory
 (may need to have more than 30s inactivity timeout to be able to connect on sourceforge)
- add a new release on IPCop package and affect uploaded files (web interface Files Release)
	status hidden for test, active for official update
	add Changelog and text abstract of the release
- update every patch list on sourceforge /i/ip/ipcop/htdocs/patches preceding the previous v1.4.x version with :
	the content of updates/1.4x/information (and add the link to the release on sourceforge at the end of the line)
- add a new entry corresponding to the version number in the patch list with only "----START LIST----" inside
- In Tracker, Tracker administration, bugs, add a new group corresponding to the version number

News
- send news on user devel announce lists (subscribe to announce before if necessary)
- md5sum for update-1.4.x.tgz ipcop-1.4.x.iso fcdsl-1.4.x.tgz sources-ipcop-1.4.x.tgz is in doc/release.txt
- md5sum of the tgz.gpg file need to be calculated by hand

Update CVS :
- with the tag of the release
 cvs tag IPCOP_v1_4_(x)_FINAL

- bump VERSION and PREVIOUSTAG in make.sh
- add a new directory in updates corresponding to the new version number with files:
	information (Id number should be 003 for VERSION=1.4.3)
	ROOTFILES.alpha-1.4.x
	ROOTFILES.i386-1.4.x
	setup
	.cvsignore (containing patch.tar.gz )

Add a new group in bug tracking interface
