]> Sergey Matveev's repositories - public-inbox.git/commitdiff
Gcf2: Create cache folder if missing
authorRicardo Ribalda <ricardo@ribalda.com>
Thu, 8 Sep 2022 19:57:31 +0000 (21:57 +0200)
committerEric Wong <e@80x24.org>
Thu, 8 Sep 2022 21:28:28 +0000 (21:28 +0000)
The code expects that the folder is already present, this patch creates
it if missing.

Without this path the test fails with:

open(/home/debci/.cache/public-inbox/inline-c/.public-inbox.lock): No such file or directory at /usr/share/perl5/PublicInbox/Gcf2.pm line 20

Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
lib/PublicInbox/Gcf2.pm

index 41ee0715c8560feaf47854488b19fccdb76da13b..02cd0de2b72a40749949028272ab7c41de863ad8 100644 (file)
@@ -10,12 +10,14 @@ use PublicInbox::Spawn qw(which popen_rd); # may set PERL_INLINE_DIRECTORY
 use Fcntl qw(LOCK_EX SEEK_SET);
 use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC);
 use IO::Handle; # autoflush
+use File::Path qw(make_path);
 BEGIN {
        my (%CFG, $c_src);
        # PublicInbox::Spawn will set PERL_INLINE_DIRECTORY
        # to ~/.cache/public-inbox/inline-c if it exists
        my $inline_dir = $ENV{PERL_INLINE_DIRECTORY} //
                die 'PERL_INLINE_DIRECTORY not defined';
+       make_path($inline_dir);
        my $f = "$inline_dir/.public-inbox.lock";
        open my $fh, '+>', $f or die "open($f): $!";