[libconfig-model-dpkg-perl] 17/23: add default dummy value for debian/changelog

dod at debian.org dod at debian.org
Mon Feb 13 12:29:39 UTC 2017


This is an automated email from the git hooks/post-receive script.

dod pushed a commit to branch master
in repository libconfig-model-dpkg-perl.

commit eaa14839a6329a4ec72f23e67afe8fd7bd8a4c1f
Author: Dominique Dumont <dod at debian.org>
Date:   Sat Jan 28 18:55:57 2017 +0100

    add default dummy value for debian/changelog
    
    tests are tweaked to add the changelog file now created by the model
---
 lib/Config/Model/Dpkg/Dependency.pm  |  7 ++++--
 lib/Config/Model/models/Dpkg.pl      | 22 +++++++++++++++++
 lib/Config/Model/models/Dpkg/Meta.pl | 10 ++++++++
 t/model_tests.d/dpkg-test-conf.pl    | 48 +++++++++++++++++++++++++-----------
 4 files changed, 70 insertions(+), 17 deletions(-)

diff --git a/lib/Config/Model/Dpkg/Dependency.pm b/lib/Config/Model/Dpkg/Dependency.pm
index 225bf46..05ab7da 100644
--- a/lib/Config/Model/Dpkg/Dependency.pm
+++ b/lib/Config/Model/Dpkg/Dependency.pm
@@ -373,6 +373,7 @@ sub check_debhelper_version {
     $logger->debug("checking '$dep_string' with lintian");
 
     # try to create compat_obj, but do not try twice (hence the exists test)
+    # compat_obj will be undef with 'cme edit dpkg-control'
     if (not exists $self->{_compat_obj} ) {
         # using mode loose because debian-control model can be used alone
         # and compat is outside of debian-control
@@ -385,9 +386,11 @@ sub check_debhelper_version {
     my $compat_value = $self->{_compat_obj}->fetch;
 
     my $min_dep = Lintian::Relation->new("debhelper ( >= $compat_value)") ;
-    $logger->debug("checking if ".$lintian_dep->unparse." implies ". $min_dep->unparse);
 
-    return if $lintian_dep->implies ($min_dep) ;
+    if ($lintian_dep->implies ($min_dep)) {
+        $logger->debug($dep_string." -> ".$lintian_dep->unparse." implies ". $min_dep->unparse);
+        return;
+    }
 
     $logger->debug("'$dep_string' does not imply debhelper >= $compat_value");
 
diff --git a/lib/Config/Model/models/Dpkg.pl b/lib/Config/Model/models/Dpkg.pl
index 7ca3a0f..d4277d1 100644
--- a/lib/Config/Model/models/Dpkg.pl
+++ b/lib/Config/Model/models/Dpkg.pl
@@ -55,6 +55,28 @@ include /usr/share/dpkg/default.mk
         'type' => 'leaf',
         'value_type' => 'string'
       },
+      'changelog',
+      {
+        'compute' => {
+          'allow_override' => '1',
+          'formula' => '$pkg_name (0.001-1) UNRELEASED; urgency=medium
+
+  * ...
+
+ -- $name <$mail>  Wed, 18 Jan 2017 18:28:23 +0100
+',
+          'variables' => {
+            'mail' => '! my_config email',
+            'name' => '! my_config fullname',
+            'pkg_name' => '! control source Source'
+          }
+        },
+        'description' => 'Dummy changelog entry with a dummy date.
+Don\'t forget to change the version
+number. Use L<dch> command to update.',
+        'type' => 'leaf',
+        'value_type' => 'string'
+      },
       'scan-copyright-patterns',
       {
         'config_class_name' => 'Dpkg::Copyright::ScanPatterns',
diff --git a/lib/Config/Model/models/Dpkg/Meta.pl b/lib/Config/Model/models/Dpkg/Meta.pl
index 09b5ed9..832722a 100644
--- a/lib/Config/Model/models/Dpkg/Meta.pl
+++ b/lib/Config/Model/models/Dpkg/Meta.pl
@@ -8,6 +8,16 @@
       '2010,2011 Dominique Dumont'
     ],
     'element' => [
+      'fullname',
+      {
+        'compute' => {
+          'allow_override' => '1',
+          'formula' => '$ENV{DEBFULLNAME}',
+          'use_eval' => '1'
+        },
+        'type' => 'leaf',
+        'value_type' => 'uniline'
+      },
       'email',
       {
         'compute' => {
diff --git a/t/model_tests.d/dpkg-test-conf.pl b/t/model_tests.d/dpkg-test-conf.pl
index 76e18f6..d9b01de 100644
--- a/t/model_tests.d/dpkg-test-conf.pl
+++ b/t/model_tests.d/dpkg-test-conf.pl
@@ -1,6 +1,8 @@
 use Data::Dumper;
 use IO::File;
 use File::HomeDir ;
+use strict;
+use warnings;
 
 $conf_file_name = "";
 $conf_dir       = '';
@@ -9,20 +11,34 @@ $model_to_test  = "Dpkg";
 eval { require AptPkg::Config; };
 $skip = ( $@ or not -r '/etc/debian_version' ) ? 1 : 0;
 
-my $add_home = sub {
-    my $r = shift ;
-    my $home = File::HomeDir->my_home; # Works also on Windows
-    push @$r, "$home/.dpkg-meta.yml" ;
+my %add_map = (
+    # Works also on Windows
+    home => File::HomeDir->my_home."/.dpkg-meta.yml",
+    log => '/debian/changelog',
+    rules => '/debian/rules',
+);
+
+# used to tweak list of debian files
+sub add {
+    # @to_add is a closure used in inner sub
+    my @to_add = @_;
+    return sub {
+        push @{$_[0]}, map { $add_map{$_} } @to_add;
+    };
 };
 
 @tests = (
     {   name => 't0',
-        check =>
-          { 'control source Build-Depends-Indep:3', 'libtest-pod-perl', },
-        file_check_sub => $add_home,
+        check => {
+            'control source Build-Depends-Indep:3' => 'libtest-pod-perl',
+        },
+        # add() returns a sub used to tweak file list
+        file_check_sub => add('home'),
         apply_fix => 1 ,
+        load_warnings => [ qr/dual life/ ],
     },
     {   name => 't1',
+        load_warnings => [ qr/compat/, qr/standard/, (qr/canonical/) x 2 ],
         apply_fix => 1 ,
         load => qq!patches:fix-spelling Description="more spelling details"!
             . qq( ! patches:glib-single-include Synopsis="mega patchchoid")
@@ -38,18 +54,20 @@ my $add_home = sub {
             'compat' => 8 , # test setup
             'control source Build-Depends:0' => 'debhelper (>= 8)' ,
         },
-        file_check_sub => $add_home,
+        file_check_sub => add('home'),
         # dump_warnings => [ (qr/deprecated/) x 3 ],
     },
 
     { 
         name => 'libversion' ,
+        load_warnings => [ qr/unnecessary/, (qr/dual life/) x2,
+                           qr/standard/, (qr/canonical/) x 2 ],
         apply_fix => 1 ,
         check => {
             'control source Build-Depends-Indep:0', => 'perl',
             'control source Build-Depends-Indep:1', => 'libdist-zilla-perl',
         },
-        file_check_sub => $add_home,
+        file_check_sub => add('home'),
     },
     {
         name => 'pan-copyright-from-scratch',
@@ -69,7 +87,7 @@ my $add_home = sub {
             "copyright License:GPL-2 text" => {value => undef, mode => 'custom'},
             "copyright License:GPL-2 text" => qr/GNU/,
         },
-        file_check_sub => $add_home,
+        file_check_sub => add(qw/home log/),
     },
     {
         # should that be pan-copyright-upgrate ? :-p
@@ -95,7 +113,7 @@ my $add_home = sub {
             "copyright License:GPL-2 text" => {value => undef, mode => 'custom'},
             "copyright License:GPL-2 text" => qr/GNU/,
         },
-        file_check_sub => $add_home,
+        file_check_sub => add(qw/home log/),
     },
     {
         # emulate removed and added file, updated copyright years
@@ -125,7 +143,7 @@ my $add_home = sub {
             "copyright License:GPL-2 text" => {value => undef, mode => 'custom'},
             "copyright License:GPL-2 text" => qr/GNU/,
         },
-        file_check_sub => $add_home,
+        file_check_sub => add(qw/home log/),
     },
 
     {
@@ -137,7 +155,7 @@ my $add_home = sub {
                 qr!Files: src/im_mad/remotes/az.d/\*!
             ]
         },
-        file_check_sub => sub { splice @{$_[0]}, 3,0,'/debian/rules'; $add_home->(@_); },
+        file_check_sub => add(qw/rules home log/),
         file_contents_unlike => {
             'debian/copyright' => [
                 qr!Files: src/im_mad/\*!,
@@ -158,7 +176,7 @@ my $add_home = sub {
                 qr!Files: src/im_mad/remotes/az.d/\*!
             ]
         },
-        file_check_sub => sub { splice @{$_[0]}, 3,0,'/debian/rules'; $add_home->(@_); },
+        file_check_sub => add(qw/rules home log/),
         # check that some entries were fixed by update
         check => {
             'copyright Files:"share/vendor/*" Copyright' => '2010-2012, VMware, Inc.',
@@ -182,7 +200,7 @@ my $add_home = sub {
             'copyright Files:"modules/Perl6-MIME-Base64/*" Copyright' => 'Adrian White',
             'copyright Files:"modules/DBIish/*" Comment' => qr/should be preserved by cme update/,
         },
-        file_check_sub => $add_home,
+        file_check_sub => add(qw/home log/),
     },
 
 );

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libconfig-model-dpkg-perl.git



More information about the Pkg-perl-cvs-commits mailing list