+sub setup () { # {{{
+ my $setup=possibly_foolish_untaint($config{setup});
+ delete $config{setup};
+ open (IN, $setup) || error("read $setup: $!\n");
+ local $/=undef;
+ my $code=<IN>;
+ ($code)=$code=~/(.*)/s;
+ close IN;
+
+ my (%setup);
+ eval $code;
+ error($@) if $@;
+
+ gen_wrapper(%config, %setup, %{$setup{cgiwrapper}}) if $setup{cgiwrapper};
+ gen_wrapper(%config, %setup, %{$setup{svnwrapper}}) if $setup{svnwrapper};
+
+ print "$setup{wikiname} setup complete, now forcing a rebuild\n";
+ foreach my $c (keys %setup) {
+ $config{$c}=possibly_foolish_untaint($setup{$c})
+ if defined $setup{$c} && ! ref $setup{$c};
+ }
+ $config{rebuild}=1;
+ refresh();
+ saveindex();
+ exit;
+} #}}}
+