Install build and test dependencies

In a Stretch system, as a user that has sudo credentials:

git checkout debian && \
sudo apt install devscripts && \
mk-build-deps -i -r --root-cmd sudo && \
sudo apt install \
   libdist-zilla-perl \
   libdist-zilla-plugins-cjm-perl \
   libdist-zilla-plugin-changelogfromgit-perl \
   libdist-zilla-plugin-installguide-perl \
   libdist-zilla-plugin-localemsgfmt-perl \
   libdist-zilla-plugin-test-perl-critic-perl \
   libdist-zilla-plugin-test-notabs-perl \
   libdist-zilla-plugin-git-perl \

Update POT and PO files

git checkout master && \
    ( cd po && make pot && make update-po ) && \
    git add po && \
    git commit -m 'Update POT and PO files.'

Make an upstream release

git checkout master

Enable new translations in po/PACKAGE and commit.

Export new upstream version number:


Update version number in lib/, commit all files that need to be, run the upstream test suite, build an upstream tarball, tag the release, move the tarball out of the build repository and clean it up:

perl -pi -E 's,^Version [0-9.]+,Version $ENV{VERSION},' lib/ && \
   perl -pi \
      -E "s,^our \\\$VERSION = '[0-9.]+';\$,our \\\$VERSION = '$VERSION';," \
      lib/ && \
   git commit lib/ -m "Tails-perl5lib $VERSION" && \
   RELEASE_TESTING=1 dzil test && \
   dzil build && \
   git tag -s "Tails-perl5lib_$VERSION" -m "Tails-perl5lib $VERSION" && \
   mv Tails-perl5lib-*.tar.gz .. && \
   git clean -fdx

Update the Debian package

Checkout the branch with Debian package specifics, import the new upstream tarball, update debian/changelog:

git checkout debian && \
   gbp import-orig --upstream-vcs-tag=Tails-perl5lib_$VERSION \
      ../Tails-perl5lib-$VERSION.tar.gz && \
   gbp dch --auto && \
   dch -e

(Do not forget to set the appropriate release.)

Update the packaging (e.g. look at changes in dist.ini), and then update debian/changelog again if needed.

Commit debian/changelog:

    git commit debian/changelog \
        -m "$(dpkg-parsechangelog -SSource) ($(dpkg-parsechangelog -SVersion))

Git-Dch: Ignore "

Build a Debian package (use a Stretch/amd64 chroot):

gbp buildpackage

If everything is fine, add a signed tag to the repository and push the changes:

gbp buildpackage --git-tag-only --git-sign-tags && \
git push --follow-tags origin \
                master:master \
                debian:debian \
                pristine-tar:pristine-tar \

(Make sure master, upstream, debian and pristine-tar were all pushed.)

Add the Debian package to Tails

Sign the package:



dupload --to tails $CHANGES_FILE