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

[Git][lintian/lintian][master] Do not raise silent-on-rules-requiring-root if dpkg-build-api is v1 or newer



Title: GitLab

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:

Changes:

  • lib/Lintian/Check/Debian/Control/Field/RulesRequiresRoot.pm
    ... ... @@ -38,6 +38,7 @@ sub source {
    38 38
     
    
    39 39
         my $control = $self->processable->debian_control;
    
    40 40
         my $source_fields = $control->source_fields;
    
    41
    +    my $build_prerequisites= $self->processable->relation('Build-Depends-All');
    
    41 42
     
    
    42 43
         my @r3_misspelled = grep { $_ ne 'Rules-Requires-Root' }
    
    43 44
           grep { m{^ Rules? - Requires? - Roots? $}xi } $source_fields->names;
    
    ... ... @@ -57,14 +58,17 @@ sub source {
    57 58
         my $pointer = $control_item->pointer($position);
    
    58 59
     
    
    59 60
         $self->pointed_hint('rules-do-not-require-root', $pointer)
    
    60
    -      if $source_fields->value('Rules-Requires-Root') eq 'no';
    
    61
    +      if $source_fields->value('Rules-Requires-Root') eq 'no'
    
    62
    +      || (!$source_fields->declares('Rules-Requires-Root')
    
    63
    +        && $build_prerequisites->satisfies('dpkg-build-api (>= 1)'));
    
    61 64
     
    
    62 65
         $self->pointed_hint('rules-require-root-explicitly', $pointer)
    
    63 66
           if $source_fields->declares('Rules-Requires-Root')
    
    64 67
           && $source_fields->value('Rules-Requires-Root') ne 'no';
    
    65 68
     
    
    66 69
         $self->pointed_hint('silent-on-rules-requiring-root', $pointer)
    
    67
    -      unless $source_fields->declares('Rules-Requires-Root');
    
    70
    +      unless $source_fields->declares('Rules-Requires-Root')
    
    71
    +      || $build_prerequisites->satisfies('dpkg-build-api (>= 1)');
    
    68 72
     
    
    69 73
         if (  !$source_fields->declares('Rules-Requires-Root')
    
    70 74
             || $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
    1
    +Source: [% $source %]
    
    2
    +Priority: [% $priority %]
    
    3
    +Section: [% $section %]
    
    4
    +Maintainer: [% $author %]
    
    5
    +Standards-Version: [% $standards_version %]
    
    6
    +Build-Depends: [% $build_depends %]
    
    7
    +Homepage: [% $homepage %]
    
    8
    +
    
    9
    +Package: [% $source %]
    
    10
    +Architecture: [% $package_architecture %]
    
    11
    +Pre-Depends: ${misc:Pre-Depends}
    
    12
    +Depends: ${shlibs:Depends}, ${misc:Depends}
    
    13
    +Description: [% $description %]
    
    14
    + This is a test package designed to exercise some feature or tag of
    
    15
    + Lintian.  It is part of the Lintian test suite and may do very odd
    
    16
    + things.  It should not be installed like a regular package.  It may
    
    17
    + 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
    1
    +Testname: rules-requires-root-missing-with-dpkg-build-api
    
    2
    +Skeleton: upload-native
    
    3
    +Description: d/control without explicit rules-requires-root but with dpkg-build-api
    
    4
    +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
    1
    +Testname: rules-requires-root-missing-with-dpkg-build-api
    
    2
    +Check: debian/control/field/rules-requires-root
    
    3
    +Test-Against: silent-on-rules-requiring-root
    
    4
    +See-Also: Bug #1057176

  • t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing-with-dpkg-build-api/eval/hints
    1
    +rules-requires-root-missing-with-dpkg-build-api (source): rules-do-not-require-root [debian/control]


  • Reply to: