From f2790f0b3d1e9fc425f61d2e46b508d28f3db53c Mon Sep 17 00:00:00 2001
From: Mathieu Parent <mathieu.parent@nantesmetropole.fr>
Date: Thu, 16 May 2013 17:01:49 +0200
Subject: [PATCH 5/6] phppear: Check pkg-php-tools version for specific
 features

- package name overrides requires >= 1
- PEAR channels requires >= 1.3

Also skip other checks if pkg-php-tools is not used
---
 checks/phppear      |   42 +++++++++++++++++++++++++++---------------
 checks/phppear.desc |    6 ++++++
 2 files changed, 33 insertions(+), 15 deletions(-)

diff --git a/checks/phppear b/checks/phppear
index 667eca0..7a3e6cd 100644
--- a/checks/phppear
+++ b/checks/phppear
@@ -38,21 +38,29 @@ sub run {
     my $bdepends = $info->relation('build-depends');
     if (!$bdepends->implies('pkg-php-tools')) {
       tag 'pear-package-without-pkg-php-tools-builddep';
-    }
-    # Checking first binary relations
-    my @binaries = $info->binaries;
-    my $binary = $binaries[0];
-    my $depends = $info->binary_relation($binary, 'depends');
-    if (!$depends->implies('${phppear:Debian-Depends}')) {
-      tag 'pear-package-but-missing-dependency', 'Depends';
-    }
-    my $recommends = $info->binary_relation($binary, 'recommends');
-    if (!$recommends->implies('${phppear:Debian-Recommends}')) {
-      tag 'pear-package-but-missing-dependency', 'Recommends';
-    }
-    my $breaks = $info->binary_relation($binary, 'breaks');
-    if (!$breaks->implies('${phppear:Debian-Breaks}')) {
-      tag 'pear-package-but-missing-dependency', 'Breaks';
+    } else {
+      # Checking first binary relations
+      my @binaries = $info->binaries;
+      my $binary = $binaries[0];
+      my $depends = $info->binary_relation($binary, 'depends');
+      if (!$depends->implies('${phppear:Debian-Depends}')) {
+        tag 'pear-package-but-missing-dependency', 'Depends';
+      }
+      my $recommends = $info->binary_relation($binary, 'recommends');
+      if (!$recommends->implies('${phppear:Debian-Recommends}')) {
+        tag 'pear-package-but-missing-dependency', 'Recommends';
+      }
+      my $breaks = $info->binary_relation($binary, 'breaks');
+      if (!$breaks->implies('${phppear:Debian-Breaks}')) {
+        tag 'pear-package-but-missing-dependency', 'Breaks';
+      }
+      # Checking overrides
+      my $overrides = $info->debfiles('pkg-php-tools-overrides');
+      if (-f $overrides) {
+        if (!$bdepends->implies('pkg-php-tools (>= 1~)')) {
+          tag 'pear-package-feature-requires-newer-pkg-php-tools', '(>= 1~)', 'for package name overrides'
+        }
+      }
     }
   }
   # PEAR channel
@@ -61,6 +69,10 @@ sub run {
     my $bdepends = $info->binary_relation('build-depends');
     if (!$bdepends->implies('pkg-php-tools')) {
       tag 'pear-channel-without-pkg-php-tools-builddep';
+    } else {
+      if (!$bdepends->implies('pkg-php-tools (>= 1.3~)')) {
+        tag 'pear-package-feature-requires-newer-pkg-php-tools', '(>= 1.3~)', 'for PEAR channels support'
+      }
     }
   }
 }
diff --git a/checks/phppear.desc b/checks/phppear.desc
index 7e249b6..289ec06 100644
--- a/checks/phppear.desc
+++ b/checks/phppear.desc
@@ -29,3 +29,9 @@ Severity: normal
 Certainty: possible
 Info: The package is a PEAR package but its control file doesn't have
  ${phppear:Debian-Depends} in Depends or ${phppear:Debian-Recommends}.
+
+
+Tag: pear-package-feature-requires-newer-pkg-php-tools
+Severity: normal
+Certainty: possible
+Info: The package requires a newer pkg-php-tools for a specific feature.
-- 
1.7.10.4

