The version numbers should be considered as examples.

Debian upstream version
-----------------------

Previous commercial release was 1.6.
Next commercial release should be 1.7.
All builds preparing 1.7 are numbered 1.7w (w stands for wavefront).
The "GPL 2014" release is based on one of the 1.7w builds.

With Debian ordering, 1.6gpl2014 fits between 1.6 and 1.7 but reflects
the official year-based release name.

Latest upstream release
-----------------------

- browse to http://libre.adacore.com/download/
- select "Free Software or Academic Development"
- click on "Build your download package"
- select any platform and "GNAT GPL 2014"
- select GNATcoll GPL 2014
- click on the gnatcoll-gpl-2014-src.tar.gz hyperlink (not the toggle button)

Repackaging of the upstream tarball
-----------------------------------

Debian cannot redistribute the upstream tarball because the generated
documentation contains minified Javascript. The command line below
solves this issue, uses a better compression scheme and gives the
archive a name compatible with Debian standards.

Inside a (probably older) Debian source tree:
# mk-origtargz ../gnatcoll-gpl-2014-src.tar.gz --repack --compression=xz
or anywhere:
# mk-origtargz gnatcoll-gpl-2014-src.tar.gz --repack --compression xz \
  --package libgnatcoll --version 1.6gpl2014 --exclude-file "docs/_build*"

Use of the version control system
---------------------------------

You may either create an empty Monotone database
# mtn -d $db db init
or use an existing one.

A branch tracks the unpatched repackaged upstream archives, another
adds the debian/ subdirectory.
# upstream_branch=com.adacore.libgnatcoll
# debian_branch=org.debian.libgnatcoll

Download the two branches from the server to your database.  The first
time you contact this server, monotone will show its key. You should
check that it matches f8a11727e8983cf9083c08c6a2acaa27e439dd39.
# server=www.ada-france.org
# mtn -d $db pull mtn://$server?$upstream_branch
# mtn -d $db pull mtn://$server?$debian_branch

Create a workspace with the head of debian branch.
# mtn -d $db checkout -r h:$debian_branch libgnatcoll
# cd libgnatcoll

Recreate the orig archive from a tag in upstream branch.
# mtn checkout -r t:libgnatcoll-1.6gpl2014 kilroy
# tar caf ../libgnatcoll_1.6gpl2014.orig.tar.xz kilroy --exclude=_MTN
# rm -fr kilroy

Build the package
# debuild

Beware that:
- mtn status does not list all changes. Try "mtn list missing", "mtn
  list unknown", "mtn list ignored" and "mtn status" to get the
  equivalent of "git status".
- Monotone will detect changes outside debian/ caused by patches.
  Always "quilt pop -a" when preparing a commit.

 -- Nicolas Boulenguez <nicolas@debian.org>, Sat,  9 Aug 2014 05:11:31 +0200
