3 # Build a new sendmail.cf, after first confirming the changes
5 require './sendmail-lib.pl';
6 require './features-lib.pl';
7 $features_access || &error($text{'features_ecannot'});
9 $cmd = "cd $config{'sendmail_features'}/m4 ; m4 $config{'sendmail_features'}/m4/cf.m4 $config{'sendmail_mc'}";
12 # Replace sendmail.cf with new version
13 &lock_file($config{'sendmail_cf'});
14 system("$cmd 2>/dev/null >$config{'sendmail_cf'} </dev/null");
15 &unlock_file($config{'sendmail_cf'});
21 # Just show user what would be done
22 &ui_print_header(undef, $text{'build_title'}, "");
24 if (!&has_command("m4")) {
25 print &text('build_em4', "<tt>m4</tt>"),"<p>\n";
26 &ui_print_footer("list_features.cgi", $text{'features_return'});
31 $out = `$cmd 2>&1 >$temp`;
33 print &text('build_ebuild', "<pre>$out</pre>"),"<p>\n";
34 &ui_print_footer("list_features.cgi", $text{'features_return'});
37 if (&has_command("diff") && -r $config{'sendmail_cf'}) {
38 $diff = `diff $config{'sendmail_cf'} $temp 2>/dev/null`;
40 print "$text{'build_nodiff'}<p>\n";
41 &ui_print_footer("list_features.cgi", $text{'features_return'});
46 print "<center><form action=build.cgi>\n";
47 print "<input type=hidden name=confirm value=1>\n";
48 print &text('build_rusure', "<tt>$config{'sendmail_cf'}</tt>",
49 "<tt>$config{'sendmail_mc'}</tt>"),"<p>\n";
50 print $text{'build_rusure2'},"<p>\n";
51 print "<input type=submit value='$text{'build_ok'}'>\n";
52 print "</form></center>\n";
55 print "<b>$text{'build_diff'}</b><p>\n";
56 print "<table border><tr $cb><td><pre>",
57 $diff,"</pre></td></tr></table><p>\n";
61 &ui_print_footer("list_features.cgi", $text{'features_return'});