Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Your IP : 3.137.177.116
Check-Script: control-file
Author: Marc 'HE' Brockschmidt <marc@marcbrockschmidt.de>
Abbrev: dctl
Type: source
Needs-Info: unpacked
Info: This script checks debian/control files in source packages
Tag: debian-control-file-uses-obsolete-national-encoding
Severity: serious
Certainty: certain
Ref: policy 5.1
Info: The Debian control file should be valid UTF-8, an encoding of
the Unicode character set.
.
There are many ways to convert a control from an obsoleted encoding
like ISO-8859-1; you may for example use "iconv" like this:
.
$ iconv -f ISO-8859-1 -t UTF-8 control > control.new
$ mv control.new control
Tag: build-info-in-binary-control-file-section
Severity: serious
Certainty: certain
Ref: policy 5.2
Info: The control file has a Build-Depends, Build-Depends-Indep,
Build-Conflicts, or Build-Conflicts-Indep field in a binary
section. These specify source package relationships, and should be in
the source section of the control file.
Tag: debian-control-has-unusual-field-spacing
Severity: pedantic
Certainty: certain
Ref: policy 5.1
Info: The field on this line of <tt>debian/control</tt> has whitespace
other than a single space after the colon. This is explicitly permitted
in the syntax of Debian control files, but as Policy says, it is
conventional to put a single space after the colon.
Tag: debian-control-has-dbgsym-package
Severity: serious
Certainty: certain
Ref: #858117, https://wiki.debian.org/DebugPackage
Info: The <tt>debian/control</tt> file includes declaration of
normally autogenerated -dbgsym package.
.
You should delete this package from <tt>debian/control</tt>
and use autogeneration.
Tag: debian-control-has-obsolete-dbg-package
Severity: wishlist
Certainty: possible
Ref: https://wiki.debian.org/AutomaticDebugPackages
Info: The <tt>debian/control</tt> file includes declaration of
-dbg package.
.
Debug package are now autogenerated avoiding waste of miror
space.
.
Please note that -dbg should be dropped from control file
and must not be transitioned to a dummy package depending
on -dbgsym.
Tag: debian-control-repeats-field-name-in-value
Severity: normal
Certainty: possible
Ref: policy 5.1
Info: The field on this line of <tt>debian/control</tt> repeats
the field name in the value of the field. As an example:
.
Maintainer: Maintainer: Some Name <maintainer@mail.example.com>
Tag: binary-control-field-duplicates-source
Severity: wishlist
Certainty: certain
Info: In <tt>debian/control</tt>, this field for a binary package
duplicates the value inherited from the source package paragraph. This
doesn't hurt anything, but you may want to take advantage of the
inheritance and set the value in only one place. It prevents missing
duplicate places that need to be fixed if the value ever changes.
Tag: debian-control-file-is-a-symlink
Severity: normal
Certainty: certain
Info: The <tt>debian/control</tt> file is a symlink rather than a regular
file. Using symlinks for required source package files is unnecessary and
makes package checking and manipulation more difficult. If the control
file should be available in the source package under multiple names, make
<tt>debian/control</tt> the real file and the other names symlinks to it.
Tag: no-section-field-for-source
Severity: normal
Certainty: certain
Ref: policy 5.2
Info: The package does not have a "Section:" field in the source package
section of its control file. The Section field is required for source
packages at the request of the Debian ftp-masters.
Tag: section-area-mismatch
Severity: important
Certainty: certain
Info: The <tt>debian/control</tt> file places the indicated binary package
in a different archive area (main, contrib, non-free) than its source
package or other binary packages built from the same source package. The
source package and any binary packages it builds must be in the same
area of the archive, with the single exception that source packages in
main may also build binary packages in contrib.
Tag: xs-vcs-field-in-debian-control
Severity: wishlist
Certainty: certain
Info: There is an XS-Vcs-* field in the <tt>debian/control</tt> file. As
of dpkg 1.14.6, the XS- prefix is no longer necessary. dpkg now
recognizes these fields and handles them correctly. Consider removing
the XS- prefix for this field.
Tag: xs-testsuite-field-in-debian-control
Severity: wishlist
Certainty: certain
Info: There is an XS-Testsuite field in the <tt>debian/control</tt> file. As
of dpkg 1.17.10, the XS- prefix is no longer necessary. dpkg now
recognizes this field and handles it correctly. As of dpkg 1.17.11 the
field is automatically added by dpkg-source with the value "autopkgtest" if
there is a non-empty <tt>debian/tests/control</tt> file present. Consider
either removing the XS- prefix for this field or removing the field
altogether if it contains just the "autopkgtest" value.
Tag: xc-package-type-in-debian-control
Severity: pedantic
Certainty: certain
Info: The <tt>debian/control</tt> file contains an XC-Package-Type field.
As of dpkg-dev 1.15.7, the dpkg development utilities recognize
Package-Type as an official field name and do not add it to binary
packages (the previous concern with the dpkg-dev-supported Package-Type
field). XC-Package-Type should generally now be replaced with
Package-Type.
Tag: stronger-dependency-implies-weaker
Severity: normal
Certainty: certain
Ref: policy 7.2
Info: In the <tt>debian/control</tt> stanza for the given package, a
stronger dependency field implies one of the dependencies in a weaker
dependency field. In other words, the Depends field of the package
requires that one of the packages listed in Recommends or Suggests be
installed, or a package is listed in Recommends as well as Suggests.
.
Current versions of dpkg-gencontrol will silently fix this problem by
removing the weaker dependency, but it may indicate a more subtle bug
(misspelling or forgetting to remove the stronger dependency when it was
moved to the weaker field).
Tag: package-depends-on-itself
Severity: normal
Certainty: certain
Ref: policy 7.2
Info: The given package declares a dependency on itself in its
<tt>debian/control</tt> stanza. Current versions of dpkg-gencontrol will
silently fix this problem by removing the dependency, but it may indicate
a more subtle bug (misspelling or cutting and pasting the wrong package
name).
Tag: duplicate-short-description
Severity: wishlist
Certainty: possible
Info: The listed binary packages all share the same short description (the
first line of the Description control field). The package names may
provide enough additional information to distinguish between the
packages, but it's common to also add a word or two to the short
description to clarify the difference.
Tag: duplicate-long-description
Severity: wishlist
Certainty: certain
Info: The listed binary packages all share the same extended description.
Some additional information in the extended description explaining what
is in each package and how it differs from the other packages is useful,
particularly for users who aren't familiar with Debian's package naming
conventions.
Tag: duplicate-in-relation-field
Severity: pedantic
Certainty: certain
Info: The given field in the <tt>debian/control</tt> file contains
relations that are either identical or imply each other. The less
restrictive one can be removed. This is done automatically by
<tt>dpkg-source</tt> and <tt>dpkg-gencontrol</tt>, so this does not
affect the generated package.
Tag: missing-separator-between-items
Severity: important
Certainty: certain
Info: The given field in the <tt>debian/control</tt> file contains a list
of items separated by commas and pipes. It appears a separator was
missed between two items. This can lead to bogus or incomplete
dependencies, conflicts etc.
Tag: obsolete-relation-form-in-source
Ref: policy 7.1
Severity: serious
Certainty: certain
Info: The forms "<" and ">" mean "<=" and ">=", not "<<"
and ">>" as one might expect. These forms were marked obsolete and
must no longer be used. Use the longer forms instead.
Tag: package-depends-on-hardcoded-libc
Severity: normal
Certainty: certain
Info: The given package declares a dependency on libc directly instead
of using ${shlibs:Depends} in its <tt>debian/control</tt> stanza.
Tag: weak-library-dev-dependency
Severity: important
Certainty: possible
Ref: policy 8.5
Info: The given package appears to be a shared library -dev package, but
the dependency on what seems to be a corresponding shared library package
does not force the same package version. To ensure that compiling and
linking works properly, and that the symlinks in the -dev package point
to the correct files in the shared library package, a -dev package should
normally use <tt>(= ${binary:Version})</tt> for the dependency on the
shared library package.
.
Sometimes, such as for -dev packages that are architecture-independent to
not break binNMUs or when one doesn't want to force a tight dependency, a
weaker dependency is warranted. Something like <tt>(>=
${source:Upstream-Version}), (<<
${source:Upstream-Version}+1~)</tt>, possibly using
<tt>${source:Version}</tt> instead, is the right approach. The goal is to
ensure that a new upstream version of the library package doesn't satisfy
the -dev package dependency, since the minor version of the shared
library may have changed, breaking the <tt>*.so</tt> links.
Tag: syntax-error-in-control-file
Severity: important
Certainty: possible
Info: The control file contains a syntax error.
.
This issue may hide other issues as Lintian skips some checks on the
file in this case.
Tag: control-file-contains-dh_make-vcs-comment
Severity: normal
Certainty: certain
Info: The control file contains commented-out VCS-* lines, most
probably a result of dh_make. These URLs should either be valid and
uncommented, or removed.
Tag: pre-depends-directly-on-multiarch-support
Severity: important
Certainty: possible
Info: The control file mentions multiarch-support in a Pre-Depends line.
Usually multiarch-support is inserted into Pre-Depends via ${misc:Pre-Depends}
by dh_makeshlibs. In order to be able to remove the multiarch-support package
from glibc without updating every package, Pre-Depends: ${misc:Pre-Depends}
should be used instead. Then multiarch-support can be removed by a change
in debhelper followed by a binNMU of all affected packages.
.
Please also ensure that source package at least build-depends on
debhelper version 9 or above.
.
In order to ease the multiarch-support removal the severity of
this tag is important.
Tag: invalid-restriction-formula-in-build-profiles-field
Severity: important
Certainty: certain
Info: The restriction formula in the Build-Profiles field must have the same
format as the restriction formula in the Build-Depends field with angle
brackets.
Ref: https://wiki.debian.org/BuildProfileSpec#The_Build-Profiles_field
Tag: invalid-profile-name-in-build-profiles-field
Severity: important
Certainty: possible
Info: The restriction formula in Build-Profiles field includes an unknown build
profile. The only allowed build profiles are
"cross",
"nobiarch",
"nocheck",
"nodoc",
"nogolang",
"nojava",
"noperl",
"nopython",
"noudeb",
"stage1",
"stage2"
and "pkg.<i>srcpkg</i>.<i>anything</i>".
Ref: https://wiki.debian.org/BuildProfileSpec#Registered_profile_names
Tag: multiline-architecture-field
Severity: important
Certainty: certain
Ref: policy 5.6.8
Info: The values of the Architecture field in debian/control must not
be separated by anything else than spaces; that is, they must form a
single line and are not allowed to span multiple lines.
Tag: gobject-instrospection-package-missing-depends-on-gir-depends
Severity: serious
Certainty: certain
Info: The package is a GObject Instrospection package but it does not specify a
dependency on the ${gir:Depends} substvar. Missing these dependenceis usually
results in the program aborting.
.
This is usually an accidental omission and/or where the maintainer omits
the <tt>--with=gir</tt> debhelper sequence.
Tag: debian-control-has-empty-field
Severity: pedantic
Certainty: certain
Info: The field on this line of <tt>debian/control</tt> is empty. Whilst
this is permitted in the syntax of Debian control files it is
unnecessary.
Tag: rules-does-not-require-root
Severity: classification
Certainty: certain
Info: Package supports building without fakeroot or similar
Ref: /usr/share/doc/dpkg-dev/rootless-builds.txt.gz
Tag: rules-requires-root-implicitly
Severity: classification
Certainty: possible
Info: Package requires fakeroot or similar to build binary targets
Ref: /usr/share/doc/dpkg-dev/rootless-builds.txt.gz
Tag: rules-requires-root-explicitly
Severity: classification
Certainty: certain
Info: Package requires fakeroot or similar to build binary targets and explicitly declares it.
Ref: /usr/share/doc/dpkg-dev/rootless-builds.txt.gz
Tag: should-specify-rules-requires-root
Severity: wishlist
Certainty: certain
Info: This package builds a binary package containing at least one path
with a UNIX ownership other than "root:root". It therefore requires
<tt>fakeroot(1)</tt> or similar to build its binary targets.
.
Traditionally, Debian packages have required root privileges for some
debian/rules target requiring a split between build and binary targets.
This makes the builds slower due to the increased amount of invocations
as well as the overhead of fakeroot itself.
.
By declaring when a package really does require root privileges the
default, archive-wide, behaviour can be switched, optimising packaging
build times in the common case.
.
Please specify (eg.) <tt>Rules-Requires-Root: binary-targets</tt> in
the <tt>debian/control</tt> source stanza.
Ref: /usr/share/doc/dpkg-dev/rootless-builds.txt.gz
Tag: missing-built-using-field-for-golang-package
Severity: wishlist
Certainty: certain
Info: This package builds a binary package which does not include
<tt>${misc:Built-Using}</tt> in its <tt>Built-Using</tt> control field.
.
The <tt>${misc:Built-Using}</tt> substvar is populated by
<tt>dh-golang(1)</tt> and used for scheduling binNMUs.
.
Please add the following line to your package definition:
.
<tt>Built-Using: ${misc:Built-Using}</tt>
Tag: built-using-field-on-arch-all-package
Severity: wishlist
Certainty: certain
Info: This package builds a binary arch:all package which incorrectly
specifies a Built-Using control field.
.
<tt>Built-Using</tt> only applies to architecture-specific packages.
.
Please remove the <tt>Built-Using</tt> line from your package
definition.
Tag: missing-xs-go-import-path-for-golang-package
Severity: wishlist
Certainty: certain
Info: This source package does not specify a <tt>XS-Go-Import-Path</tt>
control field.
.
The <tt>XS-Go-Import-Path</tt> exposes the import path of the Go
package to the Debian archive in an easily machine-readable form which
is then used by tools such as <tt>dh-make-golang(1)</tt> to resolve
dependencies, avoid accidental duplication in the archive, or in
https://pkg-go.alioth.debian.org/ci.html.
.
For packages using <tt>dh-golang</tt>, the field should be set to the same
value as the <tt>DH_GOPKG</tt> variable in <tt>debian/rules</tt>.
<tt>dh-golang</tt> will automatically set <tt>DH_GOPKG</tt> to the
<tt>XS-Go-Import-Path</tt> value.
.
For packages which do not use <tt>dh-golang</tt> (or where upstream does
not publish the source in a way that is compatible with <tt>go get</tt>
and hence does not have a canonical import path) it is preferred to
set a fake import path. Please contact the pkg-go team at
https://pkg-go.alioth.debian.org/ for more specific advice in this
situation.
|