Difference between revisions of "Packaging"

From Apertium
Jump to navigation Jump to search
Line 21: Line 21:
   
 
svn ci -m "Packaged arg-cat"
 
svn ci -m "Packaged arg-cat"
  +
</pre>
  +
  +
= Release to Debian =
  +
<pre>
  +
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
 
</pre>
 
</pre>
   

Revision as of 13:56, 29 July 2016

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