Bug#1025868: Should we remove bin-sbin-mismatch due to unfixable false positives and being obsolete due to usrmerge?
Hi,
[This mail is a side-effect of trying to fix the remaining part of the
RC bug #1025868 against lintian.]
I'm thinking about retiring the tag bin-sbin-mismatch due difficult to
solve false positive (and currently triggering an RC bug).
It has been introduced in #930702 and sounded like a good idea, but
caused quite some not so trivial to fix issues (if fixable at all),
especially false positives:
* #1017632: false positives on partial matchs — IMHO unfixable.
* #974677: false positive when using variables — probably partially
fixable (i.e. unfixable) by ignoring cases where "}" stands directly
before "/bin/" and maybe where "\$\w+" matches before directly
before "/bin/". But the first will still have some false positives
(being language-dependent and at least in shell and Perl it
additionally requires strict adhering to some coding standards in
the tested package — which is unrealistic).
* zsh: false positives when doing symlinking /bin/zsh and /usr/bin/zsh
in postinst/postrm for non-usrmerge systems instead of shipping them
properly in the package due to the usrmerge mess. (Not reported,
just overridden.)
Additionally it has the following other issues:
* As far as I understand the topic, this tag is obosoleted by the
forced usrmerge migration as those mismatch seem to be no more
relevant since then.
* Order of the output parameters seem to vary per architecture, see
the remaining issue of the current RC bug #1025868 against lintian
(Cc'ed). I think this is related to C compilers/linkers not
generating the same variable order on different architectures, see
the test case which caused the RC bug:
https://salsa.debian.org/lintian/lintian/-/blob/master/t/recipes/checks/files/contents/bin-sbin-confusion-in-elf/build-spec/orig/calls-sbin.c
Paul: Expect an update on the last remaining piece of #1025868 soon.
I have a working arm64 Sid again. armhf and i386 didn't suffice to
reproduce. But I clearly see the problem. :-/
* Misleading tag name, at least without the full tag desc I always
expect that /sbin/$program and /bin/$program are mixed up. There's
no "usr" present in the tag name. A potential better tag name would
be something like bin-usr-bin-mismatch (with sbin being a seldom
special case of it).
Other points which are no issue itself, but make the tag removal
potentially a bit easier, i.e. likely reduce the impact of removal:
* The tag is marked as experimental, i.e. not shown by default.
* The submitter of #930702 (i.e. the feature request submitter)
himself is no more active in Debian. (And he — IMHO unfortunately —
rage-quitted Debian over the systemd controversy, so I doubt that
he's still interested in Debian, let it be alone Lintian. So I did
not Cc him to not bother him with stuff reminding him of Debian.)
And given that other recent tag removal proposals (e.g.
very-long-line-length-in-source-file) lead into objections, also from
my side, I'd like to hear first if there's someone who considers this
tag useful.
Regards, Axel
--
,''`. | Axel Beckert <abe@debian.org>, https://people.debian.org/~abe/
: :' : | Debian Developer, ftp.ch.debian.org Admin
`. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5
`- | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Reply to: