The Maintainer field¶
In the debian/control file, the Maintainer field indicates the person or team responsible for the maintenance of the package. Since Ubuntu derives from Debian, and many Ubuntu packages are unchanged from the upstream Debian package, it is common to find a Debian maintainer listed in this field within the source package.
For example, here is the top of debian/control from the groff package, version 1.22.4-10 shipped with Ubuntu 23.04:
Source: groff
Section: text
Priority: important
Maintainer: Colin Watson <cjwatson@debian.org>
Standards-Version: 3.9.8
Build-Depends: bison,
debhelper-compat (= 13),
ghostscript,
...
This is acceptable when Ubuntu has made no changes to the package. However, in the event that Ubuntu ships a package with any changes at all, this field must be updated to reflect the fact that Debian are not responsible for (and should not be contacted about) these changes. This requirement was introduced after discussion with, and polling of, the Debian community to determine the most appropriate way to handle the Maintainer field in distributions derived from Debian.
The update-maintainer command¶
When a package has Ubuntu-specific changes, or has been re-built against Ubuntu-specific sources (a no-change rebuild) the following changes must be made:
The original
Maintainerfield is renamed toXBSC-Original-Maintainer.A new
Maintainerfield with anubuntu.comaddress is added.
Use the update-maintainer script, found in the ubuntu-dev-tools package, to accomplish this. But be aware that it refuses to do so unless debian/changelog indicates that the package targets Ubuntu (the top entry has a series other than “unstable”, “testing”, etc).
For example, after defining a new version targeting “lunar” in debian/changelog, running update-maintainer leaves the following at the top of debian/control:
Source: groff
Section: text
Priority: important
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Colin Watson <cjwatson@debian.org>
Standards-Version: 3.9.8
Build-Depends: bison,
debhelper-compat (= 13),
ghostscript,
...
Typically, the address ubuntu-devel-discuss@lists.ubuntu.com is used as any package in Ubuntu may be uploaded by anyone with the appropriate rights, which are governed by Launchpad rather than the Maintainer and Uploader fields in the source package. However, any ubuntu.com address may be used, if a specific maintainer is more appropriate.
The Ubuntu version of the package building tools ensures that, if the version number of the package indicates Ubuntu modifications, they refuse to build unless the Maintainer field includes an ubuntu.com address.
Binary packages¶
Even when the source package is unchanged from Debian, and contains a Debian maintainer, binary packages built by Launchpad still have the ubuntu-devel-discuss@lists.ubuntu.com address in their Maintainer field. This is because Launchpad automatically updates this field in a post-build step.