This is an automated email from the git hooks/post-receive script. dod pushed a commit to annotated tag debian/2.105 in repository libconfig-model-dpkg-perl.
commit 8fbe5065c20d0ad303f99562b0f5d586e75292ae Author: Dominique Dumont <[email protected]> Date: Fri Jan 19 20:50:20 2018 +0100 Backend::Dpkg can cope with root arg without / Config::Model used to provide $args{root} for tests with a trailing slash. All Backends are being reworked to use Path::Tiny (and be simplified). WIth this commit, this backend can cope with old root arg (a string with trailing /) and new root arg (a Path::Tiny object that stringifies to a string *without* trailing slash) --- lib/Config/Model/Backend/Dpkg.pm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/Config/Model/Backend/Dpkg.pm b/lib/Config/Model/Backend/Dpkg.pm index 708f768..e19ed09 100644 --- a/lib/Config/Model/Backend/Dpkg.pm +++ b/lib/Config/Model/Backend/Dpkg.pm @@ -29,8 +29,20 @@ around read_hash => sub ( $orig, $self, $obj, $elt, $file, $check, $args ) { $self->$method( $obj, $elt, $file, $check, $args ); }; +# TODO: use a role provided by Config::Model +sub cfg_path { + my $self = shift; + my %args = @_; + my $cfg_dir = $args{config_dir}; + my $dir + = $args{root} ? path($args{root})->child($cfg_dir) + : ref($cfg_dir) ? $cfg_dir + : path( $cfg_dir); + return $dir; +} + sub read_install_files ( $self, $hash, $elt, $file, $check, $args ) { - my $dir = path($args->{root} . $args->{config_dir}); + my $dir = $self->cfg_path(%$args); return unless $dir->exists; @@ -44,7 +56,7 @@ sub read_install_files ( $self, $hash, $elt, $file, $check, $args ) { } sub read_patch_series ( $self, $hash, $elt, $file, $check, $args ) { - my $patch_dir = $args->{root} . $args->{config_dir} . "patches"; + my $patch_dir = $self->cfg_path(%$args)->child("patches"); $logger->info("Checking patches directory ($patch_dir)"); my $series_files = "$patch_dir/series"; @@ -110,7 +122,9 @@ sub write { # check => yes|no|skip my $check = $args{check} || 'yes'; - my $dir = $args{root} . $args{config_dir}; + + my $dir = $self->cfg_path(%args); + mkpath( $dir, { mode => 0755 } ) unless -d $dir; my $node = $args{object}; $logger->debug( "Dpkg write called on node ", $node->name ); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libconfig-model-dpkg-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits
