How to Update for a New Series
==============================

1. Update the [Sources] section of data/DistUpgrade.cfg

(a) Update the To= field to the new release.
(b) Add the previous release to the From= field.

NOTE: For the first release after an LTS, the From= field should ONLY
contain just-released LTS, as that is the only supported upgrade path. On the
other hand, a the From= field for an LTS should include all releases since and
including the previous LTS.  The inclusion of all interim releases here is to
help users on EOL releases.

2. Update Release Annoucements

There are several "release announcement" files containing the release
adjective, animal, and number.

NOTE: For an LTS release, the number should be stylized as "xx.04 LTS", so
make sure to include that in the old or new version number if needed.

The following command usually does the trick:

# Set these with correct values. Capitalize adjectives and animals.
OLD_ADJECTIVE=
OLD_ANIMAL=
OLD_VERSION=
NEW_ADJECTIVE=
NEW_ANIMAL=
NEW_VERSION=

for f in $(ls -1 DistUpgrade/*ReleaseAnnouncement*); do
    sed -i -e "s/$OLD_ADJECTIVE/$NEW_ADJECTIVE/g" -e "s/$OLD_ANIMAL/$NEW_ANIMAL/g" -e "s/$OLD_VERSION/$NEW_VERSION/g" $f
done

3. Identify and Remove Old Quirks

This is more of a manual process. Go through DistUpgrade/DistUpgradeQuirks.py
and identify quirks that no longer apply.  There are many reasons a quirk
becomes obsolete, but most quirks are addressed at a specific release upgrade
path.

4. Bump the Package Version

This should be self-explanatory from debian/changelog.

How to test run the release-upgrade
===================================

In a VM or chroot run:
$ bzr co lp:ubuntu-release-upgrade
$ cd ubuntu-release-upgrade/DistUpgrade
$ sudo ./dist-upgrade --datadir=../data

or to test a specific frontend
$ sudo ./dist-upgrade --datadir=../data --frontend DistUpgradeViewText
(or DistUpgradeViewGtk3)
