use PublicInbox::Config;
use PublicInbox::InboxWritable;
use PublicInbox::Import;
-use File::Temp qw/tempfile/;
+use File::Temp;
use PublicInbox::Lock;
use File::Basename qw/dirname/;
use File::Path qw/mkpath/;
PublicInbox::Lock::lock_acquire($lock_obj);
# git-config will operate on this (and rename on success):
-my ($fh, $pi_config_tmp) = tempfile('pi-init-XXXXXXXX', DIR => $dir);
-my $cfg_tmp = UnlinkMe->new($pi_config_tmp);
+my $fh = File::Temp->new(TEMPLATE => 'pi-init-XXXXXXXX', DIR => $dir);
# Now, we grab another lock to use git-config(1) locking, so it won't
# wait on the lock, unlike some of our internal flock()-based locks.
}
}
}
-close $fh or die "failed to close $pi_config_tmp: $!\n";
+my $pi_config_tmp = $fh->filename;
+close($fh) or die "failed to close $pi_config_tmp: $!\n";
my $pfx = "publicinbox.$name";
my @x = (qw/git config/, "--file=$pi_config_tmp");
rename $pi_config_tmp, $pi_config or
die "failed to rename `$pi_config_tmp' to `$pi_config': $!\n";
-delete $cfg_tmp->{file};
$auto_unlink->DESTROY;
package UnlinkMe;