tags 886479 + patch thanks Hi,
> lintian: Please detect packages that currently needs R!=no Draft patch attached: commit 5a881408f5f5dc8a2dc69f25e0e3e1f01fd413e0 Author: Chris Lamb <la...@debian.org> Date: Sat Jan 6 23:00:35 2018 +0000 Check for packages that should specify Rules-Require-Root. (Closes: #886479) checks/control-file.desc | 13 +++++++++++++ checks/control-file.pm | 19 ++++++++++++++++++- debian/changelog | 3 +++ 3 files changed, 34 insertions(+), 1 deletion(-) Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
>From 5a881408f5f5dc8a2dc69f25e0e3e1f01fd413e0 Mon Sep 17 00:00:00 2001 From: Chris Lamb <la...@debian.org> Date: Sat, 6 Jan 2018 23:00:35 +0000 Subject: [PATCH] Check for packages that should specify Rules-Require-Root. (Closes: #886479) --- checks/control-file.desc | 13 +++++++++++++ checks/control-file.pm | 19 ++++++++++++++++++- debian/changelog | 3 +++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/checks/control-file.desc b/checks/control-file.desc index 000f148f9..a63932a7c 100644 --- a/checks/control-file.desc +++ b/checks/control-file.desc @@ -330,3 +330,16 @@ Severity: classification Certainty: certain Info: Package requires fakeroot or similar to build binary targets and explicitly declares it. Ref: /usr/share/doc/dpkg-dev/rootless-builds.txt.gz + +Tag: should-specify-rules-requires-root +Severity: normal +Certainty: wishlist +Info: This package builds at least one binary package containing at + least one path with a UNIX ownership other than "root:root". + . + It therefore requires <tt>fakeroot(1)</tt> or similar to build its + binary targets. + . + Please specify (eg.) <tt>Rules-Requires-Root: binary-targets</tt> in + the <tt>debian/control</tt> source stanza. +Ref: /usr/share/doc/dpkg-dev/rootless-builds.txt.gz diff --git a/checks/control-file.pm b/checks/control-file.pm index 097696435..45f118a45 100644 --- a/checks/control-file.pm +++ b/checks/control-file.pm @@ -47,7 +47,7 @@ my $KNOWN_DBG_PACKAGE = Lintian::Data->new( }); sub run { - my ($pkg, undef, $info) = @_; + my ($pkg, undef, $info, undef, $group) = @_; my $debian_dir = $info->index_resolved_path('debian/'); my $dcontrol; $dcontrol = $debian_dir->child('control') if $debian_dir; @@ -381,6 +381,18 @@ sub run { tag 'rules-requires-root-implicitly'; } + if ($info->source_field('rules-requires-root', 'no') eq 'no') { + BINARY: + foreach my $proc ($group->get_processables('binary')) { + foreach my $file ($proc->info->sorted_index) { + my $owner = $file->owner . ':' . $file->group; + next if $owner eq 'root:root'; + tag 'should-specify-rules-requires-root', $file, "($owner)"; + last BINARY; + } + } + } + # find binary packages that Pre-Depend on multiarch-support without going # via ${misc:Pre-Depends} if ($info->source_field('build-depends')) { @@ -529,6 +541,11 @@ sub check_relation { return; } +sub check_rules_requires_root { + my ($info, $group) = @_; + +} + 1; # Local Variables: diff --git a/debian/changelog b/debian/changelog index 36178feb8..514930601 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,9 @@ lintian (2.5.68) UNRELEASED; urgency=medium when matching autotools-pkg-config-macro-not-cross-compilation-safe by skipping comment lines. (Closes: #886297) + [FL] Fix version parsing for native packages. + * checks/control-file.{desc.pm}: + + [CL] Check for packages that should specify Rules-Require-Root. + (Closes: #886479) * checks/debconf.pm: + [CL] Don't warn about unknown template type "entropy" when a package depends on cdebconf. (Closes: #677870) -- 2.15.1