Comment 12 for bug 385098

Revision history for this message
Free Ekanayaka (free.ekanayaka) wrote : Re: [Bug 385098] Re: The source package should build on all supported releases

So yes, as Jamu points out, debian/changelog is the only file which
will differ across the different source packages. The picture I have
in mind would be:

1) The debian/changelog in trunk is targeted to the current Ubuntu
development version, for example till we don't release the final 1.3.2
the last entry should be:

landscape-client (1.3.2-0ubuntu1) UNRELEASED; urgency=low

and as soon as we release, we commit, tag and upload to karmic as:

landscape-client (1.3.2-0ubuntu1) karmic; urgency=low

This would be the standard bi-monthly release workflow for the
development branch of Ubuntu. I think it's important to always have
the most recent version of landscape-client in the development Ubuntu
archive, so that it can get tested through the release process and
problems can spotted out earlier. Hopefully when the release day
comes, our packages are already there since a while and will be
relaxing in front of a few of drinks waiting for the countdown :)
(yeah, it won't happen, but let's dream on..)

Note that the revision number is 0ubuntu1, and not 0ubuntu0.9.10, the
latter is really meant only for backports (see next point).

2) Our SRUs are basically straight backports of our cutting-edge
version to earlier releases, the script that automates the building
of source packages would look something like:

upstream=$(dpkg-parsechangelog | grep ^Version | cut -f 2 -d " "| cut -f 1 -d "-")

for release in dapper_6.06 hardy_8.04; do # all supported releases here

   codename=$(echo $release|cut -f 1 -d _)
   version=$(echo $release|cut -f 2 -d _)
   revision=0ubuntu0.$(echo $version)

   cp debian/changelog ../
   dch -b -v "$upstream-$revision" -D $codename -m "Released for $codename, no source changes."
   dpkg-buildpackage -S
   mv ../changelog debian
done

This would end up in entries like:

landscape-client (1.3.2-0ubuntu0.6.06) dapper; urgency=low

Having a changelog entry which is lesser than the previous is fine for
backports, for example:

http://changelogs.ubuntu.com/changelogs/pool/main/l/lintian/lintian_2.1.2ubuntu1~hardy1/changelog

3) We could possibly have automatic builds against the bzr
version. uploaded to the Landscape PPA. They would be treated
similarly and have versions like 1.3.2~bzr141-0ubuntu0.6.06,
where 141 is the bzr revision.

How does it sound?