- if ($config{rcs}) {
- if ($config{rcs} eq 'git') {
- $config{git_wrapper}=$config{repository}."/hooks/post-update";
- }
- elsif ($config{rcs} eq 'svn') {
- $config{svn_wrapper}=$config{repository}."/hooks/post-commit";
+ IkiWiki::Setup::dump($config{dumpsetup});
+
+ # Build the wiki, but w/o wrappers, so it's not live yet.
+ mkpath($config{destdir}) || die "mkdir $config{destdir}: $!";
+ if (system("ikiwiki", "--refresh", "--setup", $config{dumpsetup}) != 0) {
+ die "ikiwiki --refresh --setup $config{dumpsetup} failed";
+ }
+
+ # Create admin user(s).
+ foreach my $admin (@{$config{adminuser}}) {
+ next if $admin=~/^http\?:\/\//; # openid
+
+ # Prompt for password w/o echo.
+ my ($password, $password2);
+ system('stty -echo 2>/dev/null');
+ local $|=1;
+ print "\n\nCreating wiki admin $admin ...\n";
+ for (;;) {
+ print "Choose a password: ";
+ chomp($password=<STDIN>);
+ print "Confirm password: ";
+ chomp($password2=<STDIN>);
+
+ last if $password2 eq $password;
+
+ print "Password mismatch.\n\n";