[SCM] Debian native package for Config::Model::Dpkg branch, master, updated. debian/2.035-10-g90516db

Dominique Dumont dod at debian.org
Sat Apr 27 15:02:32 UTC 2013


The following commit has been merged in the master branch:
commit c3697e5099d24ae6f281cf9a219f8096db337c20
Author: Dominique Dumont <dod at debian.org>
Date:   Sat Apr 27 16:42:47 2013 +0200

    Dpkg Control backend: avoid double warning

diff --git a/lib/Config/Model/Backend/Dpkg/Control.pm b/lib/Config/Model/Backend/Dpkg/Control.pm
index b1c6479..77a83c5 100644
--- a/lib/Config/Model/Backend/Dpkg/Control.pm
+++ b/lib/Config/Model/Backend/Dpkg/Control.pm
@@ -118,11 +118,14 @@ sub store_section_in_tree {
           . $node->location
           . ")" );
 
+    # control parameters are case insensitive
+    my $found = $node->find_element( $key, case => 'any' ) ;
+
     my ($v,$l,$a, at c) = @$v_ref;
 
     $logger->debug("$key value: $v");
-    my $type = $node->element_type($key);
-    my $elt_obj = $node->fetch_element( name => $key, check => $check );
+    my $type = $node->element_type($found);
+    my $elt_obj = $node->fetch_element( name => $found, check => $check );
 
     $elt_obj->annotation(join("\n", at c)) if @c ;
     $elt_obj->notify_change(note => $a, really => 1) if $a ;
@@ -136,14 +139,21 @@ sub store_section_in_tree {
         $logger->debug( "list $key store set '" . join( "','", @v ) . "'" );
         $elt_obj->store_set( \@v, check => $check );
     }
-    elsif ( my $found = $node->find_element( $key, case => 'any' ) ) {
+    elsif ($found eq 'Description' and $elt_obj) {
+        my ($synopsis,$desc) = split /\n/, $v, 2 ;
+        $logger->debug("storing Synopsis  value: $synopsis");
+        $node->fetch_element('Synopsis')->store( value => $synopsis, check => $check );
+        $logger->debug("storing Description  value: $desc");
+        $elt_obj->store( value => $desc, check => $check );
+    }
+    elsif ($elt_obj ) {
         my @elt = ($found);
         my @v = ( $found eq 'Description' ) ? ( split /\n/, $v, 2 ) : ($v);
         unshift @elt, 'Synopsis' if $found eq 'Description';
         foreach (@elt) {
             my $sub_v = shift @v;
             $logger->debug("storing $_  value: $sub_v");
-            $node->fetch_element($_)->store( value => $sub_v, check => $check );
+            $elt_obj->store( value => $sub_v, check => $check );
         }
     }
     else {
diff --git a/t/model_tests.d/debian-dpkg-control-test-conf.pl b/t/model_tests.d/debian-dpkg-control-test-conf.pl
index 3bd014f..5a4668f 100644
--- a/t/model_tests.d/debian-dpkg-control-test-conf.pl
+++ b/t/model_tests.d/debian-dpkg-control-test-conf.pl
@@ -82,21 +82,21 @@ providing the following file:
 
         # t4
         check => { 'source X-Python-Version' => ">= 2.3, << 2.5" },
-        load_warnings => [ (qr/deprecated/) x 2 ],
+        load_warnings => [ (qr/deprecated/) x 1 ],
         dump_warnings => [ qr/empty/ ],
     },
     {
 
         # t5
         check => { 'source X-Python-Version' => ">= 2.3, << 2.6" },
-        load_warnings => [ (qr/deprecated/) x 2],
+        load_warnings => [ (qr/deprecated/) x 1],
         dump_warnings => [ qr/empty/ ],
     },
     {
 
         # t6
         check => { 'source X-Python-Version' => ">= 2.3" },
-        load_warnings => [ (qr/deprecated/) x 2 ],
+        load_warnings => [ (qr/deprecated/) x 1 ],
         dump_warnings => [ qr/empty/ ],
     },
     {

-- 
Debian native package for Config::Model::Dpkg



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