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

[SCM] Debian package checker branch, master, updated. 2.1.3-13-gf354c44



The following commit has been merged in the master branch:
commit b32c5c6c08a724d59951a3fad7e8cf62e46d1337
Author: Russ Allbery <rra@debian.org>
Date:   Mon Dec 29 11:56:37 2008 -0800

    Make update-never-seen merge data from both test suites
    
    * private/update-never-seen:
      + [RA] Merge data from both test suites and use the tag files for the
        old test suite rather than relying on runtests -v.
    
    Also update private/tags-never-seen.

diff --git a/debian/changelog b/debian/changelog
index d16a39d..36d331a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -32,10 +32,14 @@ lintian (2.1.4) UNRELEASED; urgency=low
       - unusual-control-interpreter is certain, not possible.
       - Suppress some cases of multiple tags about the same basic problem.
 
+  * private/update-never-seen:
+    + [RA] Merge data from both test suites and use the tag files for the
+      old test suite rather than relying on runtests -v.
+
   * t/runtests:
     + [RA] Check that a test produces all tags listed in Test-For and
       doesn't produce any tages listed in Test-Against.
-  
+
  -- Russ Allbery <rra@debian.org>  Sun, 28 Dec 2008 13:02:03 -0800
 
 lintian (2.1.3) unstable; urgency=low
diff --git a/private/tags-never-seen b/private/tags-never-seen
index 2419b01..22c5ddf 100644
--- a/private/tags-never-seen
+++ b/private/tags-never-seen
@@ -1,254 +1,272 @@
-Last generated 2008-07-14
-
-binaries.desc apparently-corrupted-elf-binary
-binaries.desc arch-dependent-file-in-usr-share
-binaries.desc binary-compiled-with-profiling-enabled
-binaries.desc binary-file-compressed-with-upx
-binaries.desc binary-in-etc
-binaries.desc binary-or-shlib-defines-rpath
-binaries.desc library-in-debug-or-profile-should-not-be-stripped
-binaries.desc library-not-linked-against-libc
-binaries.desc program-not-linked-against-libc
-changelog-file.desc html-changelog-without-text-version
-changelog-file.desc no-upstream-changelog
-changelog-file.desc spelling-error-in-changelog
-changelog-file.desc wrong-name-for-changelog-of-native-package
-changelog-file.desc wrong-name-for-debian-changelog-file
-changelog-file.desc wrong-name-for-upstream-changelog
-conffiles.desc duplicate-conffile
-conffiles.desc file-in-usr-marked-as-conffile
-conffiles.desc relative-conffile
-control-file.desc debian-control-file-is-a-symlink
-control-file.desc debian-control-with-duplicate-fields
-control-files.desc control-file-has-bad-owner
-control-files.desc not-allowed-control-file
-control-files.desc unknown-control-file
-copyright-file.desc cannot-check-whether-usr-share-doc-symlink-points-to-foreign-package
-copyright-file.desc copyright-does-not-refer-to-common-license-file
-copyright-file.desc copyright-should-refer-to-common-license-file-for-lgpl
-copyright-file.desc spelling-error-in-copyright
-copyright-file.desc usr-share-doc-symlink-points-outside-of-usr-share-doc
-copyright-file.desc usr-share-doc-symlink-to-foreign-package
-cruft.desc diff-contains-git-control-dir
-cruft.desc diff-contains-hg-control-dir
-cruft.desc diff-contains-patch-failure-file
-cruft.desc documentation-package-not-architecture-independent
-cruft.desc outdated-autotools-helper-file
-cruft.desc source-contains-arch-control-dir
-cruft.desc source-contains-arch-inventory-file
-cruft.desc source-contains-bzr-control-dir
-cruft.desc source-contains-cvs-conflict-copy
-cruft.desc source-contains-cvs-control-dir
-cruft.desc source-contains-hg-control-dir
-cruft.desc source-contains-svk-commit-file
-cruft.desc source-contains-svn-conflict-file
-cruft.desc source-contains-svn-control-dir
-debconf.desc boolean-template-has-bogus-default
-debconf.desc debconf-is-not-a-registry
-debconf.desc duplicate-fields-in-templates
-debconf.desc duplicate-long-description-in-template
-debconf.desc empty-translated-choices
-debconf.desc isdefault-flag-is-deprecated
-debconf.desc malformed-template-name
-debconf.desc no-template-name
-debconf.desc select-without-choices
-debconf.desc unknown-field-in-templates
-debconf.desc unknown-template-type
-debhelper.desc debhelper-compat-file-is-empty
-debhelper.desc dh-make-template-in-source
-debhelper.desc dh_dhelp-is-deprecated
-debian-readme.desc spelling-error-in-readme-debian
-description.desc description-synopsis-has-leading-spaces
-fields.desc alternates-not-allowed
-fields.desc arch-any-in-binary-pkg
-fields.desc aspell-package-not-arch-all
-fields.desc bad-menu-item
-fields.desc bad-package-name
-fields.desc bad-relation
-fields.desc bad-version-number
-fields.desc build-depends-on-x-metapackage
-fields.desc debian-revision-not-well-formed
-fields.desc debian-revision-should-not-be-zero
-fields.desc depends-on-libdb1-compat
-fields.desc depends-on-python-minimal
-fields.desc doc-package-depends-on-main-package
-fields.desc essential-in-source-package
-fields.desc essential-no-not-needed
-fields.desc magic-arch-in-arch-list
-fields.desc maintainer-address-is-on-localhost
-fields.desc maintainer-address-looks-weird
-fields.desc maintainer-address-malformed
-fields.desc maintainer-name-missing
-fields.desc malformed-python-version
-fields.desc multiline-field
-fields.desc new-essential-package
-fields.desc no-architecture-field
-fields.desc no-maintainer-field
-fields.desc no-package-name
-fields.desc no-source-field
-fields.desc no-version-field
-fields.desc obsolete-field
-fields.desc obsolete-relation-form
-fields.desc old-versioned-python-dependency
-fields.desc package-depends-on-an-x-font-package
-fields.desc package-depends-on-multiple-tclx-versions
-fields.desc package-not-lowercase
-fields.desc source-field-does-not-match-pkg-name
-fields.desc source-field-malformed
-fields.desc too-many-architectures
-fields.desc unknown-architecture
-fields.desc unknown-essential-value
-fields.desc unknown-field-in-control
-fields.desc unknown-field-in-dsc
-fields.desc unknown-priority
-fields.desc upstream-version-not-numeric
-fields.desc versioned-provides
-fields.desc wrong-section-for-udeb
-files.desc FSSTND-dir-in-var
-files.desc backup-file-in-package
-files.desc bad-owner-for-doc-file
-files.desc bad-permissions-for-etc-cron.d-script
-files.desc bad-permissions-for-etc-emacs-script
-files.desc compressed-symlink-with-wrong-ext
-files.desc config-file-reserved
-files.desc debug-package-should-be-named-dbg
-files.desc dir-in-usr-local
-files.desc dir-or-file-in-mnt
-files.desc dir-or-file-in-opt
-files.desc dir-or-file-in-tmp
-files.desc executable-in-usr-share-doc
-files.desc file-in-opt
-files.desc file-in-usr-lib-cgi-bin
-files.desc file-in-usr-lib-site-python
-files.desc file-in-usr-local
-files.desc image-file-in-usr-lib
-files.desc nested-examples-directory
-files.desc nfs-temporary-file-in-package
-files.desc non-standard-dir-in-usr
-files.desc non-standard-dir-in-var
-files.desc non-standard-file-perm
-files.desc non-standard-file-permissions-for-etc-init.d-script
-files.desc non-standard-game-executable-perm
-files.desc old-app-defaults-directory
-files.desc old-style-example-dir
-files.desc override-file-in-wrong-location
-files.desc package-contains-xvpics-dir
-files.desc package-installs-font-to-usr-x11r6
-files.desc package-installs-into-etc-rc.boot
-files.desc package-installs-into-etc-rc.d
-files.desc package-installs-perllocal-pod
-files.desc package-uses-obsolete-file
-files.desc perl-module-in-core-directory
-files.desc possible-name-space-pollution
-files.desc script-in-usr-share-doc
-files.desc setgid-binary
-files.desc setuid-gid-binary
-files.desc special-file
-files.desc subdir-in-bin
-files.desc third-party-package-in-python-dir
-files.desc udeb-contains-documentation-file
-infofiles.desc postrm-calls-install-info
-infofiles.desc preinst-calls-install-info
-init.d.desc duplicate-updaterc.d-calls-in-postinst
-init.d.desc file-in-etc-rc.d-marked-as-conffile
-init.d.desc init.d-script-has-bad-start-runlevel
-init.d.desc init.d-script-has-duplicate-lsb-keyword
-init.d.desc script-in-etc-init.d-not-registered-via-update-rc.d
-lintian.desc bad-distribution-in-changes-file
-lintian.desc bad-section-in-changes-file
-lintian.desc bad-urgency-in-changes-file
-lintian.desc checksum-mismatch-in-changes-file
-lintian.desc file-size-mismatch-in-changes-file
-lintian.desc no-description-in-changes-file
-lintian.desc no-urgency-in-changes-file
-manpages.desc FSSTND-dir-in-manual-page
-manpages.desc bad-so-link-within-manual-page
-manpages.desc manpage-for-non-x11-binary-in-wrong-directory
-manpages.desc manpage-for-x11-binary-in-wrong-directory
-manpages.desc manpage-in-wrong-directory
-manpages.desc manpage-section-mismatch
-manpages.desc no-manpage-in-correct-directory
-menu-format.desc bad-test-in-menu-item
-menu-format.desc desktop-entry-contains-deprecated-key
-menu-format.desc desktop-entry-lacks-main-category
-menu-format.desc duplicated-key-in-desktop-entry
-menu-format.desc duplicated-tag-in-menu-item
-menu-format.desc menu-icon-cannot-be-parsed
-menu-format.desc menu-icon-missing
-menu-format.desc menu-icon-not-in-xpm-format
-menu-format.desc menu-icon-too-big
-menu-format.desc menu-item-adds-to-root-menu
-menu-format.desc menu-item-contains-unknown-tag
-menu-format.desc menu-item-creates-new-root-section
-menu-format.desc menu-item-needs-dwww
-menu-format.desc menu-item-uses-apps-games-section
-menu-format.desc menu-item-uses-icon-none
-menu-format.desc old-format-menu-file
-menu-format.desc pkg-not-in-package-test
-menu-format.desc unparsable-menu-item
-menu-format.desc whitespace-after-continuation-character
-menus.desc doc-base-abstract-field-is-template
-menus.desc doc-base-abstract-might-contain-extra-leading-whitespaces
-menus.desc doc-base-document-field-not-in-first-line
-menus.desc doc-base-file-duplicated-field
-menus.desc doc-base-file-references-usr-doc
-menus.desc doc-base-file-separator-extra-whitespaces
-menus.desc doc-base-file-syntax-error
-menus.desc executable-in-usr-share-docbase
-menus.desc executable-menu-file
-menus.desc maintainer-script-does-not-check-for-existence-of-installdocs
-menus.desc maintainer-script-does-not-check-for-existence-of-updatemenus
-menus.desc postinst-has-useless-call-to-install-docs
-menus.desc postinst-has-useless-call-to-update-menus
-menus.desc postrm-calls-installdocs
-menus.desc postrm-has-useless-call-to-update-menus
-menus.desc preinst-calls-installdocs
-menus.desc preinst-calls-updatemenus
-menus.desc prerm-calls-updatemenus
-menus.desc prerm-has-useless-call-to-install-docs
-nmu.desc changelog-is-symlink
-patch-systems.desc more-than-one-patch-system
-patch-systems.desc patch-modifying-debian-files
-patch-systems.desc quilt-patch-with-non-standard-options
-patch-systems.desc quilt-series-but-no-build-dep
-patch-systems.desc quilt-series-references-non-existent-patch
-po-debconf.desc missing-file-from-potfiles-in
-po-debconf.desc missing-potfiles-in
-po-debconf.desc missing-templates-pot
-po-debconf.desc not-using-po-debconf
-rules.desc debian-rules-is-symlink
-rules.desc debian-rules-not-a-makefile
-rules.desc debian-rules-uses-DEB_BUILD_OPTS
-rules.desc desktop-file-but-no-dh_desktop-call
-scripts.desc csh-considered-harmful
-scripts.desc gawk-script-but-no-gawk-dep
-scripts.desc interpreter-in-usr-local
-scripts.desc interpreter-not-absolute
-scripts.desc killall-is-dangerous
-scripts.desc maintainer-script-needs-depends-on-adduser
-scripts.desc maintainer-script-needs-depends-on-update-inetd
-scripts.desc mawk-script-but-no-mawk-dep
-scripts.desc mknod-in-maintainer-script
-scripts.desc ruby-script-but-no-ruby-dep
-scripts.desc script-not-executable
-scripts.desc script-without-interpreter
-scripts.desc tclsh-script-but-no-tclsh-dep
-scripts.desc unusual-control-interpreter
-scripts.desc wish-script-but-no-wish-dep
-shared-libs.desc dev-pkg-without-shlib-symlink
-shared-libs.desc ldconfig-symlink-before-shlib-in-deb
-shared-libs.desc ldconfig-symlink-is-not-a-symlink
-shared-libs.desc ldconfig-symlink-referencing-wrong-file
-shared-libs.desc no-shlibs-control-file
-shared-libs.desc non-dev-pkg-with-shlib-symlink
-shared-libs.desc pkg-has-shlibs-control-file-but-no-actual-shared-libs
-shared-libs.desc postinst-has-useless-call-to-ldconfig
-shared-libs.desc postrm-should-call-ldconfig
-shared-libs.desc postrm-unsafe-ldconfig
-shared-libs.desc preinst-calls-ldconfig
-shared-libs.desc prerm-calls-ldconfig
-shared-libs.desc shlib-with-bad-permissions
-shared-libs.desc shlib-with-executable-stack
-shared-libs.desc shlib-without-PT_GNU_STACK-section
-standards-version.desc invalid-standards-version
-watch-file.desc debian-watch-file-missing-version
+Last generated 2008-12-29
+
+binaries apparently-corrupted-elf-binary
+binaries arch-dependent-file-in-usr-share
+binaries binary-compiled-with-profiling-enabled
+binaries binary-file-compressed-with-upx
+binaries binary-in-etc
+binaries binary-or-shlib-defines-rpath
+binaries library-in-debug-or-profile-should-not-be-stripped
+binaries library-not-linked-against-libc
+binaries program-not-linked-against-libc
+
+changelog-file html-changelog-without-text-version
+changelog-file improbable-bug-number-in-closes
+changelog-file no-upstream-changelog
+changelog-file spelling-error-in-changelog
+changelog-file wrong-name-for-changelog-of-native-package
+changelog-file wrong-name-for-debian-changelog-file
+changelog-file wrong-name-for-upstream-changelog
+
+conffiles duplicate-conffile
+conffiles file-in-usr-marked-as-conffile
+conffiles relative-conffile
+
+control-file debian-control-file-is-a-symlink
+control-file debian-control-with-duplicate-fields
+
+control-files control-file-has-bad-owner
+control-files not-allowed-control-file
+control-files unknown-control-file
+
+copyright-file cannot-check-whether-usr-share-doc-symlink-points-to-foreign-package
+copyright-file copyright-does-not-refer-to-common-license-file
+copyright-file copyright-should-refer-to-common-license-file-for-lgpl
+copyright-file spelling-error-in-copyright
+copyright-file usr-share-doc-symlink-points-outside-of-usr-share-doc
+copyright-file usr-share-doc-symlink-to-foreign-package
+
+cruft diff-contains-git-control-dir
+cruft diff-contains-hg-control-dir
+cruft diff-contains-patch-failure-file
+cruft documentation-package-not-architecture-independent
+cruft outdated-autotools-helper-file
+cruft source-contains-arch-control-dir
+cruft source-contains-arch-inventory-file
+cruft source-contains-bzr-control-dir
+cruft source-contains-cvs-conflict-copy
+cruft source-contains-cvs-control-dir
+cruft source-contains-hg-control-dir
+cruft source-contains-svk-commit-file
+cruft source-contains-svn-conflict-file
+cruft source-contains-svn-control-dir
+
+debconf boolean-template-has-bogus-default
+debconf debconf-is-not-a-registry
+debconf duplicate-fields-in-templates
+debconf duplicate-long-description-in-template
+debconf empty-translated-choices
+debconf isdefault-flag-is-deprecated
+debconf malformed-template-name
+debconf no-template-name
+debconf select-without-choices
+debconf unknown-field-in-templates
+debconf unknown-template-type
+
+debhelper debhelper-compat-file-is-empty
+debhelper dh-make-template-in-source
+debhelper dh_dhelp-is-deprecated
+
+debian-readme spelling-error-in-readme-debian
+
+description description-synopsis-has-leading-spaces
+
+fields arch-any-in-binary-pkg
+fields aspell-package-not-arch-all
+fields bad-menu-item
+fields bad-package-name
+fields bad-relation
+fields bad-version-number
+fields build-depends-on-x-metapackage
+fields depends-on-libdb1-compat
+fields doc-package-depends-on-main-package
+fields essential-in-source-package
+fields magic-arch-in-arch-list
+fields maintainer-address-is-on-localhost
+fields maintainer-address-looks-weird
+fields maintainer-address-malformed
+fields maintainer-name-missing
+fields malformed-python-version
+fields missing-build-dependency
+fields multiline-field
+fields no-architecture-field
+fields no-maintainer-field
+fields no-package-name
+fields no-source-field
+fields no-version-field
+fields obsolete-field
+fields obsolete-relation-form
+fields old-versioned-python-dependency
+fields package-depends-on-an-x-font-package
+fields package-depends-on-multiple-tclx-versions
+fields package-not-lowercase
+fields package-superseded-by-perl
+fields source-field-does-not-match-pkg-name
+fields source-field-malformed
+fields too-many-architectures
+fields unknown-architecture
+fields unknown-essential-value
+fields unknown-field-in-control
+fields unknown-field-in-dsc
+fields unknown-priority
+fields upstream-version-not-numeric
+fields versioned-provides
+fields wrong-section-for-udeb
+
+files FSSTND-dir-in-var
+files backup-file-in-package
+files bad-owner-for-doc-file
+files bad-permissions-for-etc-cron.d-script
+files bad-permissions-for-etc-emacs-script
+files compressed-symlink-with-wrong-ext
+files config-file-reserved
+files debug-package-should-be-named-dbg
+files dir-in-usr-local
+files dir-or-file-in-mnt
+files dir-or-file-in-tmp
+files embedded-php-library
+files executable-in-usr-share-doc
+files file-in-usr-lib-cgi-bin
+files file-in-usr-lib-site-python
+files file-in-usr-local
+files image-file-in-usr-lib
+files nested-examples-directory
+files nfs-temporary-file-in-package
+files non-standard-dir-in-usr
+files non-standard-dir-in-var
+files non-standard-file-perm
+files non-standard-file-permissions-for-etc-init.d-script
+files non-standard-game-executable-perm
+files old-app-defaults-directory
+files old-style-example-dir
+files package-contains-xvpics-dir
+files package-installs-font-to-usr-x11r6
+files package-installs-into-etc-rc.boot
+files package-installs-into-etc-rc.d
+files package-installs-perllocal-pod
+files package-uses-obsolete-file
+files perl-module-in-core-directory
+files possible-name-space-pollution
+files setgid-binary
+files setuid-gid-binary
+files special-file
+files subdir-in-bin
+files third-party-package-in-python-dir
+files udeb-contains-documentation-file
+
+infofiles postrm-calls-install-info
+infofiles preinst-calls-install-info
+
+init.d duplicate-updaterc.d-calls-in-postinst
+init.d file-in-etc-rc.d-marked-as-conffile
+init.d init.d-script-has-bad-start-runlevel
+init.d init.d-script-has-duplicate-lsb-keyword
+init.d script-in-etc-init.d-not-registered-via-update-rc.d
+
+lintian bad-distribution-in-changes-file
+lintian bad-section-in-changes-file
+lintian bad-urgency-in-changes-file
+lintian checksum-mismatch-in-changes-file
+lintian file-size-mismatch-in-changes-file
+lintian no-description-in-changes-file
+lintian no-urgency-in-changes-file
+
+manpages FSSTND-dir-in-manual-page
+manpages bad-so-link-within-manual-page
+manpages manpage-for-non-x11-binary-in-wrong-directory
+manpages manpage-for-x11-binary-in-wrong-directory
+manpages manpage-in-wrong-directory
+manpages manpage-section-mismatch
+manpages no-manpage-in-correct-directory
+
+menu-format bad-test-in-menu-item
+menu-format desktop-entry-contains-deprecated-key
+menu-format desktop-entry-lacks-main-category
+menu-format duplicated-key-in-desktop-entry
+menu-format duplicated-tag-in-menu-item
+menu-format menu-icon-cannot-be-parsed
+menu-format menu-icon-missing
+menu-format menu-icon-not-in-xpm-format
+menu-format menu-icon-too-big
+menu-format menu-item-adds-to-root-menu
+menu-format menu-item-contains-unknown-tag
+menu-format menu-item-creates-new-root-section
+menu-format menu-item-needs-dwww
+menu-format menu-item-uses-apps-games-section
+menu-format menu-item-uses-icon-none
+menu-format old-format-menu-file
+menu-format pkg-not-in-package-test
+menu-format unparsable-menu-item
+menu-format whitespace-after-continuation-character
+
+menus doc-base-abstract-field-is-template
+menus doc-base-abstract-might-contain-extra-leading-whitespaces
+menus doc-base-document-field-not-in-first-line
+menus doc-base-file-duplicated-field
+menus doc-base-file-references-usr-doc
+menus doc-base-file-separator-extra-whitespaces
+menus doc-base-file-syntax-error
+menus executable-in-usr-share-docbase
+menus executable-menu-file
+menus maintainer-script-does-not-check-for-existence-of-installdocs
+menus maintainer-script-does-not-check-for-existence-of-updatemenus
+menus postinst-has-useless-call-to-install-docs
+menus postinst-has-useless-call-to-update-menus
+menus postrm-calls-installdocs
+menus postrm-has-useless-call-to-update-menus
+menus preinst-calls-installdocs
+menus preinst-calls-updatemenus
+menus prerm-calls-updatemenus
+menus prerm-has-useless-call-to-install-docs
+
+nmu changelog-is-symlink
+
+patch-systems more-than-one-patch-system
+patch-systems patch-modifying-debian-files
+patch-systems quilt-patch-with-non-standard-options
+patch-systems quilt-series-but-no-build-dep
+patch-systems quilt-series-references-non-existent-patch
+
+po-debconf missing-file-from-potfiles-in
+po-debconf missing-potfiles-in
+po-debconf missing-templates-pot
+po-debconf not-using-po-debconf
+
+rules debian-rules-is-symlink
+rules debian-rules-not-a-makefile
+rules debian-rules-uses-DEB_BUILD_OPTS
+
+scripts csh-considered-harmful
+scripts gawk-script-but-no-gawk-dep
+scripts interpreter-in-usr-local
+scripts interpreter-not-absolute
+scripts killall-is-dangerous
+scripts maintainer-script-needs-depends-on-adduser
+scripts maintainer-script-needs-depends-on-update-inetd
+scripts mawk-script-but-no-mawk-dep
+scripts mknod-in-maintainer-script
+scripts ruby-script-but-no-ruby-dep
+scripts script-without-interpreter
+scripts tclsh-script-but-no-tclsh-dep
+scripts wish-script-but-no-wish-dep
+
+shared-libs dev-pkg-without-shlib-symlink
+shared-libs ldconfig-symlink-before-shlib-in-deb
+shared-libs ldconfig-symlink-is-not-a-symlink
+shared-libs ldconfig-symlink-referencing-wrong-file
+shared-libs no-shlibs-control-file
+shared-libs non-dev-pkg-with-shlib-symlink
+shared-libs pkg-has-shlibs-control-file-but-no-actual-shared-libs
+shared-libs postinst-has-useless-call-to-ldconfig
+shared-libs postrm-should-call-ldconfig
+shared-libs postrm-unsafe-ldconfig
+shared-libs preinst-calls-ldconfig
+shared-libs prerm-calls-ldconfig
+shared-libs shlib-calls-exit
+shared-libs shlib-with-bad-permissions
+shared-libs shlib-with-executable-stack
+shared-libs shlib-without-PT_GNU_STACK-section
+
+standards-version invalid-standards-version
+
+watch-file debian-watch-file-missing-version
diff --git a/private/update-never-seen b/private/update-never-seen
index 65ffc54..0c00ccd 100755
--- a/private/update-never-seen
+++ b/private/update-never-seen
@@ -1,17 +1,81 @@
 #!/usr/bin/perl -w
 #
-# This simple filter takes the output from runtests -v and mangles it into the
-# format for the tags-never-seen file.
+# Check all tags mentioned in Test-For in the new test suite and all tags seen
+# by the old test suite against the list of all documented tags and generate
+# output suitable for tags-never-seen that lists the untested tags.
+#
+# Should be run from the top level of the Lintian source tree or with
+# LINTIAN_ROOT set appropriately.
+
+use strict;
+use warnings;
 
 use POSIX qw(strftime);
 
+BEGIN {
+    my $LINTIAN_ROOT = $ENV{'LINTIAN_ROOT'};
+    if (not $LINTIAN_ROOT) {
+        use Cwd ();
+        $ENV{'LINTIAN_ROOT'} = $LINTIAN_ROOT = Cwd::cwd();
+    }
+}
+
+my $LINTIAN_ROOT = $ENV{'LINTIAN_ROOT'};
+
+use lib "$ENV{'LINTIAN_ROOT'}/lib";
+use Util;
+
+# Gather a list of all tags.
+my %tags;
+for my $desc (<$LINTIAN_ROOT/checks/*.desc>) {
+    for my $data (read_dpkg_control($desc)) {
+        $desc =~ s,.*/,,;
+        $desc =~ s/\.desc$//;
+        if (exists $data->{tag}) {
+            $tags{$data->{tag}} = $desc;
+        }
+    }
+}
+
+# Parse all test configuration files from the new test suite looking for
+# Test-For configuration options and remove those from the %tags hash.
+for my $desc (<$LINTIAN_ROOT/t/tests/*.desc>) {
+    my ($data) = read_dpkg_control($desc);
+    if (exists $data->{'test-for'}) {
+        for my $tag (split(' ', $data->{'test-for'})) {
+            delete $tags{$tag};
+        }
+    }
+}
+
+# Now parse all tags files from the old test suite looking for what tags that
+# test reveals.
+for my $tagfile (<$LINTIAN_ROOT/testset/tags.*>) {
+    next if $tagfile =~ /\.sed$/;
+    open (IN, '<', $tagfile) or die "Cannot open $tagfile: $!\n";
+    local $_;
+    while (<IN>) {
+        if (/^(.): (\S+)(?: (?:source|udeb))?: (\S+)/) {
+            delete $tags{$3};
+        }
+    }
+    close IN;
+}
+
+# Whatever is left in the %tags hash are untested.  Print them out sorted by
+# checks file.
 my @untested;
-while (<>) {
-    next unless /^I: tag-is-not-tested (\S+) in (\S+)/;
-    push (@untested, [ $2, $1 ]);
+for my $tag (keys %tags) {
+    push (@untested, [ $tags{$tag}, $tag ]);
 }
 @untested = sort { $a->[0] cmp $b->[0] || $a->[1] cmp $b->[1] } @untested;
-print "Last generated ", strftime ('%Y-%m-%d', gmtime), "\n\n";
-for my $tag (@untested) {
-    print "$tag->[0] $tag->[1]\n";
+print "Last generated ", strftime ('%Y-%m-%d', gmtime), "\n";
+my $last = '';
+for my $data (@untested) {
+    my ($file, $tag) = @$data;
+    if ($file ne $last) {
+        print "\n";
+        $last = $file;
+    }
+    print "$file $tag\n";
 }

-- 
Debian package checker


Reply to: