Bug#833007: lintian: suggest adding upstream metadata
Hi Niels,
Thanks for your useful comments.
I have updated my patch according to your comments.
Thanks.
Best regards,
Dylan
From a2780686a5e6c8eccf3794dbea67d1e0dd5b0423 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dylan=20A=C3=AFssi?= <bob.dybian@gmail.com>
Date: Tue, 2 May 2017 22:49:36 +0200
Subject: [PATCH] c/upstream-metadata: Add a check
upstream-metadata-file-is-missing
---
checks/upstream-metadata.desc | 13 +++++++++++++
checks/upstream-metadata.pm | 6 +++++-
t/templates/tests/pedantic/debian/upstream/metadata | 2 ++
t/tests/upstream-metadata-is-missing/desc | 7 +++++++
t/tests/upstream-metadata-is-missing/pre_build | 2 ++
t/tests/upstream-metadata-is-missing/tags | 2 ++
6 files changed, 31 insertions(+), 1 deletion(-)
create mode 100644 t/templates/tests/pedantic/debian/upstream/metadata
create mode 100644 t/tests/upstream-metadata-is-missing/desc
create mode 100755 t/tests/upstream-metadata-is-missing/pre_build
create mode 100644 t/tests/upstream-metadata-is-missing/tags
diff --git a/checks/upstream-metadata.desc b/checks/upstream-metadata.desc
index 5f3c2c5..82c0631 100644
--- a/checks/upstream-metadata.desc
+++ b/checks/upstream-metadata.desc
@@ -18,3 +18,16 @@ Certainty: certain
Ref: http://dep.debian.net/deps/dep12/
Info: The DEP 12 metadata file is not well formed. The formatting
need to be adjusted to match the YAML specification.
+
+Tag: upstream-metadata-file-is-missing
+Severity: pedantic
+Certainty: certain
+Ref: http://dep.debian.net/deps/dep12/
+Info: This source package is not Debian-native but it does not have a
+ <tt>debian/upstream/metadata</tt> file. Upstream MEtadata GAthered
+ with YAml (UMEGAYA) is an effort to collect meta-information about
+ upstream projects from any source package. This file is in YAML
+ format and it is used in to feed the data in the UltimateDebianDatabase.
+ For example, it can contains the way the authors want their software
+ be cited in publications and some bibliographic references about the
+ software.
diff --git a/checks/upstream-metadata.pm b/checks/upstream-metadata.pm
index 08798db..8011bd5 100644
--- a/checks/upstream-metadata.pm
+++ b/checks/upstream-metadata.pm
@@ -30,7 +30,11 @@ use YAML::XS;
sub run {
my (undef, undef, $info) = @_;
my $yamlfile = $info->index_resolved_path('debian/upstream/metadata');
- return if not $yamlfile;
+
+ if (not $yamlfile) {
+ tag 'upstream-metadata-file-is-missing' unless ($info->native);
+ return;
+ }
if ($yamlfile->is_open_ok) {
my $yaml;
diff --git a/t/templates/tests/pedantic/debian/upstream/metadata b/t/templates/tests/pedantic/debian/upstream/metadata
new file mode 100644
index 0000000..948ec52
--- /dev/null
+++ b/t/templates/tests/pedantic/debian/upstream/metadata
@@ -0,0 +1,2 @@
+Contact: John Doe
+Name: foo
\ No newline at end of file
diff --git a/t/tests/upstream-metadata-is-missing/desc b/t/tests/upstream-metadata-is-missing/desc
new file mode 100644
index 0000000..df7f36e
--- /dev/null
+++ b/t/tests/upstream-metadata-is-missing/desc
@@ -0,0 +1,7 @@
+Testname: upstream-metadata-is-missing
+Type: non-native
+Version: 1.0-1
+Description: Tests for missing upstream metadata file
+Skeleton: pedantic
+Options: --pedantic
+Test-For: upstream-metadata-file-is-missing
diff --git a/t/tests/upstream-metadata-is-missing/pre_build b/t/tests/upstream-metadata-is-missing/pre_build
new file mode 100755
index 0000000..e4e9373
--- /dev/null
+++ b/t/tests/upstream-metadata-is-missing/pre_build
@@ -0,0 +1,2 @@
+#!/bin/sh
+rm -f "$1/debian/upstream/metadata"
diff --git a/t/tests/upstream-metadata-is-missing/tags b/t/tests/upstream-metadata-is-missing/tags
new file mode 100644
index 0000000..45e6185
--- /dev/null
+++ b/t/tests/upstream-metadata-is-missing/tags
@@ -0,0 +1,2 @@
+P: upstream-metadata-is-missing source: debian-watch-may-check-gpg-signature
+P: upstream-metadata-is-missing source: upstream-metadata-file-is-missing
--
2.1.4
Reply to: