Packaging

From Apertium
Jump to navigation Jump to search

New Language or Pair Package

svn co https://svn.code.sf.net/p/apertium/svn/branches/packaging
cd packaging

# Copy apertium-kaz-tat because update-control.pl expects it
svn cp trunk/apertium-kaz-tat trunk/apertium-arg-cat

# Automatically adjust many tiny details
./update-control.pl trunk/apertium-arg-cat Aragonese Catalan

# Determine last changed revision
svn info https://svn.code.sf.net/p/apertium/svn/trunk/apertium-arg-cat | grep 'Last Changed Rev'

# Double-check debian/control and fix debian/changelog with the version and revision

# Determine copyrights and stuff those into debian/copyright, along with any other adjustments needed there
svn log -q https://svn.code.sf.net/p/apertium/svn/trunk/apertium-arg-cat | awk '{print $3 "\t" $5}' | ./authors.php

# Add the package to packages.json

svn ci -m "Packaged arg-cat"

Release to Debian

cd packaging

# 1) Ensure control files correct, especially debian/copyright and debian/changelog
# Everything else ought to be ok already, or it would have failed nightly build

# 1.1) Determine the svn revision that corresponds to the release
# and put this with the version in debian/changelog

# 1.1.1) If a tag was made, this is easy, e.g. for apertium 3.4.2:
svn log -q -l1 https://svn.code.sf.net/p/apertium/svn/tags/apertium/release-3.4.2/
# yields r68453

# 1.1.2) Otherwise, look through to see what revision corresponds with the release:
svn log https://svn.code.sf.net/p/apertium/svn/trunk/apertium/ | less

# 1.2) For the found revision, make sure the version in configure.ac (or similar) is correct:
svn cat -r68453 https://svn.code.sf.net/p/apertium/svn/trunk/apertium/configure.ac | less

# 1.3) Update debian/changelog with the found version and revision and sign+stamp it, e.g.:
apertium (3.4.2~r68453-1) unstable; urgency=low

  * New upstream release.

 -- Tino Didriksen <tino@didriksen.cc>  Wed, 25 May 2016 11:27:01 +0200

# 1.4) Optionally, ensure exclude.txt has patterns of all files you don't want in the source tarball.
# For languages and pairs, this is usually all folders: */

# 1.5) Commit control files

# 2) Generate the signed Debian source package, from the revision above.
# The argument to -e must match the GnuPG key you're signing with:
./single-dpkg.pl trunk/apertium/ --auto 0 \
-m 'Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>' \
-e 'Your Name <your@email.com>' \
--rev 68453

# 3) Import it to the Debian git repo.

# 3.1) Clone or pull:
gbp clone ssh://your-alioth-login@git.debian.org/srv/git.debian.org/git/debian-science/packages/apertium.git
cd apertium
# Or, if you have it cloned already:
cd apertium
gbp pull
git pull --all

# 3.2) Import, push new branch data, push new upstream tag
gbp import-dsc --pristine-tar /tmp/autopkg.*/*.dsc
git push --all
git push origin upstream/3.4.2_r68453

People, Lists