Short instructions on how to pack a release

Check the build

We use autotools and their latest version has the 'distcheck' target which is very useful to check if everything is allright.

To pack the tar.gz of the release and obtain a bug report regarding the build if a problem arises, use make distcheck.

If all goes well, the tar.gz ready for distribution should be there.

We use .tar.gz files unless there is a really good reason to change to bz2 - for instance if a lot of space is saved.

Tag the commit

Once you are sure this is the right point in time to tag a release, use a git tag: simply a number prefixed by 'v'

git tag v1.2
git push --tags

Sign the release

Create an md5 sum file of the .tar.gz and put it in .tar.gz.md5

Sign the .tar.gz.md5 file with your gpg key (registered on pgp.mit.edu)

 gpg -b -a file.tar.gz.md5 

Upload to ftp

All our releases from the very beginning of dyne.org are server on our FTP.dyne.org (now over HTTP, however..)

To upload, ask someone that has a shell on quico: the ftp repository is located on quico.dyne.org in /maxtor/ftp/anonymous/

Place the sourcecode .tar.gz and its md5 and signature into the releases/ subdirectory of the project

Place any pre-compiled binaries in a binaries/ subdirectory

Overwrite all basic documentation files with the new versions, putting them into the base of the directory

 README ChangeLog NEWS TODO AUTHORS 

Upload on the ftp also any rendered manual and possibly also an html version of the manpage

Prepare DEB packages for APT.dyne.org

There is a page for that: Code/PackageForAptDyne

We use git-buildpackage to

Announce on freshmeat (now freecode)

All our software is announced on freecode.com so find the entry for the one you are packaging, ask the current maintainer to include you as uploader for the project (and of course make an account on freecode if you don't already have one) then add the release summary there (in properly spelled and well formed short english phrases).

Announce on our website

Add a New Post on the new dyne.org website and categorize it as Announcements then give it the name of the software and its version, write down all the information you think might be useful to know for the large public. Also include the git log output if you like, with all entries between the last and this release, using something like:

 git log --oneline 1.1..1.2 

If for instance this is the 1.2 release then this will spit out all the history since 1.1 (of course after you have tagged 1.2 in git)

Twit, status.net, identi.ca and social networks in general

Enjoy spreading the news :^) remember that we prefer to link our webpage announcement and then put more information there, so use the url dyne.org/hasciicam-1.2 or so

Code/MakeARelease (last edited 2011-11-07 20:13:58 by jaromil)