Felix Lechner pushed to branch master at lintian / lintian


Commits:
00d9e017 by Felix Lechner at 2021-09-25T20:14:09-07:00
Implement unrestricted package relationships logically and without error-prone 
string edits.

Works on parsed data instead of the original string from Deb822.

Gbp-Dch: ignore

- - - - -
a8e6a37a by Felix Lechner at 2021-09-25T20:14:20-07:00
Look for autopkgtest prerequisites in d/tests/control; rename tag and test.

The tag appears to have been copied largely unchanged from
debian-rules-uses-supported-python-versions-without-python-all-build-depends but
test prerequisites are customarily declared in d/tests/control and not in
d/control.

Adjusts tag name, check and tag description.

Gbp-Dch: ignore

- - - - -
7492791d by Felix Lechner at 2021-09-25T20:14:24-07:00
Rename tag to control-interpreter-without-predepends; add context.

Makes the tag more similar to control-interpreter-without-depends.

Regenerates profiles.

Gbp-Dch: ignore

- - - - -
ec728f42 by Felix Lechner at 2021-09-25T20:14:27-07:00
Add multiarch acceptor :any to the Python prerequisite recommendations in tag 
descriptions.

The multiarch resover hints were possibly requested for easier bootstrapping
but not adequately enforced by Lintian prior to the fix for Bug#994902.

Gbp-Dch: ignore

- - - - -
66ea8811 by Felix Lechner at 2021-09-25T20:14:30-07:00
Broaden multiarch acceptor to: any in some tests; Lintian too loose.

Should have triggered hints in the past but did not. Lintian will catch them
after the next commit, if they are missing.

Gbp-Dch: ignore

- - - - -
9bc560a6 by Felix Lechner at 2021-09-25T20:14:36-07:00
Implement the multiarch selector :any in package relationships. (Closes: 
#994902)

The previous detection logic for these resolver hints was possbly reversed. As
an example, the prerequisite 'make' seems to have implied 
'make:any'.

The preceeding five commits show the extensive preparatory work that was needed
for this fix.

We built the example from tha bug report, postgresql-common, from Git using
commit 38ec687b. Lintian no longer produces the offending tag:

➤ ../lintian/git/bin/lintian postgresql-server-dev-all_229_amd64.deb
I: postgresql-server-dev-all: 
package-contains-documentation-outside-usr-share-doc 
usr/share/postgresql-common/dh_make_pgxs/debian/copyright

For comparison, here is the output that prompted the bug report:

➤ ../lintian/git/bin/lintian postgresql-server-dev-all_229_amd64.deb
E: postgresql-server-dev-all: missing-dep-for-interpreter make => make | 
build-essential | dpkg-dev 
(usr/share/postgresql-common/dh_make_pgxs/debian/rules) /usr/bin/make
I: postgresql-server-dev-all: 
package-contains-documentation-outside-usr-share-doc 
usr/share/postgresql-common/dh_make_pgxs/debian/copyright

Thank you to Christoph Berg for bringing the matter to our attention!

- - - - -


30 changed files:

- lib/Lintian/Check/Languages/Python.pm
- lib/Lintian/Check/Languages/Python/BogusPrerequisites.pm
- lib/Lintian/Check/Scripts.pm
- lib/Lintian/Check/Testsuite.pm
- lib/Lintian/Relation.pm
- lib/Lintian/Relation/Predicate.pm
- profiles/debian/ftp-master-auto-reject.profile
- 
t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel/build-spec/debian/control.in
- 
t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel2/build-spec/debian/control.in
- 
t/recipes/checks/debhelper/debhelper-dh-with-python3/build-spec/debian/control.in
- 
t/recipes/checks/languages/python/files-unknown-file-in-python-module-directory/build-spec/debian/control.in
- t/recipes/checks/scripts/scripts-control-interpreters/eval/hints
- 
t/recipes/checks/testsuite/runtime-test-file-uses-installed-python-versions/build-spec/debian/tests/control
- − 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-python-all-build-depends/eval/hints
- 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-python-all-build-depends/build-spec/debian/tests/control
 → 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-test-depends/build-spec/debian/tests/control
- 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-python-all-build-depends/build-spec/debian/tests/test-1
 → 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-test-depends/build-spec/debian/tests/test-1
- 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-python-all-build-depends/build-spec/fill-values
 → 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-test-depends/build-spec/fill-values
- 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-python-all-build-depends/eval/desc
 → 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-test-depends/eval/desc
- + 
t/recipes/checks/testsuite/runtime-test-file-uses-supported-python-versions-without-test-depends/eval/hints
- t/scripts/Lintian/Relation/04-multiarch.t
- tags/b/build-depends-on-python-dev-with-no-arch-any.tag
- tags/c/control-interpreter-without-depends.tag
- tags/p/preinst-interpreter-without-predepends.tag → 
tags/c/control-interpreter-without-predepends.tag
- tags/d/debian-rules-uses-installed-python-versions.tag
- 
tags/d/debian-rules-uses-supported-python-versions-without-python-all-build-depends.tag
- tags/p/python-depends-but-no-python-helper.tag
- tags/p/python-package-missing-depends-on-python.tag
- tags/p/python2-script-but-no-python2-dep.tag
- tags/p/python3-script-but-no-python3-dep.tag
- tags/r/rules-require-build-prerequisite.tag


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/lintian/lintian/-/compare/2dbe91b43dbb17fdf9bb94d0d2e75ae63624f808...9bc560a62571f2f1a70ce7044093c42ff14e3efa

-- 
View it on GitLab: 
https://salsa.debian.org/lintian/lintian/-/compare/2dbe91b43dbb17fdf9bb94d0d2e75ae63624f808...9bc560a62571f2f1a70ce7044093c42ff14e3efa
You're receiving this email because of your account on salsa.debian.org.


Reply via email to