]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/IMAPTracker.pm
lei import: avoid IMAPTracker, use LeiMailSync more
[public-inbox.git] / lib / PublicInbox / IMAPTracker.pm
index 6d4fb22748e90e399f7370f603e1d3712e73f78c..5eb33cf752f438ee1f352f1442c58bf9ab00baba 100644 (file)
@@ -65,7 +65,7 @@ sub new {
        my ($class, $url) = @_;
 
        # original name for compatibility with old setups:
-       my $dbname = PublicInbox::Config->config_dir() . "/imap.sqlite3";
+       my $dbname = PublicInbox::Config->config_dir() . '/imap.sqlite3';
 
        # use the new XDG-compliant name for new setups:
        if (!-f $dbname) {
@@ -76,7 +76,10 @@ sub new {
        if (!-f $dbname) {
                require File::Path;
                require File::Basename;
+               require PublicInbox::Spawn;
                File::Path::mkpath(File::Basename::dirname($dbname));
+               open my $fh, '+>>', $dbname or die "failed to open $dbname: $!";
+               PublicInbox::Spawn::nodatacow_fd(fileno($fh));
        }
        my $self = bless { lock_path => "$dbname.lock", url => $url }, $class;
        $self->lock_acquire;