]> Sergey Matveev's repositories - public-inbox.git/blobdiff - script/public-inbox-init
Merge remote-tracking branch 'origin/master' into lorelei
[public-inbox.git] / script / public-inbox-init
index 037e8e56409bfd229aad25371f0c3461708b0e54..7ac7783007a15d4cf98e51a545db503829909d0a 100755 (executable)
@@ -5,9 +5,8 @@ use strict;
 use v5.10.1;
 use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/;
 use Fcntl qw(:DEFAULT);
-my $usage = 'public-inbox-init NAME INBOX_DIR HTTP_URL ADDRESS [ADDRESS..]';
 my $help = <<EOF; # the following should fit w/o scrolling in 80x24 term:
-usage: $usage
+usage: public-inbox-init NAME INBOX_DIR HTTP_URL ADDRESS [ADDRESS..]
 
   Initialize a public-inbox
 
@@ -44,10 +43,10 @@ my %opts = (
        'j|jobs=i' => \$jobs,
        'ng|newsgroup=s' => \$ng,
        'skip-docdata' => \$skip_docdata,
-       'help|?' => \$show_help,
+       'help|h' => \$show_help,
 );
 my $usage_cb = sub {
-       print STDERR "Usage: $usage\n";
+       print STDERR $help;
        exit 1;
 };
 GetOptions(%opts) or $usage_cb->();
@@ -101,11 +100,7 @@ if (-e $pi_config) {
        defined $perm or die "(f)stat failed on $pi_config: $!\n";
        chmod($perm & 07777, $fh) or
                die "(f)chmod failed on future $pi_config: $!\n";
-       my $old;
-       {
-               local $/;
-               $old = <$oh>;
-       }
+       defined(my $old = do { local $/; <$oh> }) or die "read $pi_config: $!\n";
        print $fh $old or die "failed to write: $!\n";
        close $oh or die "failed to close $pi_config: $!\n";
 
@@ -139,9 +134,9 @@ close($fh) or die "failed to close $pi_config_tmp: $!\n";
 my $pfx = "publicinbox.$name";
 my @x = (qw/git config/, "--file=$pi_config_tmp");
 
-require Cwd;
-$inboxdir = Cwd::abs_path($inboxdir);
-die "`\\n' not allowed in `$inboxdir'\n" if $inboxdir =~ /\n/s;
+$inboxdir = PublicInbox::Config::rel2abs_collapsed($inboxdir);
+die "`\\n' not allowed in `$inboxdir'\n" if index($inboxdir, "\n") >= 0;
+
 if (-f "$inboxdir/inbox.lock") {
        if (!defined $version) {
                $version = 2;