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 gramps42
git pull
cd po

For Gramps 3.4 and earlier use:


For Gramps 4.x use (See New environment and differences between tools. See po/update_po.py to generate a new template/catalog (gramps.pot).)

python update_po.py -p  
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.2.0.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog
git log gramps-4.2.0.. --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.2.0 release"

Working on VERSION

Gramps 4.2.x

  • 4.2.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, 2, 0)

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

- VERSION += git_revision
+ VERSION += "-1"

Save change:

git add .
git commit -am "make official release"

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

python Gramps.py


python Gramps.py -v

Gramps 3.4.x

  • 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.2.0" gramps-4.2.0

Push to repository

Push the changes to the repository:

git push origin gramps-4.2.0

Work on tag

Move to the new release number on branch

Gramps 4.2.x

  • 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

Gramps 3.4.x

  • 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.2.x

  • Gramps-4.0.x

Modify MANIFEST.in

+ include ChangeLog
+ include po/ChangeLog

Create the official source tarball:

python setup.py sdist

Gramps 3.4.x

  • 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.2.0.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.2.0 and the legacy 3.4.9 || 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