PerformingSRUVerification
Stable Release Update (SRU) Verification is the process of testing packages from the -proposed repository, that have been updated to fix bugs in a stable release. These packages need testing to ensure that the package continues to function as designed and that the bug is fixed. It is also important to ensure no regression has been introduced by the fix.
More information about the process can be found at Stable Release Update page. To find out how to enable -proposed look at the Enable Proposed page.
How to find bugs needing verification
There are many ways to find bugs needing SRU verification:
by viewing the Pending Ubuntu SRUs,
- by asking aptitude from the command-line: "aptitude search ~i~Aproposed"
by querying Launchpad for a specific release (here lucid) and the bug tag verification-needed,
or by looking at bugs which the SRU verification team is subscribed.
The Pending Ubuntu SRUs are generated by parsing the changelogs of the packages in -proposed repository. By clicking on changelog bugs entry you will be taken to the Launchpad bug report (if it exists). If no changelog bug is displayed, clicking on the version of the package in the '-proposed' column will take you to the changelog entry for that version of the package in launchpad (the bug number may be displayed in the changelog but not in the report if the bug number doesn't respect a standard format)
Some bugs resolved by -proposed packages require specific hardware and these can be identified by the hw-specific tag in Launchpad or by the (hw) next to the bug number at the Pending Ubuntu SRUs page.
Identifying how to test
The first step in identifying how to test, is determining the release or releases of Ubuntu affected by the particular bug. This can be done by looking at the bug report and determining the release affected by the bug.
More than one release may be affected by the bug. In that case, the bug needs to be reproduced and the fix needs to be tested for each affected release.
In the example below the Landspace bug affects the Jaunty, Karmic, Lucid and Maverick releases of Ubuntu and should be verified in each stable release (Jaunty, Karmic and Lucid)
Alternatively, at the Pending Ubuntu SRUs page there are sections for each release of Ubuntu that is currently supported.
In addition to knowing the release or releases of Ubuntu affected you also need to have detailed steps to recreate the bug. These can be found in the "TEST CASE" section at the end of the bug's description. Flashplugin-nonfree bug 429841 has an example of what the test case will look like.
Test cases should be added to the description of the report in a standardised format:
TEST CASE: 1. description of step 1 2. description of the step 2 3. ... VERIFICATION DONE What is the expected result at the end of the test.
Note that the verification-failed is either the subject of the bug report or a regression.
Writing the test case is a mandatory step of the SRU procedure. But sometimes, there is no such test case. If the test case is missing and the reproduction steps are not obvious, you can provide one if you can reproduce the issue described in the bug report or set the status to 'In progress', describe why you cannot reproduce and set the verification tag to 'verification-failed'.
How to perform the test
After booting into the affected release of Ubuntu the following steps should be taken:
- Ensure that your system is up to date by installing all available updated packages from the -updates and -security repositories
- Verify that you do not have the proposed package installed by checking the package version using 'dpkg -l PKGNAME | cat'
- Recreate the bug using the steps identified in the "TEST CASE"
Modify your '/etc/apt/sources.list' file to include the -proposed repository as described in how to enable -proposed.
deb http://archive.ubuntu.com/ubuntu/ xenial-proposed main restricted universe
For verifying SRUs on non-x86 architectures, instead use:deb http://ports.ubuntu.com/ubuntu-ports/ xenial-proposed main restricted universe
- Execute 'sudo apt-get update'
- Install the proposed package via 'sudo apt-get install PKGNAME' or 'sudo apt-get install PKGNAME=VERSION-NUM'
- Verify that you installed the correct package version using 'dpkg -l PKGNAME | cat'
- Reboot the system
- Try to recreate the bug using the steps identified in the "TEST CASE"
- Use the software installed by the package in common ways
- Once you have finished testing the package from the -proposed repository you can disable -proposed. Failing to do so will lead to you updating any package available from the -proposed repository at the next apt update.
Having a look at the patch may help to know exactly which part of the package is affected by the fix and what needs to be more specifically tested.
One of the most important aspects of the testing procedure is to verify that the update does not introduce a regression.
Updating the bug report
Include: Nothing found for "If you want to help us"!
This section has moved to https://canonical-sru-docs.readthedocs-hosted.com/en/latest/howto/standard/ and https://canonical-sru-docs.readthedocs-hosted.com/en/latest/howto/regression/#howto-report-regression
Autopkgtest Regressions
See: https://canonical-sru-docs.readthedocs-hosted.com/en/latest/howto/autopkgtest-failure/
Expected resolution for reported autopkgtest failures
See: https://canonical-sru-docs.readthedocs-hosted.com/en/latest/howto/autopkgtest-failure/
Removal of updates
This section has moved to https://canonical-sru-docs.readthedocs-hosted.com/en/latest/explanation/non-standard-processes/#removal-of-languishing-updates
Regressions
This section has moved to https://canonical-sru-docs.readthedocs-hosted.com/en/latest/howto/regression/#howto-report-regression
Testing for Regressions
(defunct section removed)
Documentation for Special Cases
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/
See the announcement: https://lists.ubuntu.com/archives/ubuntu-devel/2025-June/043391.html
Kernel
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#kernel
Landscape
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#landscape
Snapd
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#snapd
Snapcraft
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#snapcraft
Ubuntu-image
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#ubuntu-image
Docker.io group
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#docker-io-group
gce-compute-image-packages
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#gce-compute-image-packages
google-compute-engine
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#google-compute-engine
google-compute-engine-oslogin
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#google-compute-engine-oslogin
google-guest-agent
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#google-guest-agent
google-osconfig-agent
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#google-osconfig-agent
curtin
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#curtin
walinuxagent
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#walinuxagent
GNOME
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#gnome
OpenStack
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#openstack
Certbot
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#certbot
cloud-init
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#cloud-init
DPDK
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#dpdk
ubuntu-release-upgrader and python-apt
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#ubuntu-release-upgrader-and-python-apt
apt and python-apt
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#apt-and-python-apt
rax-nova-agent
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#rax-nova-agent
livecd-rootfs
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#livecd-rootfs
fwupd and fwupdate
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#fwupd-and-fwupdate
snapd-glib
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#snapd-glib
netplan.io
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#netplan-io
ec2-hibinit-agent
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#ec2-hibinit-agent
NVIDIA driver
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#nvidia-driver
wslu
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#wslu
openjdk-N
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#openjdk-n
Postfix
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#postfix
sosreport/sos
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#sosreport-sos
oem-*-meta
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#oem-meta
ubuntu-dev-tools
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#ubuntu-dev-tools
OpenLDAP
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#openldap
HAProxy
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#haproxy
autopkgtest
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#autopkgtest
squid
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#squid
bind9
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#bind9
virtualbox
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#virtualbox
ubuntu-advantage-tools
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#ubuntu-advantage-tools
open-vm-tools
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#open-vm-tools
postgresql
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#postgresql
GRUB
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#grub
OpenVPN
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#openvpn
Language Packs (language-pack-*)
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#language-packs-language-pack
cd-boot-images-<arch>
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#cd-boot-images-arch
Data Packages Kept in Sync with Security
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#data-packages-kept-in-sync-with-security
tzdata
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#tzdata
distro-info-data
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#distro-info-data
linux-firmware
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#linux-firmware
wireless-regdb
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#wireless-regdb
Toolchain Updates
This section has moved to https://documentation.ubuntu.com/sru/en/latest/reference/package-specific/#toolchain-updates
Examples
As a reference, see bug #173082 for an idea of how the SRU process works for a main package, or bug #208666 for an SRU in universe.
Package Removals
This section has moved to https://canonical-sru-docs.readthedocs-hosted.com/en/latest/explanation/non-standard-processes/#explanation-removals
Links
This section has moved to https://canonical-sru-docs.readthedocs-hosted.com/en/latest/reference/status/
Reviewing procedure and tools
This section has moved to https://canonical-sru-docs.readthedocs-hosted.com/en/latest/internal/#reviewing-procedure-and-tools
Contacting the SRU team
This section has moved to https://canonical-sru-docs.readthedocs-hosted.com/en/latest/howto/contact/
Tagging the report
SRU specific
See StableReleaseUpdates for more information.
Tag |
Use case |
A Stable Release Update bug with a package in -proposed that has been confirmed to fix the bug. |
|
A Stable Release Update bug with a package in -proposed that has been verified to not fix the bug. |
|
A Stable Release Update bug with a package in -proposed needing testing. |
|
block-proposed-<series> |
A bug that should be held back being released into the updates pocket for the corresponding stable series. See StableReleaseUpdates#Staging_an_upload. |
Regression specific
See the regression tracker for a list of these bugs and QATeam/RegressionTracking for more information.
Tag |
Use case |
A bug in a release that was not present in a previous release. Should be used together with a separate tag for the release the regression was found in. This also applies to a development release where an update introduces a regression prior to its official release. |
|
A bug in a stable release that was introduced by a package from -updates. This would not apply to a development release where a regression was introduced prior to its official release. |
|
A bug in a stable release of Ubuntu that was found when testing a package from -proposed. |
|
An apport crash bug report that was identified by the retracer as having the same characteristics as a fixed crash report. |
|
This is for when a bisect is requested or required to fix the bug. |
|
The reporter, developer, or triager is in the process of performing a bisection. |
|
Add when a bisect has been completed and the offending commit(s) identified. |
Release Specific
Tag |
Use case |
A bug tracking a cause of a package not being migrated to the release pocket. This tag causes the bug to appear on the update excuses report. |
|
A bug that should be held back from migrating into the release pocket |
Ways to test using virtual machines
In the event that your current release of Ubuntu is not the same as the release of Ubuntu affected by the bug there are still many ways for you to perform the verification of the Stable Release Update without installing the affected release on your hardware.
This can be done by using a Virtual Machine such as Virtual Box, kvm, qemu or VMware.
Virtual Machines can not be used to reproduce hardware specific issues.
Depending on the nature of the bug report it may also be possible to use a chroot to perform the verification.
Tips and tricks
An useful tool to quickly check the versions of a package available in the active releases is rmadison from the package devscripts.
You can fetch the changelog of a package directly from the command line with apt-get changelog PACKAGE_NAME
The full publishing history of a package: https://launchpad.net/ubuntu/+source/PACKAGE_NAME/+publishinghistory
If you're wondering where is the uploaded package you should check the state of the upload queue
Links
Stable Release Update procedure
List of bugs which the SRU verification team is subscribed
How to Enable Proposed
How to triage guide
QATeam/PerformingSRUVerification (last edited 2017-09-27 12:43:57 by vorlon)
