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

Bug#922544: lintian: Mass tag rename to unify naming convention



Package: lintian
Version: 2.7.0
Severity: wishlist

Hi!

I brought this up for discussion on the mailing list some time ago [T],
and it resulted in the added support for renaming tags, which is great!
But the proposal then kind of died off.

  [T] <https://lists.debian.org/debian-lint-maint/2015/08/msg00094.html>

I'm copying below that initial mail, and attaching the subsequent
rename proposals (plus a few more I think) as a patch using the added
mechanism, even though I've not checked for newly introduced tags since,
as a discussion starter. If there's agreement I could sit down and check
the rest of the tags, and actually rename them in the code base.

                                    §§§

I've noticed the recent addition of tags with either very confusing
names like:

- debian-watch-may-check-gpg-signature

  As reported in #735040, where the suggested name seems way better:
  debian-watch-does-not-check-for-gpg-signature

- privacy-breach-may-use-debian-package

  Does the privacy breach use the package? A better name could perhaps be:
  privacy-breach-uses-embedded-file

Or names that instead of stating the detected fact, seem to dictate what
it would like to see.

- file-should-not-be-compressed

- debian-rules-should-not-automatically-update-control
- debian-rules-should-not-use-DEB_BUILD_OPTS
- debian-rules-should-not-use-or-modify-user-only-variable
- debian-rules-should-not-use-pwd
- debian-rules-should-not-use-underscore-variable

- maintainer-script-should-not-hide-init-failure
- maintainer-script-should-not-modify-ld-so-conf
- maintainer-script-should-not-modify-netbase-managed-file
- maintainer-script-should-not-use-adduser-system-without-home
- maintainer-script-should-not-use-ancient-dpkg-epoch-check
- maintainer-script-should-not-use-ancient-dpkg-multi-conrep-check
- maintainer-script-should-not-use-deprecated-chown-usage
- maintainer-script-should-not-use-dpkg-status-directly
- maintainer-script-should-not-use-fc-cache
- maintainer-script-should-not-use-gconftool
- maintainer-script-should-not-use-install-sgmlcatalog
- maintainer-script-should-not-use-service
- maintainer-script-should-not-use-start-stop-daemon
- maintainer-script-should-not-use-update-alternatives-remove
- maintainer-script-should-not-use-update-alternatives-set

I agree with Jakub Wilk's recent comments on the list that these are not
good names either. Lintian detects patterns, some might be problems that
must be fixed in all cases, others might be a matter of policy, others
might perhaps be issues sometimes, and that's why lintian allows
overridding/disabling them either per package or per profile. Encoding
either the severity/certainty or the possible solution in the tag name
duplicates the information contained elsewhere and makes them awkward
to change.

I'd request that no more such tag names be added, and ideally the
current ones be renamed, although the longer they stay the more
overrides they might accumulate. :/

I skimmed over other tag names and I've found also these patterns which
raise red flags for me (might have missed some), and do not conform
with the vast majority of other tags, or even related ones:

# -must-not-

- udeb-postinst-must-not-call-ldconfig

# -should-not-

- web-application-should-not-depend-unconditionally-on-apache2
- orphaned-package-should-not-have-uploaders
- changelog-should-not-mention-nmu
- debian-revision-should-not-be-zero
- library-in-debug-or-profile-should-not-be-stripped

# -might-not-

- description-synopsis-might-not-be-phrased-properly

# -should-

- changelog-should-mention-nmu
- changelog-should-mention-qa
- clean-should-be-satisfied-by-build-depends
- copyright-should-refer-to-common-license-file-for-apache-2
- copyright-should-refer-to-common-license-file-for-gfdl
- copyright-should-refer-to-common-license-file-for-gpl
- copyright-should-refer-to-common-license-file-for-lgpl
- debian-watch-file-should-dversionmangle-not-uversionmangle
- debian-watch-file-should-mangle-version
- debian-watch-file-should-use-sf-redirector
- debian-watch-file-should-uversionmangle-not-dversionmangle
- debug-file-should-use-detached-symbols
- debug-package-should-be-named-dbg
- debug-package-should-be-priority-extra
- games-package-should-be-section-games
- init.d-script-should-depend-on-virtual-facility
- menu-method-should-include-menu-h
- new-package-should-close-itp-bug
- postrm-should-call-ldconfig
- symlink-should-be-absolute
- symlink-should-be-relative
- transitional-package-should-be-oldlibs-extra

Thanks,
Guillem
From b094a6099aaeba702d3d88cca6da88494ce48297 Mon Sep 17 00:00:00 2001
From: Guillem Jover <guillem@debian.org>
Date: Sun, 17 Feb 2019 20:43:53 +0100
Subject: [PATCH] RFC: Mass tag rename to try to unify naming conventions

---
 data/override/renamed-tags | 65 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 63 insertions(+), 2 deletions(-)

diff --git a/data/override/renamed-tags b/data/override/renamed-tags
index aa87b6113..cc51c01c8 100644
--- a/data/override/renamed-tags
+++ b/data/override/renamed-tags
@@ -1,16 +1,77 @@
-# list of renamed tag old name => new name. Please alpha sort by old name
+# list of renamed tag old name => new name. Please alpha sort by old name
+changelog-should-mention-nmu => changelog-does-not-mention-nmu
+changelog-should-mention-qa => changelog-does-not-mention-qa
+changelog-should-not-mention-nmu => changelog-mentions-nmu
+clean-should-be-satisfied-by-build-depends => debian-rules-clean-is-not-satisfied-by-build-depends
+copyright-should-refer-to-common-license-file-for-apache-2 => copyright-does-not-refer-to-common-license-file-for-apache-2
+copyright-should-refer-to-common-license-file-for-gfdl => copyright-does-not-refer-to-common-license-file-for-gfdl
+copyright-should-refer-to-common-license-file-for-gpl => copyright-does-not-refer-to-common-license-file-for-gpl
+copyright-should-refer-to-common-license-file-for-lgpl => copyright-does-not-refer-to-common-license-file-for-lgpl
 debian-changelog-has-wrong-weekday => debian-changelog-has-wrong-day-of-week
+debian-revision-should-not-be-zero => debian-revision-is-zero
+debian-rules-should-not-automatically-update-control => debian-rules-automatically-updates-control
+debian-rules-should-not-use-DEB_BUILD_OPTS => debian-rules-uses-DEB_BUILD_OPTS
+debian-rules-should-not-use-or-modify-user-only-variable => debian-rules-uses-or-modifies-user-only-variable
+debian-rules-should-not-use-pwd => debian-rules-uses-pwd
+debian-rules-should-not-use-underscore-variable => debian-rules-uses-underscore-variable
+debian-watch-file-should-dversionmangle-not-uversionmangle => debian-watch-file-mangles-debian-version-with-uversionmangle ?
+debian-watch-file-should-mangle-version => debian-watch-file-does-not-mangle-version
+debian-watch-file-should-use-sf-redirector => debian-watch-file-does-not-use-sf-redirector
+debian-watch-file-should-uversionmangle-not-dversionmangle => debian-watch-file-mangles-upstream-version-with-dversionmangle
 debian-watch-may-check-gpg-signature => debian-watch-does-not-check-gpg-signature
+debug-file-should-use-detached-symbols => debug-file-does-not-use-detached-symbols
+debug-package-should-be-named-dbg => debug-package-is-not-named-dbg
+debug-package-should-be-priority-extra => debug-package-is-not-priority-extra
 dep5-file-paragraph-reference-header-paragraph => dep5-file-paragraph-references-header-paragraph
 depends-on-build-essential-package-without-using-version => build-depends-on-build-essential-package-without-using-version
+description-synopsis-might-not-be-phrased-properly => description-synopsis-is-a-sentence
+doc-base-file-duplicated-field => duplicate-field-in-doc-base-file
+doc-base-file-duplicated-format => duplicate-format-in-doc-base-file
+duplicated-compressed-file => duplicate-compressed-file
+duplicated-tag-in-menu-item => duplicate-tag-in-menu-item
+duplicated-key-in-desktop-entry => duplicate-key-in-desktop-entry
 fields-co-maintained-package-with-no-vcs-headers => fields-co-maintained-package-with-no-vcs-fields
+file-should-not-be-compressed => file-is-compressed
+games-package-should-be-section-games => games-package-is-not-section-games
+init.d-script-should-depend-on-virtual-facility => init.d-script-does-not-depend-on-virtual-facility
+library-in-debug-or-profile-should-not-be-stripped => library-in-debug-or-profile-is-stripped
+maintainer-script-may-use-dir_to_symlink_helper => maintainer-script-uses-ln-command-for-dir-to-symlink-switch
+maintainer-script-should-not-hide-init-failure => maintainer-script-hides-init-failure
+maintainer-script-should-not-modify-ld-so-conf => maintainer-script-modifies-ld-so-conf
+maintainer-script-should-not-modify-netbase-managed-file => maintainer-script-modifies-netbase-managed-file
+maintainer-script-should-not-use-adduser-system-without-home => maintainer-script-uses-adduser-system-without-home
+maintainer-script-should-not-use-ancient-dpkg-epoch-check => maintainer-script-uses-ancient-dpkg-epoch-check
+maintainer-script-should-not-use-ancient-dpkg-multi-conrep-check => maintainer-script-uses-ancient-dpkg-multi-conrep-check
+maintainer-script-should-not-use-deprecated-chown-usage => maintainer-script-uses-deprecated-chown-usage
+maintainer-script-should-not-use-dpkg-status-directly => maintainer-script-uses-dpkg-status-directly
+maintainer-script-should-not-use-fc-cache => maintainer-script-uses-fc-cache
+maintainer-script-should-not-use-gconftool => maintainer-script-uses-gconftool
+maintainer-script-should-not-use-install-sgmlcatalog => maintainer-script-uses-install-sgmlcatalog
+maintainer-script-should-not-use-service => maintainer-script-uses-service
+maintainer-script-should-not-use-start-stop-daemon => maintainer-script-uses-start-stop-daemon
+maintainer-script-should-not-use-update-alternatives-remove => maintainer-script-uses-update-alternatives-remove
+maintainer-script-should-not-use-update-alternatives-set => maintainer-script-uses-update-alternatives-set
+menu-method-should-include-menu-h => menu-method-does-not-include-menu-h
+new-package-should-close-itp-bug => new-package-does-not-close-itp-bug
+orphaned-package-should-not-have-uploaders => orphaned-package-has-uploaders
 package-install-apt-preferences => package-installs-apt-preferences
 package-install-apt-sources => package-installs-apt-sources
 package-install-ieee-data => package-installs-ieee-data
 package-install-into-obsolete-dir => package-installs-into-obsolete-dir
+postrm-should-call-ldconfig => postrm-does-not-call-ldconfig
 privacy-breach-may-use-debian-package => privacy-breach-uses-embedded-file
 source-copyright-license-header => source-copyright-license-field
+symlink-should-be-absolute => symlink-is-not-absolute
+symlink-should-be-relative => symlink-is-not-relative
 systemd-no-service-for-init-rcS-script => missing-systemd-service-for-init.d-rcS-script
 systemd-no-service-for-init-script => omitted-systemd-service-for-init.d-script
 testsuite-unnecessary-testsuite-autopkgtest-header => testsuite-unnecessary-testsuite-autopkgtest-field
-transitional-package-should-be-oldlibs-extra => transitional-package-should-be-oldlibs-optional
+transitional-package-should-be-oldlibs-extra => transitional-package-is-not-oldlibs-optional
+transitional-package-should-be-oldlibs-optional => transitional-package-is-not-oldlibs-optional
+udeb-postinst-must-not-call-ldconfig => udeb-postinst-calls-ldconfig
+web-application-should-not-depend-unconditionally-on-apache2 => web-application-depends-unconditionally-on-apache2
+
+# 534938
+# usage: shlib > shared-library
+# confusion between shlibs file and shared libraries
+shared-lib-without-dependency-information => shlib-without-dependency-information
-- 
2.20.1.791.gb4d0f1c61a


Reply to: