This document provides a step-by-step list to remind Cthulhu
maintainers how to make a release.

The general instructions for a release are here:

  https://wiki.gnome.org/MaintainersCorner/Releasing

See also:

  https://discourse.gnome.org/t/new-gnome-versioning-scheme/4235

Here's a summary for Cthulhu:

PREPARE SOURCES FOR THE RELEASE:
-------------------------------

Make sure you are up to date:

  git pull
  git status

Update ./NEWS with changes from the last tagged release. You can use
commands like the following:

Detailed commits since the CTHULHU_40_BETA tag:

  git log CTHULHU_40_BETA..

Short list of translation changes with author names and files:

  git log CTHULHU_40_BETA.. --grep translation --pretty=format:"%s - %an" --name-only

Quick-and-dirty formatted list of translation changes:

  git log CTHULHU_40_BETA.. --grep translation --pretty=format:"%s,%an" --name-only |
    awk -F/ '/\.(po|am)/ {gsub("(\.po|Makefile.am)", "", $NF); printf(",%s",$NF); next;}
    {gsub("(Updated* |Add(ed)* | translation| help)", "", $0); printf("\n%s",$0);}' |
    awk -F, '!seen[$0]++ {if (NF == 3) printf("  %-15s %-25s %s\n", $3, $1, $2);}' |
    sort

Short list of non-translation commits:

  git log CTHULHU_40_BETA.. --grep translation --invert-grep --pretty=format:" * %s%n"

NOTE: You should also make sure the external dependencies listed in
configure.ac and README are accurate.


BUILD THE RELEASE:
-----------------

./autogen.sh --prefix=`pwd`/bld && make && make install && make distcheck

COMMIT RELEASE CHANGES AND TAG THE RELEASE:
-------------------------------------------

git commit -a
git push
git tag -a -s CTHULHU_40_RC
git push origin CTHULHU_40_RC


UPLOAD THE RELEASE:
------------------

scp cthulhu-40.rc.tar.xz yourusername@master.gnome.org:
ssh master.gnome.org
ftpadmin install cthulhu-40.rc.tar.xz


BUMP THE VERSION:
-----------------

Modify this line in ./configure.ac:

    m4_define([cthulhu_version], [40.rc])

The major version (40) increments by 1 each new GNOME release cycle.
The minor version proceeds as follows: alpha, beta, rc, 0, 1, 2, 3, etc.

Modify ./README.md to make sure it has the right Cthulhu version.

git commit -a
git push
