If running Wheezy or older, you will have to do the upstream part of the work in a Jessie chroot (e.g. with pbuilder).
Install build and test dependencies
Install build-dependencies listed in debian/control:
mk-build-deps -i -r
Install build-dependencies from Debian:
libdist-zilla-perl libdist-zilla-plugins-cjm-perl \
libdist-zilla-plugin-changelogfromgit-perl \
libdist-zilla-plugin-installguide-perl \
libdist-zilla-plugin-test-perl-critic-perl \
libdist-zilla-plugin-test-notabs-perl \
libdist-zilla-plugin-git-perl \
liblocale-msgfmt-perl libmoosex-has-sugar-perl \
dh-make-perl
Install build-dependencies that are not in Debian yet:
DEB_BUILD_OPTIONS=nocheck dh-make-perl --build --install --cpan Dist::Zilla::Plugin::LocaleMsgfmt
Update POT and PO files
git checkout master && \
( cd po && make pot && make update-po ) && \
git commit po -m 'Update POT and PO files.'
Make an upstream release
Enable new translations in po/PACKAGE and commit.
Export new upstream version number:
export VERSION=XXX
Update version number in bin/tails-persistence-setup, 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/Tails.pm && \
perl -pi \
-E "s,^our \\\$VERSION = '[0-9.]+';\$,our \\\$VERSION = '$VERSION';," \
lib/Tails.pm && \
git commit lib/Tails.pm -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 && \
git-import-orig --upstream-vcs-tag=Tails-perl5lib_$VERSION \
../Tails-perl5lib-$VERSION.tar.gz && \
git-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 "$(head -n 1 debian/changelog | sed -e 's,).*,),')"
Build a Debian package (use a Squeeze/i386 + backports chroot):
git-buildpackage
If everything is fine, add a signed tag to the repository and push the changes:
git-buildpackage --git-tag-only --git-sign-tags && \
git push && git push --tags
(Make sure master, upstream, debian and pristine-tar were all pushed.)
Add the Debian package to Tails
Sign the package:
debsign $CHANGES_FILE
Upload:
dupload --to tails $CHANGES_FILE
