Scroll to navigation

Lintian::Maintainer(3) Debian Package Checker Lintian::Maintainer(3)


Lintian::Maintainer -- Lintian checks shared between multiple scripts


    use Lintian::Maintainer qw(check_maintainer);

    my ($maintainer, $field) = ('John Doe', 'uploader');
    check_maintainer ($maintainer, $field);


This module provides functions to do some Lintian checks that need to be done in multiple places. There are certain low-level checks, such as validating a maintainer name and e-mail address or checking spelling, which apply in multiple situations and should be done in multiple checks scripts or in checks scripts and the Lintian front-end.

The functions provided by this module issue tags directly, usually either taking the tag name to issue as an argument or dynamically constructing the tag name based on function parameters. The caller is responsible for ensuring that all tags are declared in the relevant *.desc file with proper descriptions and other metadata. The possible tags issued by each function are described in the documentation for that function.


check_maintainer(MAINTAINER, FIELD)
Checks the maintainer name and address MAINTAINER for Policy compliance and other issues. FIELD is the context in which the maintainer name and address was seen and should be one of "maintainer" (the Maintainer field in a control file), "uploader" (the Uploaders field in a control file), or "changed-by" (the Changed-By field in a changes file).

The following tags may be issued by this function. The string %s in the tags below will be replaced with the value of FIELD.

The e-mail address portion of MAINTAINER is at "localhost" or some other similar domain.

= item %s-address-is-root-user

The user (from email or username) of MAINTAINER is root.

The e-mail address portion of MAINTAINER or UPLOADER refers to the PTS e-mail addresses "" or "", or, alternatively refers to a mailing list which is known to bounce off-list mails sent by Debian role accounts.
MAINTAINER doesn't fit the basic syntax of a maintainer name and address as specified in Policy.
MAINTAINER does not contain a full name before the address, or the e-mail address was not in angle brackets.
MAINTAINER appears to be the Debian QA Group, but the e-mail address portion is wrong for orphaned packages. This tag is only issued for a FIELD of "maintainer".
MAINTAINER appears to be the Debian QA Group, but the name portion is not "Debian QA Group". This tag is only issued for a FIELD of "maintainer".

The last two tags are issued here rather than in a location more specific to checks of the Maintainer control field because they take advantage of the parsing done by the rest of the function.


Originally written by Russ Allbery <> for Lintian. Based on code from checks scripts by Marc Brockschmidt and Richard Braakman.


2020-06-01 Lintian v2.78.0~bpo10+1