What to do for a release

From Gramps
(Redirected from Packaging Process)
Jump to: navigation, search

What to do for a release

Updated guidelines for Git

Translation update

Run the following steps:

git checkout gramps4.1

git pull
cd po
./genpot.sh # or python update_po.py -p  see New environment and differences between tools
git diff gramps.pot

If there have been changes, you'll need to commit gramps.pot and ask translators to update their .po files before you can make a release.

Release name

Refer to (and update) the list of previous releases to select an appropriate name.

Changelog and NEWS file

Create the changelog files:

git log gramps-4.1.2.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog
git log gramps-4.1.2.. --pretty --numstat --summary --no-merges -- po/*.po | git2cl > po/ChangeLog

Using the Changelog files generated with git2cl in the step above, edit and update the NEWS file. Commit the NEWS file:

git commit -am "update for 4.1.2 release"

Working on VERSION

  • 4.0.x

Check gramps/version.py to indicate an official release:

gedit gramps/version.py 

and if need, update the version for the release:

VERSION_TUPLE = (4, 0, 2)

Modify gramps/gen/const.py to indicate an official release:

- VERSION += get_git_revision(ROOT_DIR)
+ VERSION += "-1"

Save change:

git commit -am "make official release"

The version number should be the same on "about" dialog:

python Gramps.py


python Gramps.py -v
  • 3.4.x

Modify configure.in to indicate an official release:

gedit configure.in

There are two changes to make:

1) Change the following line:
-RELEASE=0.SVN$(git log -1 --format=%h .)
+dnl RELEASE=0.SVN$(git log -1 --format=%h .)
2) And change this line:
-dnl RELEASE=1

Save these two changes.

git commit -am "make official release" configure.in

Now run the following and check the version number in the "about" dialog:

python src/gramps.py

Create a tag

Create the release tag:

git tag -am "tag 4.1.2" gramps-4.1.2

Push to repository

Push the changes to the repository:

git push origin gramps-4.1.2

Work on tag

Move to the new release number on branch

  • 4.0.x

Bump the version number in gramps/version.py

Update the version for the release:

VERSION_TUPLE = (4, 0, ...)

Revert change on gramps/gen/const.py to indicate git revision:

- VERSION += "-1"
+ VERSION += get_git_revision(ROOT_DIR)

Save change:

git commit -am "bump to <new version number>"
git push
  • 3.4.x

Bump the version number in configure.in and src/const.py.in

Save change:

git commit -am "bump to <new version number>"
git push

Release from tag

git checkout <tag> -b <new_branch_name>
  • Gramps-4.0.x

Modify MANIFEST.in

+ include ChangeLog
+ include po/ChangeLog

Create the official source tarball:

python setup.py sdist
  • Gramps-3.4

Build, check and create the official source tarball:

make distcheck

Making the source tarball available

or via your <dev> account:

$ sftp <dev>@frs.sourceforge.net
Connecting to frs.sourceforge.net...
sftp> cd /home/frs/project/gramps
  • create a new folder in the "Stable" hierarchy
  • upload the gramps-4.1.2.tar.gz file to the new folder

Announcing the new release

  • announce on gramps-announce@lists.sourceforge.net, gramps-devel@lists.sourceforge.net and gramps-users@lists.sourceforge.net
  • update News section on this wiki
  • update the list of previous releases
  • update reference to the new version on the wiki template
  • update HeadlineNews
  • change the topic on the IRC channel #gramps
 /TOPIC #gramps Welcome to Gramps! The latest versions are 4.1.0 and the legacy 3.4.8 || http://www.gramps-project.org/ || Please state OS and Gramps version when asking a question. Understand that replies can take up to 2 days depending on whose watching the channel. Please consider asking on the gramps-users mailing list. 


  • merge forward the NEWS file

See also

External links