X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debian%2Fdebbugsconfig;h=e98decc7255d402110ff6e19daa4af8bc302a57f;hb=ee73b48c52cedb53381b6c0291693fa1e2a66d2c;hp=4165878c1736a3881f0d871507cb91808ee53072;hpb=419f5f847ec38346013c85ae7f26eb00ebe2d86a;p=debbugs.git diff --git a/debian/debbugsconfig b/debian/debbugsconfig index 4165878..e98decc 100755 --- a/debian/debbugsconfig +++ b/debian/debbugsconfig @@ -1,59 +1,139 @@ #!/usr/bin/perl +# debbugsconfig: copies debbugs configuration files from templates, and +# creates documentation in HTML and text +# Copyright (C) 1999 Darren Benham +# Copyright (C) 2000 Josip Rodin +# Licensed under the version 2 of the GNU General Public License as +# published by the Free Software Foundation -@file_flag = stat( '/etc/debbugs/config'); -if ( !@file_flag ) -{ - system( '/bin/cp', '/usr/share/doc/debbugs/examples/config', '/etc/debbugs/config' ); - print( "copying config file" ); -} else { print( "skipping config file" ); } - -@file_flag = stat( '/etc/debbugs/text'); -if ( !@file_flag ) -{ - system( '/bin/cp', '/usr/share/doc/debbugs/examples/text', '/etc/debbugs/text' ); - print( "copying text file" ); -} else { print( "skipping text file" ); } - -@file_flag = stat( '/var/lib/debbugs/spool/nextnumber'); -if ( !@file_flag ) -{ - system( '/bin/cp', '/usr/share/doc/debbugs/examples/nextnumber', '/var/lib/debbugs/spool/nextnumber' ); - print( "copying next file" ); -} else { print( "skipping next file" ); } - -require('/etc/debbugs/config'); -require('/etc/debbugs/text'); - -chop($dtime=`date -u '+%H:%M:%S GMT %a %d %h'`); +use POSIX qw(strftime); +use File::Path; + +if (@ARGV) { + print STDOUT <$gWebDir/$name" ) ) { - print ORIG $file; - close( ORIG ); - print "wrote $gWebDir/$name\n"; - } else { - print "unable to write $gWebDir/$name\n"; - } +print "Creating files in $gWebDir:\n"; +require('html/index.html.in'); +&writefiles ('index', '', $gIndexHtml ); +require('html/Access.html.in'); +&writefiles ('Access', 'bug-log-access', $gAccessHtml ); +require('html/Developer.html.in'); +&writefiles ('Developer', 'bug-maint-info', $gDeveloperHtml ); +require('html/Reporting.html.in'); +&writefiles ('Reporting', 'bug-reporting', $gReportingHtml ); +require('html/server-control.html.in'); +&writefiles ('server-control', 'bug-maint-mailcontrol', $gControlHtml ); +require('html/server-refcard.html.in'); +&writefiles ('server-refcard', 'bug-mailserver-refcard', $gRefcardHtml ); +require('html/server-request.html.in'); +&writefiles ('server-request', 'bug-log-mailserver', $gRequestHtml ); +print "\n"; + +exit(0); + +# -------------------------------------------------------------------------- # + +sub template { + my ($name, $destdir) = @_; + if (! -f "$destdir/$name") { + system("cp /usr/share/doc/debbugs/examples/$name $destdir/$name") == 0 || + die "$!"; + print "created $destdir/$name from template.\n"; + } +} + +sub touch { + my $name = shift; + unless (-f $name) { + open TOUCH, ">> $name" or die "open $name: $!"; + close TOUCH; + print "created empty $name.\n"; + } +} + +sub spooldirectory { + my $name = shift; + unless (-d "$gSpoolDir/$name") { + mkpath("$gSpoolDir/$name"); + print "$name "; + } +} + +sub writefiles { + local ($html, $text, $name) = @_; +# first HTML + unlink("$gWebDir/$html.html"); + open(DEST, ">$gWebDir/$html.html") || die "\n$gWebDir/$html.html: $!"; + print DEST $name; + close(DEST); + print "$html.html "; +# now text + return if ($text eq ""); # for index.html +# This should be done with pipes instead of a temporary files, but lynx +# doesn't read HTML from stdin :/ + open(DEST, ">$gDocDir/$text.html") || die "\n$gDocDir/$text.html: $!"; + $name =~ s,\nOther pages:\n.*?
,,si; + print DEST $name; + close(DEST); + unlink("$gDocDir/$text.txt"); + $ENV{'HOME'} = "/tmp"; + $ENV{'TERM'} = "linux"; + if (-x "/usr/bin/links") { + system ("rm -rf /tmp/.links/") == 0 || die; + system ("links -dump $gDocDir/$text.html > $gDocDir/$text.txt") == 0 || + die "\nunable to write $gDocDir/$text.txt\n"; + system ("rm -rf /tmp/.links/"); + } elsif (-x "/usr/bin/lynx") { + system ("lynx -nolist -dump -cfg=/dev/null $gDocDir/$text.html > $gDocDir/$text.txt") == 0 || + die "\nunable to write $gDocDir/$text.txt\n"; + } else { + print "unable to write text versions of the HTMLs!"; + print "if you need them, install links or lynx and run debbugsconfig again"; + return; + } + unlink("$gDocDir/$text.html") || die "\ncan't remove temporary file $gDocDir/$text.html: $!"; + print "$text.txt "; }