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