[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] Nuke a few easily Lintian warnings



I happened to notice on packages.qa.debian.org that the kernel packages
have 250 lintian warnings, of which the vast majority come from just a
few easy to fix issues.

The following patch address the worst (or rather, most numerous) of the
warnings.

debhelper-but-no-misc-depends

        By far the majority of the warnings. Resolved by adding the
        requisite ${Depends:misc} to all binary packages. The variable
        ends up empty except for the linux-base package.
        
dbg-package-missing-depends

        Add dependency on the corresponding linux-image package to each
        -dbg package. It's possible this is not appropriate for a kernel
        -dbg in which case I could make it an override instead.
        
empty-binary-package

        Resolved by adding the word virtual to the relevant package
        descriptions.
        
After this patch it looks from
http://lintian.debian.org/maintainer/debian-kernel@lists.debian.org.html
like the remaining Lintian warnings would be (I only considered the
linux-2.6 source package):

linux-base - no-debconf-config
        (should be linux-base.config not linux-base.postinst?)
linux-doc-2.6.32 - extra-license-file
linux-image-*-FLAVOUR - postrm-does-not-purge-debconf
        (probably a false positive related to postrm being in Perl?)
linux-manual-2.6.32 - manpage-has-errors-from-man
        (lots of these and they all look to be the same class of error)
out-of-date-standards-version

Shall I apply? I guess if so then something similar ought to go into
trunk (I was looking at the sid branch)

Ian.

diff --git a/linux-2.6/debian/bin/gencontrol.py b/linux-2.6/debian/bin/gencontrol.py
index 83e4462..f1e45d7 100755
--- a/linux-2.6/debian/bin/gencontrol.py
+++ b/linux-2.6/debian/bin/gencontrol.py
@@ -45,7 +45,8 @@ class Gencontrol(Base):
         libc_dev = self.templates["control.libc-dev"]
         packages_headers_arch[0:0] = self.process_packages(libc_dev, {})
         
-        extra['headers_arch_depends'] = packages_headers_arch[-1]['Depends'] = PackageRelation()
+        packages_headers_arch[-1]['Depends'].extend(PackageRelation())
+        extra['headers_arch_depends'] = packages_headers_arch[-1]['Depends']
 
         self.merge_packages(packages, packages_headers_arch, arch)
 
diff --git a/linux-2.6/debian/changelog b/linux-2.6/debian/changelog
index b6e868a..fa54221 100644
--- a/linux-2.6/debian/changelog
+++ b/linux-2.6/debian/changelog
@@ -8,6 +8,15 @@ linux-2.6 (2.6.32-21) UNRELEASED; urgency=low
     - mm: keep a guard page below a grow-down stack segment (CVE-2010-2240)
   * Add drm and other relevant changes from stable 2.6.34.4
 
+  [ Ian Campbell ]
+
+  * Add ${misc:Depends} to all binary packages (fixes lintian
+    debhelper-but-no-misc-depends)
+  * Use phrase "virtual package" in package descriptions where appropriate
+    (fixes lintian empty-binary-package)
+  * Add dependency on relevant linux-image package to -dbg packages (fixes
+    lintian dbg-package-missing-depends)
+
  -- Ben Hutchings <ben@decadent.org.uk>  Thu, 12 Aug 2010 23:20:55 +0100
 
 linux-2.6 (2.6.32-20) unstable; urgency=low
diff --git a/linux-2.6/debian/templates/control.headers.arch.in b/linux-2.6/debian/templates/control.headers.arch.in
index b4959bd..89a9951 100644
--- a/linux-2.6/debian/templates/control.headers.arch.in
+++ b/linux-2.6/debian/templates/control.headers.arch.in
@@ -1,13 +1,14 @@
 Package: linux-headers-@upstreamversion@@abiname@-all
-Depends: linux-headers-@upstreamversion@@abiname@-all-${kernel:Arch} (= ${binary:Version})
+Depends: linux-headers-@upstreamversion@@abiname@-all-${kernel:Arch} (= ${binary:Version}), ${misc:Depends}
 Description: All header files for Linux @version@
- This package depends against all architecture-specific kernel header files
+ This virtual package depends against all architecture-specific kernel header files
  for Linux kernel version @upstreamversion@, generally used for building out-of-tree
  kernel modules.
 
 Package: linux-headers-@upstreamversion@@abiname@-all-@arch@
+Depends: ${misc:Depends}
 Description: All header files for Linux @version@
- This package depends against all architecture-specific kernel header files
+ This virtual package depends against all architecture-specific kernel header files
  for Linux kernel version @upstreamversion@, generally used for building out-of-tree
  kernel modules.
 
diff --git a/linux-2.6/debian/templates/control.headers.featureset.in b/linux-2.6/debian/templates/control.headers.featureset.in
index 1d247ec..0722c3b 100644
--- a/linux-2.6/debian/templates/control.headers.featureset.in
+++ b/linux-2.6/debian/templates/control.headers.featureset.in
@@ -1,4 +1,5 @@
 Package: linux-headers-@upstreamversion@@abiname@-common@localversion_headers@
+Depends: ${misc:Depends}
 Description: Common header files for Linux @upstreamversion@@abiname@@localversion_headers@
  This package provides the architecture-specific common kernel header files
  for Linux kernel version @upstreamversion@@abiname@@localversion_headers@, generally used for building out-of-tree
diff --git a/linux-2.6/debian/templates/control.headers.in b/linux-2.6/debian/templates/control.headers.in
index c0e8513..f726e80 100644
--- a/linux-2.6/debian/templates/control.headers.in
+++ b/linux-2.6/debian/templates/control.headers.in
@@ -1,5 +1,5 @@
 Package: linux-headers-@upstreamversion@@abiname@@localversion@
-Depends: linux-headers-@upstreamversion@@abiname@-common@localversion_headers@ (= ${binary:Version}), linux-kbuild-@version@
+Depends: linux-headers-@upstreamversion@@abiname@-common@localversion_headers@ (= ${binary:Version}), linux-kbuild-@version@, ${misc:Depends}
 Provides: linux-headers, linux-headers-@major@
 Description: Header files for Linux @upstreamversion@@abiname@@localversion@
  This package provides the architecture-specific kernel header files
diff --git a/linux-2.6/debian/templates/control.image-dbg.in b/linux-2.6/debian/templates/control.image-dbg.in
index a60436e..158f14e 100644
--- a/linux-2.6/debian/templates/control.image-dbg.in
+++ b/linux-2.6/debian/templates/control.image-dbg.in
@@ -1,4 +1,5 @@
 Package: linux-image-@upstreamversion@@abiname@@localversion@-dbg
+Depends: linux-image-@upstreamversion@@abiname@@localversion@, ${misc:Depends}
 Section: debug
 Priority: extra
 Description: Debugging infos for Linux @upstreamversion@@abiname@@localversion@
diff --git a/linux-2.6/debian/templates/control.image.type-kernel-package.in b/linux-2.6/debian/templates/control.image.type-kernel-package.in
index d35c4a5..391a44d 100644
--- a/linux-2.6/debian/templates/control.image.type-kernel-package.in
+++ b/linux-2.6/debian/templates/control.image.type-kernel-package.in
@@ -1,7 +1,7 @@
 Package: linux-image-@upstreamversion@@abiname@@localversion@
 Provides: linux-image, linux-image-@major@, linux-modules-@upstreamversion@@abiname@@localversion@
 Pre-Depends: debconf | debconf-2.0
-Depends: module-init-tools
+Depends: module-init-tools, ${misc:Depends}
 Suggests: linux-doc-@version@
 Description: Linux @upstreamversion@ for @class@
  The Linux kernel @upstreamversion@ and modules for use on @longclass@.
diff --git a/linux-2.6/debian/templates/control.image.type-modulesextra.in b/linux-2.6/debian/templates/control.image.type-modulesextra.in
index 4981930..a3e84f8 100644
--- a/linux-2.6/debian/templates/control.image.type-modulesextra.in
+++ b/linux-2.6/debian/templates/control.image.type-modulesextra.in
@@ -1,11 +1,11 @@
 Package: linux-image-@upstreamversion@@abiname@@localversion@
 Provides: linux-image, linux-image-@major@
-Depends: linux-modules-@upstreamversion@@abiname@@localversion@ (= ${binary:Version})
+Depends: linux-modules-@upstreamversion@@abiname@@localversion@ (= ${binary:Version}), ${misc:Depends}
 Suggests: linux-doc-@version@
 Description: Linux @upstreamversion@ for @class@
  The Linux kernel @upstreamversion@ for use on @longclass@.
 
 Package: linux-modules-@upstreamversion@@abiname@@localversion@
-Depends: module-init-tools
+Depends: module-init-tools, ${misc:Depends}
 Description: Linux @upstreamversion@ modules for @class@
  Modules for Linux kernel @upstreamversion@ for use on @longclass@.
diff --git a/linux-2.6/debian/templates/control.image.type-modulesinline.in b/linux-2.6/debian/templates/control.image.type-modulesinline.in
index dae73fa..dcc82a9 100644
--- a/linux-2.6/debian/templates/control.image.type-modulesinline.in
+++ b/linux-2.6/debian/templates/control.image.type-modulesinline.in
@@ -1,6 +1,6 @@
 Package: linux-image-@upstreamversion@@abiname@@localversion@
 Provides: linux-image, linux-image-@major@, linux-modules-@upstreamversion@@abiname@@localversion@
-Depends: module-init-tools
+Depends: module-init-tools, ${misc:Depends}
 Suggests: linux-doc-@version@
 Description: Linux @upstreamversion@ for @class@
  The Linux kernel @upstreamversion@ for use on @longclass@.
diff --git a/linux-2.6/debian/templates/control.image.type-plain.in b/linux-2.6/debian/templates/control.image.type-plain.in
index 27a5ada..4a00c40 100644
--- a/linux-2.6/debian/templates/control.image.type-plain.in
+++ b/linux-2.6/debian/templates/control.image.type-plain.in
@@ -1,7 +1,7 @@
 Package: linux-image-@upstreamversion@@abiname@@localversion@
 Provides: linux-image, linux-image-@major@, linux-modules-@upstreamversion@@abiname@@localversion@
 Pre-Depends: debconf | debconf-2.0
-Depends: module-init-tools, linux-base (>= ${source:Version}), ${shlibs:Depends}
+Depends: module-init-tools, linux-base (>= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
 Recommends: firmware-linux-free (>= @source_upstream@)
 Suggests: linux-doc-@version@
 Description: Linux @upstreamversion@ for @class@
diff --git a/linux-2.6/debian/templates/control.image.type-standalone.in b/linux-2.6/debian/templates/control.image.type-standalone.in
index 4036d32..c15b1d8 100644
--- a/linux-2.6/debian/templates/control.image.type-standalone.in
+++ b/linux-2.6/debian/templates/control.image.type-standalone.in
@@ -1,6 +1,6 @@
 Package: linux-image-@upstreamversion@@abiname@@localversion@
 Provides: linux-image, linux-image-@major@
 Suggests: linux-doc-@version@
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: Linux @upstreamversion@ for @class@
  The Linux kernel @upstreamversion@ for use on @longclass@.
diff --git a/linux-2.6/debian/templates/control.libc-dev.in b/linux-2.6/debian/templates/control.libc-dev.in
index 6e34473..6c92394 100644
--- a/linux-2.6/debian/templates/control.libc-dev.in
+++ b/linux-2.6/debian/templates/control.libc-dev.in
@@ -1,5 +1,6 @@
 Package: linux-libc-dev
 Section: devel
+Depends: ${misc:Depends}
 Provides: linux-kernel-headers
 Replaces: linux-kernel-headers
 Conflicts: linux-kernel-headers
diff --git a/linux-2.6/debian/templates/control.main.in b/linux-2.6/debian/templates/control.main.in
index 15fee80..3c57a78 100644
--- a/linux-2.6/debian/templates/control.main.in
+++ b/linux-2.6/debian/templates/control.main.in
@@ -14,7 +14,7 @@ Package: linux-source-@version@
 Architecture: all
 Section: kernel
 Provides: linux-source, linux-source-@major@
-Depends: binutils, bzip2
+Depends: binutils, bzip2, ${misc:Depends}
 Recommends: libc6-dev | libc-dev, gcc, make
 Suggests: libncurses-dev | ncurses-dev, kernel-package, libqt3-mt-dev
 Description: Linux kernel source for version @version@ with Debian patches
@@ -31,6 +31,7 @@ Description: Linux kernel source for version @version@ with Debian patches
 
 Package: linux-doc-@version@
 Architecture: all
+Depends: ${misc:Depends}
 Section: doc
 Provides: linux-doc-@major@
 Description: Linux kernel specific documentation for version @version@
@@ -43,6 +44,7 @@ Description: Linux kernel specific documentation for version @version@
 
 Package: linux-manual-@version@
 Architecture: all
+Depends: ${misc:Depends}
 Section: doc
 Provides: linux-manual, kernel-manual-@major@
 Conflicts: linux-manual, kernel-manual-@major@
@@ -59,7 +61,7 @@ Description: Linux kernel API manual pages for version @version@
 
 Package: linux-patch-debian-@version@
 Architecture: all
-Depends: bzip2, linux-support-@upstreamversion@@abiname@, python
+Depends: bzip2, linux-support-@upstreamversion@@abiname@, python, ${misc:Depends}
 Suggests: linux-source-@version@
 Description: Debian patches to version @version@ of the Linux kernel
  This package includes the patches used to produce the prepackaged
@@ -72,6 +74,7 @@ Description: Debian patches to version @version@ of the Linux kernel
 
 Package: firmware-linux-free
 Architecture: all
+Depends: ${misc:Depends}
 Description: Binary firmware for various drivers in the Linux kernel
  This package contains firmware which was previously included in the
  Linux kernel and which is compliant with the Debian Free Software
@@ -83,7 +86,7 @@ Description: Binary firmware for various drivers in the Linux kernel
 Package: linux-support-@upstreamversion@@abiname@
 Architecture: all
 Section: devel
-Depends: ${python:Depends}
+Depends: ${python:Depends}, ${misc:Depends}
 Description: Support files for Linux @upstreamversion@
  This package provides support files for the Linux kernel build,
  e.g. scripts to handle ABI information and for generation of
@@ -91,7 +94,7 @@ Description: Support files for Linux @upstreamversion@
 
 Package: linux-base
 Architecture: all
-Depends: libuuid-perl, ${misc:Depends}, util-linux (>= 2.16-1) | udev (<< 146-1)
+Depends: libuuid-perl, ${misc:Depends}, util-linux (>= 2.16-1) | udev (<< 146-1), ${misc:Depends}
 Description: Linux image base package
  This package contains files and support scripts for all Linux
  images.
diff --git a/linux-2.6/debian/templates/control.xen-linux-system.in b/linux-2.6/debian/templates/control.xen-linux-system.in
index afebaf7..fc464a0 100644
--- a/linux-2.6/debian/templates/control.xen-linux-system.in
+++ b/linux-2.6/debian/templates/control.xen-linux-system.in
@@ -1,5 +1,5 @@
 Package: xen-linux-system-@upstreamversion@@abiname@@localversion@
-Depends: linux-image-@upstreamversion@@abiname@@localversion@ (= ${binary:Version})
+Depends: linux-image-@upstreamversion@@abiname@@localversion@ (= ${binary:Version}), ${misc:Depends}
 Description: Xen system with Linux @upstreamversion@ on @class@
- This package depends on the binary Linux image and hypervisors.
+ This virtual package depends on the binary Linux image and hypervisors.
 


-- 
Ian Campbell

Call me bored, but don't call me boring.
		-- Larry Wall in <199705101952.MAA00756@wall.org>

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: