[lintian] 02/04: c/systemd: Add line number to service-key-has-whitespace
This is an automated email from the git hooks/post-receive script.
nthykier pushed a commit to branch master
in repository lintian.
commit d913f5e20d153cdca5741d8a017dc3778dd110ca
Author: Niels Thykier <niels@thykier.net>
Date: Mon Jun 15 18:32:28 2015 +0200
c/systemd: Add line number to service-key-has-whitespace
Signed-off-by: Niels Thykier <niels@thykier.net>
---
checks/systemd.pm | 7 ++++---
t/tests/systemd-complex-service-file/desc | 1 +
t/tests/systemd-complex-service-file/tags | 2 ++
t/tests/systemd-general/desc | 1 +
t/tests/systemd-general/tags | 5 ++++-
5 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/checks/systemd.pm b/checks/systemd.pm
index f03149d..d36cf65 100644
--- a/checks/systemd.pm
+++ b/checks/systemd.pm
@@ -28,7 +28,7 @@ use warnings;
use autodie;
use File::Basename;
-use List::MoreUtils qw(any);
+use List::MoreUtils qw(any first_index);
use Text::ParseWords qw(shellwords);
use Lintian::Tags qw(tag);
@@ -188,8 +188,9 @@ sub extract_service_file_values {
return;
}
my @lines = service_file_lines($file);
- if (any { /^[[:alnum:]]+(\s*=\s|\s+=)/ } @lines) {
- tag 'service-key-has-whitespace', $file;
+ my $key_ws = first_index { /^[[:alnum:]]+(\s*=\s|\s+=)/ } @lines;
+ if ($key_ws > -1) {
+ tag 'service-key-has-whitespace', $file, 'at line', $key_ws;
}
if (any { /^\.include / } @lines) {
my $parent_dir = $file->parent_dir;
diff --git a/t/tests/systemd-complex-service-file/desc b/t/tests/systemd-complex-service-file/desc
index b42f559..d06284f 100644
--- a/t/tests/systemd-complex-service-file/desc
+++ b/t/tests/systemd-complex-service-file/desc
@@ -4,4 +4,5 @@ Version: 1.0
Description: Verifies the .service file parser properly handles .include within
service files.
Test-For:
+ service-key-has-whitespace
systemd-service-file-refers-to-obsolete-target
diff --git a/t/tests/systemd-complex-service-file/tags b/t/tests/systemd-complex-service-file/tags
index c4715b9..1ffee42 100644
--- a/t/tests/systemd-complex-service-file/tags
+++ b/t/tests/systemd-complex-service-file/tags
@@ -1,2 +1,4 @@
+E: systemd-complex-service-file: service-key-has-whitespace lib/systemd/system/test3.service at line 3
+E: systemd-complex-service-file: service-key-has-whitespace lib/systemd/system/test3.service at line 3
W: systemd-complex-service-file: systemd-service-file-refers-to-obsolete-target lib/systemd/system/test.service dbus.target
W: systemd-complex-service-file: systemd-service-file-refers-to-obsolete-target lib/systemd/system/test2.service syslog.target
diff --git a/t/tests/systemd-general/desc b/t/tests/systemd-general/desc
index 93ad863..0bffbeb 100644
--- a/t/tests/systemd-general/desc
+++ b/t/tests/systemd-general/desc
@@ -7,6 +7,7 @@ Test-For:
init.d-script-does-not-source-init-functions
maintainer-script-calls-systemctl
service-file-is-not-a-file
+ service-key-has-whitespace
systemd-service-file-outside-lib
systemd-tmpfiles.d-outside-usr-lib
systemd-service-file-refers-to-obsolete-target
diff --git a/t/tests/systemd-general/tags b/t/tests/systemd-general/tags
index 3c23df1..47fe757 100644
--- a/t/tests/systemd-general/tags
+++ b/t/tests/systemd-general/tags
@@ -1,7 +1,10 @@
E: systemd-general: init-script-is-not-a-file etc/init.d/fifo-pipe-as-init
E: systemd-general: service-file-is-not-a-file etc/systemd/system/fifo-pipe-as-init.service
E: systemd-general: service-file-is-not-a-file etc/systemd/system/fifo-pipe-as-init.service
-E: systemd-general: service-key-has-whitespace etc/systemd/system/test.service
+E: systemd-general: service-key-has-whitespace etc/systemd/system/test.service at line 3
+E: systemd-general: service-key-has-whitespace etc/systemd/system/test.service at line 3
+E: systemd-general: service-key-has-whitespace usr/lib/systemd/system/test.service at line 3
+E: systemd-general: service-key-has-whitespace usr/lib/systemd/system/test.service at line 3
E: systemd-general: special-file etc/init.d/fifo-pipe-as-init 0644
E: systemd-general: special-file etc/systemd/system/fifo-pipe-as-init.service 0644
E: systemd-general: systemd-no-service-for-init-script systemd-general
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git
Reply to: