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

[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: