Release Procedure - 2langnic/GlobaLeaks GitHub Wiki
This is the procedure to release a GlobaLeaks software version.
On your local pc:
$ apt-get install dputHopefully, you already have GlobaLeaks' signing key (mail: [email protected]), and an user at deb.globaleaks.org in group dput. You are warmly suggested to configure ssh (i.e., your .ssh/config) to login with your assigned user, and with your associated identity file.
Configure dput for the upload to deb.globaleaks.org:
$ cat ~/.dput.cf
[globaleaks]
method = scp
fqdn = deb.globaleaks.org
incoming = /srv/packages/mini-dinstall/incoming
allowed_distributions = (jessie|wheezy|trusty|precise)
On your local PC:
$ git clone https://github.com/globaleaks/GlobaLeaks.gitYou must first update the translation strings from transifex and commit them by running the following commands over the client source code directory:
$ cd client
$ grunt updateTranslations
$ git commit -a -m "Update translatons"
$ git push
You must first create new tags in the GlobaLeaks tree. Every time either one of these is updated a new incremental tag version must be created. In this example we will use "0.1".
First edit the client version described in package.json and in bower.json changing the release version:
$ emacs client/package.json
{
...
"version": "0.1",
...
}
$ emacs bower.json
{
...
"version": "0.1",
...
}
Than you have to commit, tag and rebuild it.
First edit the version described in globaleaks/__init__.py changing the release tag version:
$ emacs backend/globaleaks/__init__.py__version__ = '0.1'
To complete you must commit and tag GlobaLeaks with:
$ git commit -a -m "commit before new tag message"
$ git push origin
$ git tag -s v0.1 -m 'GlobaLeaks version 0.1' -u $signing_user
$ git push origin --tags
GlobaLeaks can be built just like any other debian package. Refer to Debian's New Maintainer Guide for any trouble.
For each distro/version you should checkout on the relevant branch and perform the following packaging steps.
$ git checkout packaging_branch
$ git merge masterto fetch all new code changes, and in particular the tagged commit containing version changes.
available branches are:
- release/debian/jessie
- release/debian/wheezy
- release/ubuntu/precise
- release/ubuntu/trusty
Then you will need to update also debian/changelog:
$ export DEBFULLNAME="GlobaLeaks software signing key"
$ export DEBEMAIL="[email protected]"
$ dch -iTo complete you must commit the changelog with:
$ git commit -a -m "Apply changelog for $disto_codename release $gl_version"
$ git push origin
At this point, you are ready to build the package:
$ sudo mk-build-deps -i # to install build dependencies
$ debuild # to build the debian packageNote that dpkg is supposed to run also the unittests via python setup.py test.
At any moment, you can exclude (or include, resp.) this by uncommenting (or commenting) the line
export PYBUILD_DISABLE=testin your debian/rules file.
Simply as
$ dput globaleaks ../globaleaks_${version}_all.changesAfter generating a GlobaLeaks package, you can build the new images.
Don't forget to test it manually too!
$ cd appliance/platform-version/
$ /path/to/packer build -var deb=/path/to/globaleaks_*.deb template.json- Prepare email message for announcement
- Send an email to mailing lists
- Send a Tweet (and retweet trough other social accounts)
- Send an irc message to relevant chat/channels and social networks groups