# Ubuntu project > This documentation provides guidance for contributors to and maintainers of the Ubuntu Linux distribution. It covers processes and concepts, as well as project governance and team workflows. There are instructions for packaging, merging, proposed migrations, autopkgtests, and many other procedures for maintaining the Ubuntu Archive and releasing the distribution. 2026 ## Pages in this subsection - [Guides for maintainers](https://documentation.ubuntu.com/project/maintainers.md): In general, this should probably be split *by task* and then ordered by either - [Uploader tasks](https://documentation.ubuntu.com/project/maintainers/uploader.md): * Sponsoring - [Sponsoring](https://documentation.ubuntu.com/project/maintainers/uploader/sponsoring.md): Page content - [How to update seeds](https://documentation.ubuntu.com/project/maintainers/uploader/update-seeds.md): Page content - [How to work with the upload queue](https://documentation.ubuntu.com/project/maintainers/uploader/work-with-the-upload-queue.md): Page content - [Test plans](https://documentation.ubuntu.com/project/maintainers/test-plans.md): Test plans for various SRUs were previously held on the Ubuntu wiki. If you need a test plan to be p... - [GNOME Calendar test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Calendar.md): Below are the test cases that should be run when `gnome-calendar` is updated to new major releases i... - [Chromium test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Chromium.md): * **Test plan for component**: `chromium` - [Emoji font test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/EmojiFont.md): Below are the test cases that should be run when `fonts-noto-color-emoji` or `nototools` are updated... - [Epiphany test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Epiphany.md): Below are the test cases that should be run when `epiphany-browser` is updated to a new major releas... - [Evince test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Evince.md): This test will check that Evince can display PDFs correctly - [Evolution test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Evolution.md): Below are the test cases that should be run when `evolution` is updated to new major releases in the... - [Evolution EWS test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/EvolutionEWS.md): Below are the test cases that should be run when `evolution-ews` is updated to new major releases in... - [File Roller test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/FileRoller.md): 1. Start File Roller from the launcher or desktop overview - [GDM test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GDM.md): Below are the test cases that should be run when GDM is updated to new major releases in the develop... - [GDM smart card test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GDM-Smartcard.md): Smart card login with the various GDM profiles can be simulated using software smart cards, a “simpl... - [GNOME Shell test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GNOMEShell.md): Below are the test cases that should be run when `gnome-shell` is updated to new major releases in t... - [GStreamer test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GStreamer.md): Find/utilize some test content for each codec. Fluster is one reliable - [GVFS test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GVFS.md): Verify that - [GNOME Builder test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeBuilder.md): Below are the test cases that should be run when any of `gnome-builder`, `libdex`, or `libpanel` are... - [GNOME Calculator test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeCalculator.md): This test will check that mathematical operations can be previewed in the Gnome Activities overview - [GNOME Clocks test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeClocks.md): Since `gnome-clocks` doesn’t include autopkgtests we will follow a manual test plan to verify update... - [GNOME Control Center test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeControlCenter.md): If a step fails, only mark the SRU as verification-failed if it is a regression, i.e., the current v... - [GNOME Initial Setup test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeInitialSetup.md): The followings are the test plans for testing `gnome-initial-setup`. - [GNOME Session test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeSession.md): Below are the test cases that should be run when `gnome-session` is updated to new major releases in... - [GNOME Settings Daemon test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeSettingsDaemon.md): Below are the test cases that should be run when `gnome-settings-daemon` is updated to new major rel... - [GNOME Shell Tiling Assistant extension test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeShellExtensionTilingAssistant.md): It’s an extension that the desktop team provides by default to improve tiling abilities of GNOME She... - [GNOME Snapshot test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeSnapshot.md): Since the autopkgtest infrastructure isn’t really suitable for camera testing we will require manual... - [GNOME Text Editor test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/GnomeTextEditor.md): Since `gnome-text-editor` doesn’t include autopkgtests we will follow a manual test plan to verify u... - [Libadwaita test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Libadwaita.md): Install `libadwaita-1-examples` from the proposed pocket and start `adwaita-1-demo`. - [Libcamera test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Libcamera.md): $ sudo apt install libcamera-tools gstreamer1.0-libcamera - [Librsvg test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Librsvg.md): For Librsvg we test that its reverse dependencies SVG capabilities are still fine. - [Localsearch test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Localsearch.md): This is the manual test plan for GNOME’s `localsearch` (previously known as `tracker-miners` prior t... - [Loupe test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Loupe.md): Below are the test cases that should be run when `loupe` is updated to new major releases in the dev... - [Malcontent test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Malcontent.md): If a step fails, only mark the SRU as verification-failed if it is a regression, i.e., the current v... - [Mutter test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Mutter.md): Below are the test cases that should be run when `mutter` is updated to new major releases in the de... - [Nautilus test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Nautilus.md): * Start Nautilus (Files) from the launcher or desktop overview - [Online Accounts test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/OnlineAccounts.md): Below are the test cases that should be run when `gnome-online-accounts` or `gnome-control-center` a... - [Orca test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Orca.md): Below are the test cases that should be run when `orca` or `at-spi2-core` is updated to new major re... - [Papers test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Papers.md): Below are the test cases that should be run when any of `papers` or `poppler` are updated to new maj... - [PipeWire test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Pipewire.md): Since the autopkgtest infrastructure isn’t really suitable for audio testing we will require manual ... - [PipeWire Media Session test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/PipewireMediaSession.md): Since `pipewire-media-session` doesn’t include a testsuite nor autopkgtests we will follow a manual ... - [Remote Desktop test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/RemoteDesktop.md): Below are the test cases that should be run when `gnome-remote-desktop` is updated to new major rele... - [Resources test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Resources.md): Below are the test cases that should be run when **`resources`** is updated to new minor releases in... - [Showtime test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Showtime.md): Below are the test cases that should be run when Showtime is updated to new major releases in the de... - [Sysprof test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Sysprof.md): Below are the test cases that should be run when any of `sysprof`, `libdex`, or `libpanel` are updat... - [Terminal test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/Terminal.md): Since the **Terminal** doesn’t have a test suite or autopkgtests, we rely on a manual test plan to v... - [Ubuntu Advantage Desktop Daemon test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/UbuntuAdvantageDesktopDaemon.md): Since the package isn’t really easy to integrate to autopkgtest we have a manual test plan - [Update Manager test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/UpdateManager.md): 1. If `apt list --upgradable` returns nothing, downgrade a package in the system. - [XDG Desktop Portal WebExtensions test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/XDG-Desktop-Portal-WebExtensions.md): Executing these commands will create (and overwrite): - [XDG Desktop Portal GNOME test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/XdgDesktopPortalGnome.md): Since `xdg-desktop-portal-gnome` doesn’t include a testsuite nor autopkgtests we will follow a manua... - [Browsers test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/browsers.md): * **Test plan for component**: browsers - [GJS test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/gjs.md): Below are the test cases that should be run when `gjs` or `mozjs*` is updated to new major releases ... - [Libva test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/libva.md): Below are the test cases that should be run when **`libva`** is updated to new major releases in the... - [Tecla test plan](https://documentation.ubuntu.com/project/maintainers/test-plans/desktop-team/tecla.md): Below are the test cases that should be run when `tecla` is updated to new major releases in the dev... - [Archive Admin tasks](https://documentation.ubuntu.com/project/maintainers/AA.md): Archive Administration is done client side using the Launchpad API through - [NEW review](https://documentation.ubuntu.com/project/maintainers/AA/aa-new-review.md): One of the primary responsibilities of the - [Remove a package](https://documentation.ubuntu.com/project/maintainers/AA/aa-package-removal.md): The Archive Admin team handles removals of both - [Package overrides](https://documentation.ubuntu.com/project/maintainers/AA/aa-package-overrides.md): There are two main kinds of overrides the Archive Admin - [Priority mismatches](https://documentation.ubuntu.com/project/maintainers/AA/aa-priority-mismatches.md): Priority mismatches are handled by the - [Signing bootloaders](https://documentation.ubuntu.com/project/maintainers/AA/aa-signing-bootloaders.md): Responsibility for signing bootloaders and kernels no longer sits with the - [Change phasing on delivering SRU updates](https://documentation.ubuntu.com/project/maintainers/AA/aa-phasing-sru-updates.md): This page more rightly belongs in “Override Phasing” in the SRU documentation - [i386](https://documentation.ubuntu.com/project/maintainers/AA/aa-i386.md): * **Partial-port** - [Archive-related services](https://documentation.ubuntu.com/project/maintainers/AA/aa-archive-related-services.md): This page is a seed which will document which services are where, and how they - [Check contributions to AA process and documentation](https://documentation.ubuntu.com/project/maintainers/AA/triage-aa-contributions.md): Everyone is encouraged in How to contribute docs to help with the documentation - [Niche package maintenance](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance.md): Certain packages in the Archive are unique, and their maintenance procedures diverge somewhat from m... - [Ubuntu Desktop packaging](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/desktop.md): How to set up your environment and patch, update and release software for Ubuntu Desktop. - [Set up Git for Ubuntu Desktop work](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/desktop/set-up-git-for-ubuntu-desktop-work.md): The Desktop Team uses Git and Git Build Package (`gbp`) to maintain GNOME packages for Ubuntu. Let’s... - [Maintain Ubuntu Desktop software](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/desktop/maintain-ubuntu-desktop-software.md): These are some common, day-to-day operations to build, maintain and package GNOME software for Ubunt... - [`llvm` and `clang` packaging](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/llvm.md): Besides the guides for LLVM packaging linked below, LLVM package maintenance also requires staying u... - [How to package LLVM](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/llvm/package-llvm.md): This article provides a guide for understanding how the LLVM toolchain is packaged for Ubuntu. - [Common LLVM package issues](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/llvm/common-llvm-package-issues.md): First of all, LLVM has some actual circular dependencies by design, and so you may be encountering t... - [LLVM and Clang Packaging FAQ](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/llvm/llvm-and-clang-packaging-faq.md): Start by reading How to package LLVM. The goal of this FAQ is to collect answers to common questions... - [`rustc` packaging](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/rustc.md): How to update, package, and maintain versions of `rustc` in Ubuntu. - [How to update Rust](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/rustc/update-rust.md): This guide details the process of creating a new versioned `rustc` Ubuntu package for a new upstream... - [How to patch Rust](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/rustc/patch-rust.md): This guide details the process of fixing an existing versioned `rustc` Ubuntu package. - [How to backport Rust](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/rustc/backport-rust.md): This guide details the process of backporting an existing version of the Rust toolchain to older rel... - [Rust version strings](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/rustc/rust-version-strings.md): The Rust toolchain version string format used in the Ubuntu Archive is complicated and contains cert... - [Rust Packaging FAQ](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/rustc/rust-packaging-faq.md): You may want to start by reading the Debian Rust Packaging Policy document. - [`rustc-debian` repository](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/rustc/rustc-debian-repository.md): Because `rustc` is a versioned package, we have a bunch of different `rustc` repositories floating a... - [Common `rustc` Lintian issues](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/rustc/common-rustc-lintian-issues.md): The Lintian () program checks your - [`openjdk` packaging](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/openjdk.md): How to update, package, and maintain versions of `openjdk` in Ubuntu. - [OpenJDK Debian repository](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/openjdk/openjdk-debian-repository.md): OpenJDK packaging code is maintained on Salsa. - [Update OpenJDK](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/openjdk/update-openjdk.md): 1. Update variable `git_tag` in `debian/rules`. - [Patch OpenJDK](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/openjdk/patch-openjdk.md): All patches applied to OpenJDK should follow the naming convention: - [Build OpenJDK](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/openjdk/build-openjdk.md): For faster iteration during development, disable optional steps, such as full test runs, Javadoc gen... - [Test OpenJDK](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/openjdk/test-openjdk.md): OpenJDK uses the jtreg testing framework for its comprehensive test suite. - [Backport OpenJDK](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/openjdk/backport-openjdk.md): Ubuntu follows an **N-2 policy** for OpenJDK backports. Under this policy, a new stable (LTS) releas... - [OpenJDK version strings](https://documentation.ubuntu.com/project/maintainers/niche-package-maintenance/openjdk/openjdk-version-strings.md): OpenJDK versions are controlled by `is_upstream_release` variable in `debian/rules` ## Optional - [Top-level llms.txt](https://documentation.ubuntu.com/project/llms.txt): Complete documentation index.