[libconfig-model-dpkg-perl] 10/11: CMB::Dpkg::Patch: accept patch file or patch name for edition
dod at debian.org
dod at debian.org
Mon May 5 19:27:36 UTC 2014
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 e0757b72a922ef6327f0162b77cd438b73163570
Author: Dominique Dumont <dod at debian.org>
Date: Mon May 5 20:27:23 2014 +0200
CMB::Dpkg::Patch: accept patch file or patch name for edition
---
lib/Config/Model/Backend/Dpkg/Patch.pm | 19 ++++++++++---------
t/model_tests.d/dpkg-patch-test-conf.pl | 2 +-
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/lib/Config/Model/Backend/Dpkg/Patch.pm b/lib/Config/Model/Backend/Dpkg/Patch.pm
index d677ebd..ded39bc 100644
--- a/lib/Config/Model/Backend/Dpkg/Patch.pm
+++ b/lib/Config/Model/Backend/Dpkg/Patch.pm
@@ -15,8 +15,6 @@ use IO::File;
my $logger = get_logger("Backend::Dpkg::Patch");
-my $patch_name_for_test = 'some-patch';
-
sub suffix { return ''; }
sub skip_open { 1;}
@@ -39,11 +37,16 @@ sub read {
my $patch_dir = $args{root} . $args{config_dir};
my $check = $args{check};
my $node = $args{object};
+ my $file_path = $args{file_path};
+
+ my $patch_name = $node->index_value;
- # the default value is used for tests
- my $patch_name = $node->index_value || $patch_name_for_test;
+ my $patch_file
+ = ($file_path and -e $file_path) ? $file_path
+ : -e "$patch_dir$file_path" ? "$patch_dir$file_path"
+ : "$patch_dir$patch_name" ;
+ $self->{patch_file} = $patch_file;
- my $patch_file = "$patch_dir$patch_name";
$logger->info("Parsing patch $patch_file");
my $patch_io = IO::File->new($patch_file)
|| Config::Model::Exception::Syntax->throw(
@@ -127,14 +130,12 @@ sub write {
# io_handle is not defined as no file is specified in model
- my $patch_dir = $args{root} . $args{config_dir};
my $check = $args{check};
my $node = $args{object};
- my $patch_name = $node->index_value || $patch_name_for_test;
-
- my $patch_file = "$patch_dir/$patch_name";
+ my $patch_file = $self->{patch_file} ;
$logger->info("Writing patch $patch_file");
+
my $io = IO::File->new($patch_file,'w')
|| Config::Model::Exception::Syntax->throw(
message => "cannot write patch $patch_file" );
diff --git a/t/model_tests.d/dpkg-patch-test-conf.pl b/t/model_tests.d/dpkg-patch-test-conf.pl
index 006ac61..b5fe512 100644
--- a/t/model_tests.d/dpkg-patch-test-conf.pl
+++ b/t/model_tests.d/dpkg-patch-test-conf.pl
@@ -2,7 +2,6 @@ use Data::Dumper;
use IO::File;
use File::HomeDir ;
-# keep in sync with the hardcoded value in Patch backend
$conf_file_name = "some-patch";
$conf_dir = 'debian/patches';
@@ -15,6 +14,7 @@ $skip = ( $@ or not -r '/etc/debian_version' ) ? 1 : 0;
{
name => 'libperl5i' ,
dump_warnings => [qr/synopsis/],
+ config_file => $conf_dir.'/'.$conf_file_name,
# apply_fix => 1 ,
check => {
'Bug:0' => 'https://github.com/schwern/perl5i/issues/218',
--
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