Ubuntu Maintenance Notes
========================


Development Series
------------------

For the current development series, we don't cherry-pick upstream commits but
rather rebase onto latest upstream. Whenever a rebase is performed, a new
orig tarball needs to be generated and uploaded to the archive as part of the
source package upload.

The following are the steps to rebase onto latest upstream and create a new
source package.

1) $ debian/scripts/rebase-upstream

Rebases onto latest upstream/main, updates the content of debian/upstream and
creates a rebase commit.

2) $ debian/scripts/create-orig-tarball

Creates a new orig tarball, using the upstream commit and version from
debian/upstream.

3) $ debian/scripts/close-release

Creates a new changelog entry with all changes since the last release. Commits
the changelog and tags the commit. The new package version is generated
automatically from the upstream version.

4) $ debian/scripts/build-package -S -us -uc

Creates a new (unsigned) source package.


Stable Series
-------------

Stable series are not rebased to latest upstream but instead only receive
cherry-picked and backported commits. The development series becomes a stable
series at the time of its official release. At this time, a new development
branch should be created and an initial SRU release commit should be added to
the branch of the just released series:

1) $ debian/scripts/open-sru

This creates a dummy initial release commit with a package version ending in
.0 which prevents future rebases and serves as a starting point for future
SRU release.
