From 80597efafb9943e53b566d9d0f6ee7a54a667b12 Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov Date: Wed, 29 May 2019 03:38:30 +0000 Subject: Refactor dh_runit Introduce new function "create_empty_file" and reuse it for side-effect of creating parent directories in "template_from_data_directory" and to avoid manual open/close calls in main function. --- dh_runit | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/dh_runit b/dh_runit index 9147607..9a302dd 100755 --- a/dh_runit +++ b/dh_runit @@ -12,6 +12,13 @@ use File::Slurp qw(read_file write_file); use feature 'signatures'; no warnings 'experimental'; +# Create empty file {dest} and all required parent directories. +sub create_empty_file { + my ($dest) = @_; + make_path(dirname($dest)); + write_file($dest, '') || die $!; +} + # Render mustache template {name} from data directory into {dest}, # substituting {values} hash. If {perm} argument is provided, it is used # set permissions of {dest}. Intermediate directories to ${dest} are @@ -26,7 +33,7 @@ sub template_from_data_directory { my $compiler = Text::Hogan::Compiler->new; my $output = $compiler->compile($template)->render($values); - make_path(dirname($dest)); + create_empty_file($dest); write_file($dest, $output); if (defined $perm) { @@ -86,10 +93,7 @@ PKG: foreach my $pkg (@{$dh{DOPACKAGES}}) { my $name = $conf->{name} || basename($path); if ($conf->{noreplace}) { - make_path("${tmp}/usr/share/runit/meta/${name}/"); - open(my $fh, ">", "${tmp}/usr/share/runit/meta/${name}/noreplace") - || die $!; - close($fh); + create_empty_file("${tmp}/usr/share/runit/meta/${name}/noreplace"); } if ( -f $path) { -- cgit v1.2.3