Louis-Philippe Véronneau pushed to branch master at lintian / lintian
Commits: 9d882820 by Andrea Pappacoda at 2024-11-02T19:16:49+00:00 Do not raise silent-on-rules-requiring-root if dpkg-build-api is v1 or newer In such case, also raise the rules-do-not-require-root classification tag. Closes: #1057176 Also see <https://bugs.debian.org/1057238> for additional context. - - - - - 5 changed files: - lib/Lintian/Check/Debian/Control/Field/RulesRequiresRoot.pm - + t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing-with-dpkg-build-api/build-spec/debian/control.in - + t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing-with-dpkg-build-api/build-spec/fill-values - + t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing-with-dpkg-build-api/eval/desc - + t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing-with-dpkg-build-api/eval/hints Changes: ===================================== lib/Lintian/Check/Debian/Control/Field/RulesRequiresRoot.pm ===================================== @@ -38,6 +38,7 @@ sub source { my $control = $self->processable->debian_control; my $source_fields = $control->source_fields; + my $build_prerequisites= $self->processable->relation('Build-Depends-All'); my @r3_misspelled = grep { $_ ne 'Rules-Requires-Root' } grep { m{^ Rules? - Requires? - Roots? $}xi } $source_fields->names; @@ -57,14 +58,17 @@ sub source { my $pointer = $control_item->pointer($position); $self->pointed_hint('rules-do-not-require-root', $pointer) - if $source_fields->value('Rules-Requires-Root') eq 'no'; + if $source_fields->value('Rules-Requires-Root') eq 'no' + || (!$source_fields->declares('Rules-Requires-Root') + && $build_prerequisites->satisfies('dpkg-build-api (>= 1)')); $self->pointed_hint('rules-require-root-explicitly', $pointer) if $source_fields->declares('Rules-Requires-Root') && $source_fields->value('Rules-Requires-Root') ne 'no'; $self->pointed_hint('silent-on-rules-requiring-root', $pointer) - unless $source_fields->declares('Rules-Requires-Root'); + unless $source_fields->declares('Rules-Requires-Root') + || $build_prerequisites->satisfies('dpkg-build-api (>= 1)'); if ( !$source_fields->declares('Rules-Requires-Root') || $source_fields->value('Rules-Requires-Root') eq 'no') { ===================================== t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing-with-dpkg-build-api/build-spec/debian/control.in ===================================== @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: [% $priority %] +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Homepage: [% $homepage %] + +Package: [% $source %] +Architecture: [% $package_architecture %] +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. ===================================== t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing-with-dpkg-build-api/build-spec/fill-values ===================================== @@ -0,0 +1,4 @@ +Testname: rules-requires-root-missing-with-dpkg-build-api +Skeleton: upload-native +Description: d/control without explicit rules-requires-root but with dpkg-build-api +Extra-Build-Depends: dpkg-build-api (= 1) ===================================== t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing-with-dpkg-build-api/eval/desc ===================================== @@ -0,0 +1,4 @@ +Testname: rules-requires-root-missing-with-dpkg-build-api +Check: debian/control/field/rules-requires-root +Test-Against: silent-on-rules-requiring-root +See-Also: Bug #1057176 ===================================== t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing-with-dpkg-build-api/eval/hints ===================================== @@ -0,0 +1 @@ +rules-requires-root-missing-with-dpkg-build-api (source): rules-do-not-require-root [debian/control] View it on GitLab: https://salsa.debian.org/lintian/lintian/-/commit/9d882820b4f19a2753a3d035fbd41868e83ad716 -- View it on GitLab: https://salsa.debian.org/lintian/lintian/-/commit/9d882820b4f19a2753a3d035fbd41868e83ad716 You're receiving this email because of your account on salsa.debian.org.