diff --git a/content/architecture/api_stability.md b/content/architecture/api_stability.md
index 9c843cfdf7bf873aff17dc45afc6d46a57d36c0d..650637fcce6bba2fbb9d07da3f5c3eb582df8c78 100644
--- a/content/architecture/api_stability.md
+++ b/content/architecture/api_stability.md
@@ -84,7 +84,7 @@ API stability guarantees are strongly linked to project versioning; both
 package versioning and libtool versioning. Libtool versioning exists entirely
 for the purpose of tracking ABI stability, and is explained in detail on the
 [Autotools Mythbuster](https://autotools.io/libtool/version.html) or the
-[Versioning page]( {{< ref "/guidelines/howtoreleasepackages.md" >}} ).
+[Versioning page]( {{< ref "versioning.md#libtool-versioning" >}} ).
 
 Package versioning (*major.minor.micro*) is strongly linked to API stability:
 typically, the major version number is incremented when backwards-incompatible
@@ -92,8 +92,8 @@ changes are made (for example, when functions are renamed, parameters are
 changed, or functions are removed). The minor version number is incremented
 when forwards-incompatible changes are made (for example, when new public API
 is added). The micro version number is incremented when code changes are made
-without modifying API.  See the [Versioning page]( {{< ref
-"/guidelines/howtoreleasepackages.md" >}} ) for more information.
+without modifying API.  See the
+[Versioning page]( {{< ref "versioning.md#package-versioning" >}} ) for more information.
 
 API versioning is just as important for D-Bus APIs and GSettings schemas (if
 they are likely to change) as for C APIs. See the [documentation on D-Bus API
diff --git a/content/architecture/binary_package_versioning.md b/content/architecture/binary_package_versioning.md
deleted file mode 100644
index 44e8e33dc7fa088036e6758b6535b572d9f98498..0000000000000000000000000000000000000000
--- a/content/architecture/binary_package_versioning.md
+++ /dev/null
@@ -1,54 +0,0 @@
-+++
-date = "2019-11-15"
-weight = 100
-
-title = "Binary Package Versioning"
-
-aliases = [
-    "/old-wiki/Build_and_Integration_infrastructure_documentation"
-]
-+++
-
-# Understanding Build Suffixes
-
-For every release (*Developer, Preview, Product*), we add a build suffix string
-to the packages, which relates to the release name of Apertis.  The build
-suffix gets added to every built .deb package. Having a build suffix helps
-determine which Apertis release the .deb package was built for.
-
-The suffix string is constructed of: `b<Release_Name>b<B_CNT>`.
-- The initial `b` is for backward compatibility ensuring the new suffix string
-  can work well together with older release packages.
-- `<Release_Name>` refers to the Apertis release's name.
-- `b<B_CNT>` refers to being a binary build along with the build count.
-
-For example, for the Apertis Developer Release `v2020dev0` we add the string
-`bv2020dev0b<B_CNT>` to the project configuration on OBS.  Similarly, for an
-Apertis Product Release of `v2019.0` we add the string `bv2019.0b<B_CNT>` to
-the project configuration on OBS.
-
-## Point Releases
-
-A point release rolls the packages previously released in the update and
-security repositories into the stable branch. It is required to ensure that the
-packages in the new point release have a higher version than the binary package
-in the updates or security repositories, it is thus necessary to include the point
-releases numbering (e.g. `v2019.1`, `v2019.2`) in the build suffix.
-
-For example, during the initial release of the v2019 release, the build suffix
-was `bv2019.0b<B_CNT>`. The same build suffix is inherited by the updates and
-security sub-repositories during this time period. Before doing a new point
-release *v2019.1*, the build suffix of the main repositories
-(`apertis:v2019:target`, `apertis:v2019:development`, `apertis:v2019:sdk`,
-`apertis:v2019:hmi` etc) is set to `vb2019.1b<B_CNT>`.
-
-Once this step has been taken, changes previously commited to Apertis update
-and security branches (such as `apertis/v2020-updates` and
-`apertis/v2020-security`) are merged into the main release branch
-(`apertis/v2020`), thus triggering a build and generation of a package with the
-required point release suffix. This ensures that the packages synced from the
-updates and security sub-repositories have higher versions than packages from
-the updates and security sub-repositories. Once the merge has been completed,
-the equivalent packages in the update and security branches are purged to allow
-these branches to be used for following updates and security fixes to the new
-point release.
diff --git a/content/architecture/versioning.md b/content/architecture/versioning.md
new file mode 100644
index 0000000000000000000000000000000000000000..c951191cf6d426808eba6763a716e7aef61773c0
--- /dev/null
+++ b/content/architecture/versioning.md
@@ -0,0 +1,146 @@
++++
+date = "2019-11-15"
+weight = 100
+
+title = "Versioning"
+
+aliases = [
+    "/architecture/binary_package_versioning/",
+    "/guidelines/versioning/",
+    "/old-wiki/Guidelines/Versioning",
+    "/old-wiki/Build_and_Integration_infrastructure_documentation"
+]
++++
+
+It is important to properly
+[version](https://en.wikipedia.org/wiki/Software_versioning) software to enable
+software changes and compatibility of components to be tracked, as well as to
+aid with bug tracking and the application of updates. To achieve this, it is
+important that we effectively version each source module, binary package and
+release.
+
+# Module Versioning
+
+Module versioning differs for libraries and applications: libraries need a
+libtool version specified in addition to their package version.  Applications
+just have a package version.
+
+## Libtool versioning
+
+Libraries have two version numbers: a libtool version which tracks ABI
+backwards compatibility, and a [package version](#package-versioning) which
+tracks feature changes.  These are normally incremented in synchronisation, but
+should be kept separate because ABI backwards compatibility is not necessarily
+related to feature changes or bug fixes. Furthermore, the two version numbers
+have different semantics, and cannot be automatically generated from each
+other.
+
+A good overview of libtool versioning, and the differences from package
+versioning, is given in the
+[Autotools Mythbuster](https://autotools.io/libtool/version.html).
+
+To update the libtool version, follow the algorithm given in the comments
+below. This is a typical `configure.ac` snippet for setting up libtool
+versioning:
+
+```
+# Before making a release, the LT_VERSION string should be modified. The
+# string is of the form c:r:a. Follow these instructions sequentially:
+#   1. If the library source code has changed at all since the last update, then
+#      increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
+#   2. If any interfaces have been added, removed, or changed since the last
+#      update, increment current, and set revision to 0.
+#   3. If any interfaces have been added since the last public release, then
+#      increment age.
+#   4. If any interfaces have been removed or changed since the last public
+#      release, then set age to 0.
+AC_SUBST([LT_VERSION],[0:0:0])
+```
+
+The following snippet can be used in a `Makefile.am` to pass that version info
+to libtool:
+
+```
+my_library_la_LDFLAGS = -version-info $(LT_VERSION)
+```
+
+If a package contains more than one library, it should usually have a separate
+libtool version for each one.
+
+The standard process for making a release of a module increments the libtool
+version (if the module is a library) and the package version immediately before
+release. This is called pre-release incrementing.
+
+The use of pre-release increment for libtool versions means that they are only
+incremented once for all ABI changes in a release. Some projects use
+post-release increment for package versions to ensure that the package version
+number is not outdated (i.e. still equal to the previous release) during the
+development cycle; we achieve this by altering the version number automatically
+in
+[the build-snapshot script](https://gitlab.apertis.org/pkg/target/apertis-customizations/blob/apertis/v2020dev0/development/build-snapshot)
+instead.
+
+## Package versioning
+
+The package version number for a library is that passed to `AC_INIT()`, and the
+one which is typically known as the project’s version number.  For example, the
+Debian package for a library will use the library’s package version.
+
+Versions of packages developed for Apertis have the form `x.y.z` and are
+updated according to the following rules:
+
+- `x` starts at 0, and increments when there is a major compatibility break.
+  Libraries with different major versions should usually be
+  [parallel-installable]( {{< ref "module_setup.md#parallel-installability" >}} ).
+- `y` is the Apertis branch year and month as a single 4-digit number, for
+  instance `1706`.
+- `z` is 0 for the first release to each branch, and goes up for each release
+  (whether it is a feature release or bugfix-only).
+
+# Understanding Binary Build Suffixes
+
+For every binary release (*Developer, Preview, Product*), we add a build suffix
+string to the packages, which relates to the release name of Apertis.  The
+build suffix gets added to every built .deb package. Having a build suffix
+helps determine which Apertis release the .deb package was built for.
+
+The suffix string is constructed of: `b<Release_Name>b<B_CNT>`.
+- The initial `b` is for backward compatibility ensuring the new suffix string
+  can work well together with older release packages.
+- `<Release_Name>` refers to the Apertis release's name.
+- `b<B_CNT>` refers to being a binary build along with the build count.
+
+The build count is incremented each time the package is built, regardless of
+whether the source has changed.
+
+For example, for the Apertis Developer Release `v2020dev0` we add the string
+`bv2020dev0b1` to the project configuration on OBS when the package is first
+built.  Similarly, for an Apertis Product Release of `v2019.0` we add the
+string `bv2019.0b2` to the project configuration on OBS when it is built for
+the second time with no source change.
+
+# Product Point Release Versioning
+
+A product point release rolls the packages previously released in the update and
+security repositories into the stable branch. It is required to ensure that the
+packages in the new point release have a higher version than the binary package
+in the updates or security repositories, it is thus necessary to include the point
+releases numbering (e.g. `v2020.1`, `v2020.2`) in the build suffix.
+
+For example, during the initial release of the v2020 release, the build suffix
+was `bv2020.0b<B_CNT>`. The same build suffix is inherited by the updates and
+security sub-repositories during this time period. Before doing a new point
+release *v2020.1*, the build suffix of the main repositories
+(`apertis:v2020:target`, `apertis:v2020:development`, `apertis:v2020:sdk`,
+`apertis:v2020:hmi` etc) is set to `vb2020.1b<B_CNT>`.
+
+Once this step has been taken, changes previously commited to Apertis update
+and security branches (such as `apertis/v2020-updates` and
+`apertis/v2020-security`) are merged into the main release branch
+(`apertis/v2020`), thus triggering a build and generation of a package with the
+required point release suffix. This ensures that the packages synced from the
+updates and security sub-repositories have higher versions than packages from
+the updates and security sub-repositories. Once the merge has been completed,
+the equivalent packages in the update and security branches are purged to allow
+these branches to be used for following updates and security fixes to the new
+point release.
diff --git a/content/guidelines/howtoreleasepackages.md b/content/guidelines/howtoreleasepackages.md
deleted file mode 100644
index b639d751ffa92eda31c7f57ac26b94d9ea22f7aa..0000000000000000000000000000000000000000
--- a/content/guidelines/howtoreleasepackages.md
+++ /dev/null
@@ -1,292 +0,0 @@
-+++
-date = "2019-10-24"
-weight = 100
-
-title = "How to Release Packages"
-
-aliases = [
-    "/guidelines/versioning.md",
-    "/old-wiki/Guidelines/Versioning",
-    "/user_joykim/howtoreleasepackages.md",
-    "/old-wiki/User:Joykim/HowToReleasePackages",
-    "/old-wiki/Guidelines/HowToReleasePackages"
-]
-+++
-
-This document aims to explain how to release packages to Apertis
-projects.
-
-# Development workflow
-
-Apertis currently deals with two types of packages
-
-  - Packages imported from upstream distributions: they live under
-    [gitlab.apertis.org/pkg/](https://gitlab.apertis.org/pkg/) and
-    follow the
-    [Guidelines/Gitlab-based_packaging_workflow]( {{< ref "gitlab-based_packaging_workflow.md" >}} )
-  - Packages for which Apertis is the upstream: they live under
-    [appfw](https://gitlab.apertis.org/appfw),
-    [hmi](https://gitlab.apertis.org/hmi), etc.
-
-# Writing commit messages suitable for generating `debian/changelog` with `gbp-dch`
-
-Commit messages should follow the [recommended
-style]( {{< ref "/guidelines/contribution_process.md#commit-message" >}} ).
-
-In addition,
-[gbp-dch](http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/man.gbp.dch.html)
-is a tool to take those commit messages and automatically turn them in
-entries for `debian/changelog`.
-
-With it you can use the following tags in your commit messages:
-
-  - `Gbp-Dch: {Full,Short}`
-      - `Short` will create a short changelog entry using the short
-        commit message (ie. the first line of the commit message)
-      - `Full` will include the long description in the generated
-        changelog entry
-  - `Apertis: {$TASK_URL,$TASK_ID}`, is translated to `(Apertis: Txxxx)`
-    in `debian/changelog` for automated task status tracking
-  - `Thanks: $SOMEONE` if you want to give kudos to someone
-
-Running `gbp dch` will turn a commit message like:
-
-<code>
-
-    Update website link to demo images
-
-    The website has new path for demo images.
-
-    Gbp-Dch: Full
-    Apertis: https://phabricator.apertis.org/T12345
-    Thanks: Mariano for pointing out the issue
-
-    Signed-off-by: Héctor Orón Martínez <hector.oron@collabora.co.uk>
-
-</code>
-
-to the following `debian/changelog` entry:
-
-<code>
-
-```
-  * Update website link to demo images.
-    The website has new path for demo images.
-    Signed-off-by: Héctor Orón Martínez <hector.oron@collabora.co.uk>
-    Thanks to Mariano for pointing out the issue (Apertis: T12345)
-```
-
-</code>
-
-Just make sure your package has the following entries in
-`debian/gbp.conf`:
-
-<code>
-
-    [dch]
-    ignore-branch = True
-    meta-closes = Apertis
-    meta-closes-bugnum = (?:https://phabricator.apertis.org/)?(\T?\d+)
-
-</code>
-
-# Getting prepared for release
-
-## Preparing a GPG key
-
-While releasing, the maintainer should provide a GPG-signed version tag.
-If you have a GPG key already, please skip this section. Otherwise, you
-need to generate a new key by the following steps.
-
-    $ gpg --gen-key
-
-At the prompt, you need to specify several options by interactive mode.
-In most cases, it provides the default values, but you can use the
-desired values for each question. After generating a key pair, you can
-use the command to list GPG keys.
-
-    $ gpg --list-secret-keys --keyid-format LONG
-    /Users/justin/.gnupg/secring.gpg
-    --------------------------------
-    sec   2048R/85AC7EE513BFB53B 2017-03-03
-    uid                          Justin Kim <justin.kim@collabora.com>
-    ssb   2048R/ADA53627F4F0C55C 2017-03-03
-
-From the list, the GPG key ID is *85AC7EE513BFB53B*. Now you need to let
-*git* know the key ID.
-
-    $ git config --global user.signingkey "85AC7EE513BFB53B"
-
-## Versioning
-
-Module versioning differs for libraries and applications: libraries need
-a libtool version specified in addition to their package version.
-Applications just have a package version.
-
-### Libtool versioning
-
-Libraries have two version numbers: a libtool version which tracks ABI
-backwards compatibility, and a [package
-version](#package-versioning) which tracks feature changes.
-These are normally incremented in synchronisation, but should be kept
-separate because ABI backwards compatibility is not necessarily related
-to feature changes or bug fixes. Furthermore, the two version numbers
-have different semantics, and cannot be automatically generated from
-each other.
-
-A good overview of libtool versioning, and the differences from package
-versioning, is given in the [Autotools
-Mythbuster](https://autotools.io/libtool/version.html).
-
-To update the libtool version, follow the algorithm given in the
-comments below. This is a typical `configure.ac` snippet for setting up
-libtool versioning:
-
-    # Before making a release, the LT_VERSION string should be modified. The
-    # string is of the form c:r:a. Follow these instructions sequentially:
-    #   1. If the library source code has changed at all since the last update, then
-    #      increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
-    #   2. If any interfaces have been added, removed, or changed since the last
-    #      update, increment current, and set revision to 0.
-    #   3. If any interfaces have been added since the last public release, then
-    #      increment age.
-    #   4. If any interfaces have been removed or changed since the last public
-    #      release, then set age to 0.
-    AC_SUBST([LT_VERSION],[0:0:0])
-
-The following snippet can be used in a `Makefile.am` to pass that
-version info to libtool:
-
-    my_library_la_LDFLAGS = -version-info $(LT_VERSION)
-
-If a package contains more than one library, it should usually have a
-separate libtool version for each one.
-
-The standard process for making a release of a module increments the
-libtool version (if the module is a library) and the package version
-immediately before release. This is called pre-release incrementing.
-
-The use of pre-release increment for libtool versions means that they
-are only incremented once for all ABI changes in a release. Some
-projects use post-release increment for package versions to ensure that
-the package version number is not outdated (i.e. still equal to the
-previous release) during the development cycle; we achieve this by
-altering the version number automatically in [the build-snapshot
-script](https://gitlab.apertis.org/infrastructure/apertis-customizations/blob/apertis/v2020dev0/development/build-snapshot)
-instead.
-
-### Package versioning
-
-The package version number for a library is that passed to `AC_INIT()`,
-and the one which is typically known as the project’s version number.
-For example, the Debian package for a library will use the library’s
-package version.
-
-Versions of packages developed for Apertis have the form `x.y.z` and are
-updated according to the following rules:
-
-  - `x` starts at 0, and increments when there is a major compatibility
-    break. Libraries with different major versions should usually be
-    [parallel-installable]( {{< ref "module_setup.md#parallel-installability" >}} ).
-  - `y` is the Apertis branch year and month as a single 4-digit number,
-    for instance `1706`.
-  - `z` is 0 for the first release to each branch, and goes up for each
-    release (whether it is a feature release or bugfix-only).
-
-# Release process
-
-The packages maintained in the [Apertis git
-repositories](https://git.apertis.org) should be released with the
-following procedure, roughly based on the [GNOME release
-process](https://wiki.gnome.org/MaintainersCorner/Releasing). The
-commands below assume you're running the
-[Apertis SDK](https://designs.apertis.org/latest/software-development-kit.html).
-
-1.  Make sure all the `git-buildpackage` local branches (`apertis/*`,
-    `upstream/*` and `pristine-tar`) are available and up-to-date:
-    <code>
-        $ gbp pull
-    </code>
-2.  Choose the new version number by the rules of [Libtool
-    versioning](#libtool-versioning) and [Package
-    versioning](#package-versioning)
-3.  Make sure you have no local changes and you are in right branch
-    <code>
-        $ git status
-    </code>
-4.  `configure.ac`: bump for a new upstream release, unless the module
-    uses `git-version-gen` in which case you don't need to do anything.
-5.  `debian/changelog`: [auto-generate the changelog
-    entry](#generate-debian.2fchangelog-from-the-git-log-with-gbp-dch)
-    and mark it for release replacing `UNRELEASED` with the current
-    version (for instance `16.12`) <code>
-        $ gbp dch --auto -R
-    </code>
-6.  Make sure that all tasks this release is fixing [are
-    mentioned](https://designs.apertis.org/latest/contribution-process.html#automatically-closing-tasks)
-    in `debian/changelog` in the form `(Apertis: T1234)`
-7.  For a library: check that any `Since: UNRELEASED` annotations have
-    been replaced with `Since: 0.1612.1` or whatever, for example using
-    `git grep UNRELEASED`
-8.  For a library: bump the Libtool current/revision/age versions in
-    `configure.ac`
-9.  Build test the package with
-    [`build-snapshot`](https://gitlab.apertis.org/infrastructure/apertis-customizations/blob/apertis/v2020dev0/development/build-snapshot)
-    <code>
-        $ build-snapshot localhost
-    </code>
-10. For a library: look for output from `dpkg-makeshlibs` reporting new
-    symbols that should be in the `.symbols` files. Add them to the
-    `.symbols` files, with the upstream version (for example
-    `mylib_foo@Base 0.1612.0`, not `mylib_foo@Base 0.1612.0-0co1`).
-11. Now you need the following variables for the next steps. <code>
-        PACKAGE=$(dpkg-parsechangelog -SSource)
-        DEBVERSION=$(dpkg-parsechangelog -SVersion)
-        VERSION=${DEBVERSION%%-*}
-        RELEASE=$(dpkg-parsechangelog -SDistribution)
-        COMPONENT=$(cat debian/source/apertis-component)
-    </code> If `build-snapshot` succeeds, commit the changes. <code>
-        $ git commit --all --signoff -m "Release $PACKAGE version $DEBVERSION"
-    </code>
-12. Submit a merge request for review following the [contribution
-    process
-    guidelines](https://designs.apertis.org/latest/contribution-process.html),
-    paying special attention to the section about [release
-    commits](https://designs.apertis.org/latest/contribution-process.html#release-commits)
-    if you are releasing a new version of the package.
-13. Skip this if you are only releasing changes under the `debian/`
-    folder and not doing an upstream release at the same time:
-    1.  If you're doing an upstream release, tag it (note the versioning
-        must have a <strong>`v`</strong>, for instance `v1.2.3`). <code>
-            $ git tag v$VERSION -s -m "Release $PACKAGE $VERSION"
-        </code>
-14. Tag the Apertis release. <code>
-        $ gbp buildpackage --git-tag --git-tag-only --git-ignore-branch
-    </code>
-15. Run `build-snapshot` again. This is because the build procedure is
-    slightly different with the tags.
-16. Push the tags and push the changes (in that order so CI never builds
-    these commits without the tags being present) <code>
-        $ git push origin v$VERSION apertis/$VERSION
-        $ git push
-    </code>
-17. If you happened to push the commits *before* the tags, you will need
-    to manually trigger the corresponding CI job on Jenkins (or ask
-    someone to do it for you)
-18. Wait for an OBS maintainer to accept the request to merge the
-    package built in the corresponding `apertis:$RELEASE:snapshots`
-    project.
-
-# Work done
-
-Once accepted by OBS maintainer, you can update the package by `apt-get`
-after a daily Apertis image is released.
-
-# External links
-
-  - [Autotools Mythbuster guide to library
-    versioning](https://autotools.io/libtool/version.html)
-  - [libtool manual page on version
-    info](http://www.gnu.org/s/libtool/manual/html_node/Updating-version-info.html)
-  - [GNOME release process
-    instructions](https://wiki.gnome.org/MaintainersCorner/Releasing)
diff --git a/content/guides/api_documentation.md b/content/guides/api_documentation.md
index 48c61bcf40902fd56aad894a117525beb4ff8878..908c63256e1f4411734a6d1b167d51776f31793a 100644
--- a/content/guides/api_documentation.md
+++ b/content/guides/api_documentation.md
@@ -228,7 +228,7 @@ Whenever a symbol is added to the public API, it should have a documentation
 comment added. This comment should always contain a `Since` line with the
 package version number of the release which will first contain the new API.
 This should be the number currently in `configure.ac` if
-[post-release version incrementing]( {{< ref "howtoreleasepackages.md#release-process" >}} )
+[post-release version incrementing]( {{< ref "versioning.md#libtool-versioning" >}} )
 is being used.
 
 e.g.
diff --git a/content/guides/version_control.md b/content/guides/version_control.md
index 83b3e2e9c4cbbb764210892a4a17fb703128e1bd..2684fac591cafebeb8bf5717a5f636a4a2cdc174 100644
--- a/content/guides/version_control.md
+++ b/content/guides/version_control.md
@@ -123,42 +123,88 @@ style and formatting to be used:
 - the longer
   [Linux kernel style guide for commit messages](https://www.kernel.org/doc/html/v4.14/process/submitting-patches.html#describe-your-changes)
 
-A few rules are automatically checked by the Apertis infrastructure:
+Minimally the following should be followed:
 
 - Subject: less than 50 characters
 - Body: each line should be less than 72 characters long
 - A `Signed-off-by` tag must be present as a
   [Developer Certificate of Origin](https://developercertificate.org/)
 
-Tags can be used to
-[make commit messages suitable for automatically generating `debian/changelog`]( {{< ref "/guidelines/howtoreleasepackages.md#writing-commit-messages-suitable-for-generating-debian/changelog-with-gbp-dch" >}} ).
-
 Here's
 [an example](https://git.apertis.org/cgit/canterbury.git/commit/?id=6338e04aeefe):
-
-    CbyServiceManager: Instruct systemd to send SIGKILL after 10s
-
-    After executing the ExecStop command-line or sending SIGTERM,
-    by default systemd will wait up to 90 seconds for a service to exit
-    before it becomes impatient and sends SIGKILL. This seems far too long
-    for our use-case; wait 10 seconds instead.
-
-    The choice of this arbitrary timeout is a trade-off. If it is too
-    short, applications with a lot of state to serialize to disk might
-    be killed before they have done so (we'd better hope they're using
-    crash-safe I/O patterns like g_file_set_contents()). If it is too
-    long, a user uninstalling an app-bundle will be left waiting
-    a long time.
-
-    When Ribchester calls TerminateBundle (T2696) it will need to wait
-    a little longer than this; whatever timeout it uses, a broken or
-    compromised per-user instance of Canterbury would be able to delay
-    app-bundle upgrade, rollback or removal by up to that long.
-
-    Apertis: https://phabricator.apertis.org/T12345
-    Signed-off-by: Simon McVittie <smcv@collabora.com>
-    Reviewed-by: Frédéric Dalleau <frederic.dalleau@collabora.co.uk>
-    Differential Revision: https://phabricator.apertis.org/D7088
+```
+CbyServiceManager: Instruct systemd to send SIGKILL after 10s
+
+After executing the ExecStop command-line or sending SIGTERM,
+by default systemd will wait up to 90 seconds for a service to exit
+before it becomes impatient and sends SIGKILL. This seems far too long
+for our use-case; wait 10 seconds instead.
+
+The choice of this arbitrary timeout is a trade-off. If it is too
+short, applications with a lot of state to serialize to disk might
+be killed before they have done so (we'd better hope they're using
+crash-safe I/O patterns like g_file_set_contents()). If it is too
+long, a user uninstalling an app-bundle will be left waiting
+a long time.
+
+When Ribchester calls TerminateBundle (T2696) it will need to wait
+a little longer than this; whatever timeout it uses, a broken or
+compromised per-user instance of Canterbury would be able to delay
+app-bundle upgrade, rollback or removal by up to that long.
+
+Apertis: https://phabricator.apertis.org/T12345
+Signed-off-by: Simon McVittie <smcv@collabora.com>
+Reviewed-by: Frédéric Dalleau <frederic.dalleau@collabora.co.uk>
+Differential Revision: https://phabricator.apertis.org/D7088
+```
+
+Tags can be used in commit messages to enhance the information recorded in the
+`debian/changelog` by
+[gbp-dch](http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/man.gbp.dch.html).
+`gbp-dch` is a tool that parses the commit messages and automatically turns
+them in entries for `debian/changelog`.
+
+With it you can use the following tags in your commit messages:
+
+- `Gbp-Dch: {Full,Short}`
+  - `Short` will create a short changelog entry using the short commit message
+    (ie. the first line of the commit message). This is the default.
+  - `Full` will include the long description in the generated changelog entry
+- `Thanks: $SOMEONE` if you want to give kudos to someone
+- `Apertis: {$TASK_URL,$TASK_ID}`, is translated to `(Apertis: Txxxx)` in
+  `debian/changelog` for automated task status tracking
+
+For the last tag to work, the package requires the following entries in
+`debian/gbp.conf`:
+
+```
+[dch]
+meta-closes = Apertis
+meta-closes-bugnum = (?:https://phabricator.apertis.org/)?(\T?\d+)
+```
+
+Running `gbp dch` will turn a commit message like:
+
+```
+Update website link to demo images
+
+The website has new path for demo images.
+
+Gbp-Dch: Full
+Apertis: https://phabricator.apertis.org/T12345
+Thanks: Mariano for pointing out the issue
+
+Signed-off-by: Héctor Orón Martínez <hector.oron@collabora.co.uk>
+```
+
+to the following `debian/changelog` entry:
+
+```
+ * Update website link to demo images.
+   The website has new path for demo images.
+   Signed-off-by: Héctor Orón Martínez <hector.oron@collabora.co.uk>
+   Thanks to Mariano for pointing out the issue (Apertis: T12345)
+```
 
 # Merging procedure