[libconfig-model-dpkg-perl] 02/04: Store unexpected patch line in Description
dod at debian.org
dod at debian.org
Fri Dec 2 18:07:53 UTC 2016
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 232d75af075f152d48808ec5d4e6bf4e902ac0c3
Author: Dominique Dumont <dod at debian.org>
Date: Fri Dec 2 18:39:42 2016 +0100
Store unexpected patch line in Description
---
lib/Config/Model/Backend/Dpkg/Patch.pm | 12 ++++++------
lib/Config/Model/Backend/DpkgSyntax.pm | 14 +++++++++-----
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/lib/Config/Model/Backend/Dpkg/Patch.pm b/lib/Config/Model/Backend/Dpkg/Patch.pm
index 28d6f4c..e7eb243 100644
--- a/lib/Config/Model/Backend/Dpkg/Patch.pm
+++ b/lib/Config/Model/Backend/Dpkg/Patch.pm
@@ -126,12 +126,12 @@ sub read {
my $k = 0;
- if ($description_holder) {
- my @desc_lines = map { my $pre = ( $k + 1 == $_ ? '' : "\n"); $k = $_; $pre.$stuff{$_} }
- sort { $a <=> $b ;} keys %stuff ;
- my $desc = ($description_text || '') .join( "\n", @desc_lines );
- $node->fetch_element($description_holder)->store( value => $desc, check => $check );
- }
+ my @desc_lines = map { my $pre = ( $k + 1 == $_ ? '' : "\n"); $k = $_; $pre.$stuff{$_} }
+ sort { $a <=> $b ;} keys %stuff ;
+ my $desc = ($description_text || '') .join( "\n", @desc_lines );
+ $description_holder //= 'Description';
+ $node->fetch_element($description_holder)->store( value => $desc, check => $check );
+
$node->fetch_element('diff')->store(join('',@$diff));
return 1;
diff --git a/lib/Config/Model/Backend/DpkgSyntax.pm b/lib/Config/Model/Backend/DpkgSyntax.pm
index 83628f0..acfe7a8 100644
--- a/lib/Config/Model/Backend/DpkgSyntax.pm
+++ b/lib/Config/Model/Backend/DpkgSyntax.pm
@@ -96,13 +96,14 @@ sub parse_dpkg_lines {
}
elsif ( $l =~ /^\s+\.$/) { # line with a single dot
$logger->trace("dot line: adding blank line to field $key");
- _store_line($store_ref,$file_path,"",$check,$line_nb) ;
+ _store_line($store_ref,$file_path,"",$check,$line_nb, $handle_garbage) ;
}
elsif ( $l =~ s/^\s//) { # non empty line
$logger->trace("text line: adding '$l' to field $key");
- _store_line($store_ref,$file_path,$l , $check,$line_nb);
+ _store_line($store_ref,$file_path,$l , $check,$line_nb, $handle_garbage);
}
elsif ($handle_garbage) {
+ $logger->trace("storing garbage in line $line_nb: $l");
$handle_garbage->($l, $line_nb) ;
}
else {
@@ -141,12 +142,15 @@ sub parse_dpkg_lines {
return wantarray ? @res : \@res ;
}
-sub _store_line {
- my ($store_ref,$file_path,$line,$check,$line_nb) = @_ ;
-
+sub _store_line ($store_ref,$file_path,$line,$check,$line_nb, $handle_garbage) {
+
if (defined $store_ref) {
$$store_ref .= "\n$line" ;
}
+ elsif ($handle_garbage) {
+ $logger->trace("storing garbage in line $line_nb: $line");
+ $handle_garbage->($line, $line_nb) ;
+ }
else {
my $msg = "Did not find a keyword before: '$line''";
Config::Model::Exception::Syntax -> throw (
--
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