Added lots more modules from lintian. Maemian appears to work.
[maemian] / checks / patch-systems.desc
diff --git a/checks/patch-systems.desc b/checks/patch-systems.desc
new file mode 100644 (file)
index 0000000..336cbd4
--- /dev/null
@@ -0,0 +1,139 @@
+Check-Script: patch-systems
+Author: Marc Brockschmidt <he@debian.org>
+Abbrev: pat
+Type: source
+Unpack-Level: 1
+Info: This script checks for various possible problems when using patch systems
+Needs-Info: debfiles, diffstat
+
+Tag: dpatch-build-dep-but-no-patch-list
+Severity: normal
+Certainty: certain
+Info: Using dpatch requires you to explicitly list all patches you want
+ to apply in debian/patches/00list. This package build-depends on dpatch,
+ but does not provide a patch list.  You should either remove the dpatch
+ build dependency or add a patch list.
+ .
+ Note that an empty file cannot be represented in the Debian diff, so an
+ empty patch list will disappear in the source package.  If you intended
+ for the series file to be empty, add a comment line.
+
+Tag: dpatch-index-references-non-existent-patch
+Severity: important
+Certainty: certain
+Info: In the 00list file listing all your dpatches, you referenced a file
+ that does not exist. This will lead to a fatal error when calling dpatch.
+
+Tag: dpatch-missing-description
+Severity: wishlist
+Certainty: certain
+Info: dpatch files should carry a description of the included patch.
+ Description lines start with "## DP:".
+ .
+ As well as a description of the purpose and function of the patch, the
+ description should ideally contain author information, a URL for the bug
+ report (if any), Debian or upstream bugs fixed by it, upstream status,
+ the Debian version and date the patch was first included, and any other
+ information that would be useful if someone were investigating the
+ patch and underlying problem.
+
+Tag: quilt-build-dep-but-no-series-file
+Severity: normal
+Certainty: certain
+Info: Using quilt requires you to explicitly list all patches you want
+ to apply in debian/patches/series.  This package build-depends on quilt,
+ but does not provide a patch list.  You should either remove the quilt
+ build dependency or add a series file.
+ .
+ Note that an empty file cannot be represented in the Debian diff, so an
+ empty series file will disappear in the source package.  If you intended
+ for the series file to be empty, add a comment line.
+
+Tag: quilt-series-but-no-build-dep
+Severity: normal
+Certainty: possible
+Info: The package contains a debian/patches/series file usually used by
+ quilt to apply patches at build time, but quilt is not listed in the
+ build dependencies.
+ .
+ You should either remove the series file if it's effectively not useful
+ or add quilt to the build-dependencies if quilt is used during the build
+ process.
+ .
+ If you don't need quilt during build but only during maintenance work,
+ then you can override this warning.
+
+Tag: quilt-patch-with-non-standard-options
+Severity: normal
+Certainty: certain
+Info: The quilt series file contains non-standard options to apply some of
+ the listed patches. Quilt uses '-p1' by default if nothing is specified
+ after the name of the patch and the current series file specify something
+ else for some of the patches listed.
+ .
+ For compatibility with the source "3.0 (quilt)" source package format,
+ you should avoid using any option at all and make sure that your patches
+ apply with "-p1". This can be done by refreshing all patches like this:
+ quilt pop -a; while quilt push; do quilt refresh -pab; done
+
+Tag: quilt-series-references-non-existent-patch
+Severity: important
+Certainty: certain
+Info: In the series file listing all your quilt patches, you referenced a
+ file that does not exist. This will lead to a fatal error when calling quilt.
+
+Tag: quilt-patch-missing-description
+Severity: wishlist
+Certainty: certain
+Info: quilt patch files should start with a description of patch.  All
+ lines before the start of the patch itself are considered part of the
+ description.  You can edit the description with <tt>quilt header -e</tt>
+ when the patch is at the top of the stack.
+ .
+ As well as a description of the purpose and function of the patch, the
+ description should ideally contain author information, a URL for the bug
+ report (if any), Debian or upstream bugs fixed by it, upstream status,
+ the Debian version and date the patch was first included, and any other
+ information that would be useful if someone were investigating the
+ patch and underlying problem.
+
+Tag: patch-modifying-debian-files
+Severity: important
+Certainty: certain
+Info: A patch stored in debian/patches/ should never modify files
+ in the debian directory (even when it's only creating new files) because
+ the debian directory is always directly provided by the Debian packaging.
+ And you shouldn't have to modify what you choose to provide in the first
+ place.
+ .
+ If the patch provides a new file (say a manual page), place that file
+ in the upstream directory hierarchy as if it was ready to be submitted.
+
+Tag: patch-system-but-direct-changes-in-diff
+Severity: minor
+Certainty: certain
+Info: The package uses a patch system, but the Debian diff.gz contains
+ changes to files or creation of additional files outside of the
+ <tt>debian</tt> directory.  This often indicates accidental changes that
+ weren't meant to be in the package or changes that were supposed to be
+ separated out into a patch.  The package will also more easily support
+ possible future source package formats if all changes outside the
+ <tt>debian</tt> directory are stored as patches.
+
+Tag: more-than-one-patch-system
+Severity: minor
+Certainty: certain
+Info: The build-dependencies list more than one patch system and it's
+ unlikely that you need both at the same time.
+ .
+ Currently lintian knows only dpatch and quilt.
+
+Tag: direct-changes-in-diff-but-no-patch-system
+Severity: pedantic
+Certainty: certain
+Info: The Debian diff.gz contains changes to files or creation of additional
+ files outside the <tt>debian</tt> directory.  Keeping the changes as separate
+ patches under the control of a patch system allows for more fine grained
+ control over them.  The package will also more easily support  possible
+ future source package formats if all changes outside the <tt>debian</tt>
+ directory are stored as patches.