Merge from knu-cvsweb 1.104.1.54.

2001-01-02 08:15  knu

	* cvsweb.cgi, cvsweb.conf, cvsweb.conf-freebsd, cvsweb.conf-netbsd,
	cvsweb.conf-openbsd, cvsweb.conf-ruby: Add $prkeyword variable to
	allow user to use (e.g.) `Bug' instead of `PR' as the bug report
	identifier.

	Add cvsweb.conf-{freebsd,openbsd,netbsd,ruby} files, and move
	rather FreeBSD specific configuration values to
	cvsweb.conf-freebsd.

	Add a %funcline_regexp entry for Ruby. (*.rb)

2001-01-02 06:24  knu

	* cvsweb.conf: Add `pending' to the list of PR categories.

2001-01-02 05:57  knu

	* cvsweb.cgi: Reduce 'Use of uninitialized value' warnings.

	Noticed by:	Wolfram Schneider <wosch@schneider.org>

2000-12-30 08:56  knu

	* cvsweb.cgi: Oops, I forgot "cvs export" always need a -r/-D.
	Specify -rHEAD when no tag/branch is defaulted.

2000-12-30 08:35  knu

	* cvsweb.cgi, cvsweb.conf: Add $preformat_in_markup variable and
	turn it off by default.  This option should be turned off when you
	have files in the repository that are in a multibyte encoding which
	uses HTML special characters ([<>&"]) as part of a multi-byte
	character. (such as iso-2022-jp, ShiftJIS, etc.)  Otherwise those
	files will get screwed up in markup.

	Fix for those systems which tar(1)'s are not GNU tar(1).

	- Add @@tar_options variable and make the --ignore-failed-read flag
	optional.

	- Use cvs export instead of cvs checkout, so the --exclude 'CVS'
	flag isn't needed.

	Noticed by:	Christian Weisgerber <naddy@mips.inka.de>

	Fix for those systems which cvs(1)'s don't support -R option.
	(Actually, only FreeBSD's and OpenBSD's cvs(1) support it)

	- Add @@cvs_options and make the -R flag optional.

2000-12-29 22:29  knu

	* cvsweb.cgi: Add charset to all text/* output, including diffs.

	Submitted by:	Alexey Zelkin <phantom@cris.net>

2000-12-29 18:12  knu

	* cvsweb.cgi: The use of `do "file"' is obsolete.  Use require
	instead.

2000-12-29 17:47  knu

	* cvsweb.cgi: Add the prototype declaration for hrefquote().
This commit is contained in:
Akinori MUSHA 2001-01-02 00:03:51 +00:00
parent 9a9d515e23
commit 4484d758cd
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=8619
5 changed files with 148 additions and 100 deletions

View file

@ -43,8 +43,8 @@
# SUCH DAMAGE. # SUCH DAMAGE.
# #
# $zId: cvsweb.cgi,v 1.104 2000/11/01 22:05:12 hnordstrom Exp $ # $zId: cvsweb.cgi,v 1.104 2000/11/01 22:05:12 hnordstrom Exp $
# $Id: cvsweb.cgi,v 1.62 2000-12-29 09:22:50 knu Exp $ # $Id: cvsweb.cgi,v 1.63 2001-01-02 00:03:51 knu Exp $
# $FreeBSD: www/en/cgi/cvsweb.cgi,v 1.61 2000/12/28 18:42:21 knu Exp $ # $FreeBSD: www/en/cgi/cvsweb.cgi,v 1.62 2000/12/29 09:22:50 knu Exp $
# #
### ###
@ -57,7 +57,7 @@ use vars qw (
%alltags @tabcolors %fileinfo %tags @branchnames %nameprinted %alltags @tabcolors %fileinfo %tags @branchnames %nameprinted
%symrev %revsym @allrevisions %date %author @revdisplayorder %symrev %revsym @allrevisions %date %author @revdisplayorder
@revisions %state %difflines %log %branchpoint @revorder @revisions %state %difflines %log %branchpoint @revorder
$prcgi @prcategories $prcategories $mancgi $prcgi @prcategories $re_prcategories $prkeyword $re_prkeyword $mancgi
$checkoutMagic $doCheckout $scriptname $scriptwhere $checkoutMagic $doCheckout $scriptname $scriptwhere
$where $pathinfo $Browser $nofilelinks $maycompress @stickyvars $where $pathinfo $Browser $nofilelinks $maycompress @stickyvars
%funcline_regexp $is_mod_perl %funcline_regexp $is_mod_perl
@ -76,11 +76,11 @@ use vars qw (
$difffontsize $inputTextSize $mime_types $allow_annotate $difffontsize $inputTextSize $mime_types $allow_annotate
$allow_markup $use_java_script $open_extern_window $allow_markup $use_java_script $open_extern_window
$extern_window_width $extern_window_height $edit_option_form $extern_window_width $extern_window_height $edit_option_form
$show_subdir_lastmod $show_log_in_markup $v $show_subdir_lastmod $show_log_in_markup $preformat_in_markup $v
$navigationHeaderColor $tableBorderColor $markupLogColor $navigationHeaderColor $tableBorderColor $markupLogColor
$tabstop $state $annTable $sel $curbranch @HideModules $tabstop $state $annTable $sel $curbranch @HideModules
$module $use_descriptions %descriptions @mytz $dwhere $moddate $module $use_descriptions %descriptions @mytz $dwhere $moddate
$use_moddate $has_zlib $gzip_open $allow_tar $use_moddate $has_zlib $gzip_open $allow_tar @tar_options @cvs_options
$LOG_FILESEPARATOR $LOG_REVSEPARATOR $LOG_FILESEPARATOR $LOG_REVSEPARATOR
); );
@ -216,7 +216,7 @@ $LOG_REVSEPARATOR = q/^-{28}$/;
##### End of configuration variables ##### ##### End of configuration variables #####
$cgi_style::hsty_base = 'http://www.FreeBSD.org'; $cgi_style::hsty_base = 'http://www.FreeBSD.org';
$_ = q$FreeBSD: www/en/cgi/cvsweb.cgi,v 1.61 2000/12/28 18:42:21 knu Exp $; $_ = q$FreeBSD: www/en/cgi/cvsweb.cgi,v 1.62 2000/12/29 09:22:50 knu Exp $;
@_ = split; @_ = split;
$cgi_style::hsty_date = "@_[3,4]"; $cgi_style::hsty_date = "@_[3,4]";
@ -440,10 +440,11 @@ if (-f $config_cvstree) {
} }
undef $config_cvstree; undef $config_cvstree;
$prcategories = '(?:' . join('|', @prcategories) . ')'; $re_prcategories = '(?:' . join('|', @prcategories) . ')' if @prcategories;
$re_prkeyword = quotemeta($prkeyword) if defined($prkeyword);
$prcgi .= '%s' if defined($prcgi) && $prcgi !~ /%s/; $prcgi .= '%s' if defined($prcgi) && $prcgi !~ /%s/;
$fullname = $cvsroot . '/' . $where; $fullname = "$cvsroot/$where";
$mimetype = &getMimeTypeFromSuffix ($fullname); $mimetype = &getMimeTypeFromSuffix ($fullname);
$defaultTextPlain = ($mimetype eq "text/plain"); $defaultTextPlain = ($mimetype eq "text/plain");
$defaultViewable = $allow_markup && viewable($mimetype); $defaultViewable = $allow_markup && viewable($mimetype);
@ -515,10 +516,10 @@ if ($input{tarball}) {
or $fatal = "500 Internal Error", "Unable to cd to temporary directory: $!" or $fatal = "500 Internal Error", "Unable to cd to temporary directory: $!"
&& last; && last;
my @params = (exists $input{only_with_tag} && length $input{only_with_tag}) my $tag = (exists $input{only_with_tag} && length $input{only_with_tag})
? ("-r", $input{only_with_tag}) : (); ? $input{only_with_tag} : "HEAD";
system "cvs", "-RlQd", $cvsroot, "co", @params, $where system "cvs", @cvs_options, "-Qd", $cvsroot, "export", "-r", $tag, $where
and $fatal = "500 Internal Error","cvs co failure: $!: $where" and $fatal = "500 Internal Error","cvs co failure: $!: $where"
&& last; && last;
@ -530,7 +531,7 @@ if ($input{tarball}) {
print "Content-type: application/x-gzip\r\n\r\n"; print "Content-type: application/x-gzip\r\n\r\n";
system "tar", "--ignore-failed-read", "--exclude", "CVS", "-zcf", "-", $basedir system "tar", "-zcf", "-", $basedir, @tar_options
and $fatal = "500 Internal Error","tar zc failure: $!: $basedir" and $fatal = "500 Internal Error","tar zc failure: $!: $basedir"
&& last; && last;
@ -1127,7 +1128,7 @@ sub htmlify($;$) {
if ($extra) { if ($extra) {
# get PR #'s as link: "PR#nnnn" "PR: nnnn, ..." "PR nnnn, ..." "bin/nnnn" # get PR #'s as link: "PR#nnnn" "PR: nnnn, ..." "PR nnnn, ..." "bin/nnnn"
if (defined($prcgi)) { if (defined($prcgi) && defined($re_prcategories) && defined($re_prkeyword)) {
my $prev; my $prev;
do { do {
@ -1135,7 +1136,7 @@ sub htmlify($;$) {
$_ = htmlify_sub { $_ = htmlify_sub {
s{ s{
(\bPR[:\#]?\s* (\b$re_prkeyword[:\#]?\s*
(?: (?:
\#? \#?
\d+[,\s]\s* \d+[,\s]\s*
@ -1150,7 +1151,7 @@ sub htmlify($;$) {
$_ = htmlify_sub { $_ = htmlify_sub {
s{ s{
(\b$prcategories/(\d+)\b) (\b$re_prcategories/(\d+)\b)
}{ }{
&link($1, sprintf($prcgi, $2)) &link($1, sprintf($prcgi, $2))
}egox; }egox;
@ -1161,7 +1162,7 @@ sub htmlify($;$) {
if (defined($mancgi)) { if (defined($mancgi)) {
$_ = htmlify_sub { $_ = htmlify_sub {
s{ s{
(\b([a-zA-Z][\w_.]+) (\b([a-zA-Z][\w.]+)
(?: (?:
\( ([0-9n]) \)\B \( ([0-9n]) \)\B
| |
@ -1169,7 +1170,7 @@ sub htmlify($;$) {
) )
) )
}{ }{
&link($1, sprintf($mancgi, $3 ne '' ? $3 : $4, $2)) &link($1, sprintf($mancgi, defined($3) ? $3 : $4, $2))
}egx; }egx;
} $_; } $_;
} }
@ -1385,7 +1386,7 @@ sub doAnnotate($$) {
# the public domain. # the public domain.
# we could abandon the use of rlog, rcsdiff and co using # we could abandon the use of rlog, rcsdiff and co using
# the cvsserver in a similiar way one day (..after rewrite) # the cvsserver in a similiar way one day (..after rewrite)
$pid = open2($reader, $writer, "cvs -Rl server") || fatal ("500 Internal Error", $pid = open2($reader, $writer, "cvs @cvs_options -l server") || fatal ("500 Internal Error",
"Fatal Error - unable to open cvs for annotation"); "Fatal Error - unable to open cvs for annotation");
# OK, first send the request to the server. A simplified example is: # OK, first send the request to the server. A simplified example is:
@ -1578,7 +1579,7 @@ sub doCheckout($$) {
# Safely for a child process to read from. # Safely for a child process to read from.
if (! open($fh, "-|")) { # child if (! open($fh, "-|")) { # child
open(STDERR, ">&STDOUT"); # Redirect stderr to stdout open(STDERR, ">&STDOUT"); # Redirect stderr to stdout
exec("cvs", "-Rld", $cvsroot, "co", "-p", $revopt, $where); exec("cvs", @cvs_options, "-d", $cvsroot, "co", "-p", $revopt, $where);
} }
if (eof($fh)) { if (eof($fh)) {
@ -1660,7 +1661,7 @@ sub cvswebMarkup($$$) {
elsif ($mimetype =~ m%^application/pdf%) { elsif ($mimetype =~ m%^application/pdf%) {
printf '<EMBED SRC="%s" WIDTH="100%"><BR>', hrefquote("$url$barequery"); printf '<EMBED SRC="%s" WIDTH="100%"><BR>', hrefquote("$url$barequery");
} }
else { elsif ($preformat_in_markup) {
print "<PRE>"; print "<PRE>";
# prefetch several lines # prefetch several lines
@ -1675,6 +1676,9 @@ sub cvswebMarkup($$$) {
} }
print "</PRE>"; print "</PRE>";
} }
else {
print "<PLAINTEXT>\n", <$filehandle>;
}
} }
sub viewable($) { sub viewable($) {
@ -1836,7 +1840,7 @@ sub getDirLogs($$@) {
return; return;
} }
if ($tag) { if (defined($tag)) {
#can't use -r<tag> as - is allowed in tagnames, but misinterpreated by rlog.. #can't use -r<tag> as - is allowed in tagnames, but misinterpreated by rlog..
if (! open($fh, "-|")) { if (! open($fh, "-|")) {
open(STDERR, '>/dev/null'); # rlog may complain; ignore. open(STDERR, '>/dev/null'); # rlog may complain; ignore.
@ -1854,14 +1858,13 @@ sub getDirLogs($$@) {
while (<$fh>) { while (<$fh>) {
if ($state eq "start") { if ($state eq "start") {
#Next file. Initialize file variables #Next file. Initialize file variables
$rev = undef; $rev = '';
$revwanted = undef; $revwanted = '';
$branch = undef; $branch = '';
$branchpoint = undef; $branchpoint = '';
$filename = undef; $filename = '';
$log = undef; $log = '';
$revision = undef; $revision = '';
$branch = undef;
%symrev = (); %symrev = ();
@filetags = (); @filetags = ();
#jump to head state #jump to head state
@ -1880,7 +1883,7 @@ again:
$branch = $1 $branch = $1
} elsif (/^symbolic names:/) { } elsif (/^symbolic names:/) {
$state = "tags"; $state = "tags";
($branch = $head) =~ s/\.\d+$// if (!defined($branch)); ($branch = $head) =~ s/\.\d+$// if $branch eq '';
$branch =~ s/(\d+)$/0.$1/; $branch =~ s/(\d+)$/0.$1/;
$symrev{MAIN} = $branch; $symrev{MAIN} = $branch;
$symrev{HEAD} = $branch; $symrev{HEAD} = $branch;
@ -1889,9 +1892,9 @@ again:
push (@filetags, "MAIN", "HEAD"); push (@filetags, "MAIN", "HEAD");
} elsif (/$LOG_REVSEPARATOR/o) { } elsif (/$LOG_REVSEPARATOR/o) {
$state = "log"; $state = "log";
$rev = undef; $rev = '';
$date = undef; $date = '';
$log = ""; $log = '';
# Try to reconstruct the relative filename if RCS spits out a full path # Try to reconstruct the relative filename if RCS spits out a full path
$filename =~ s%^\Q$DirName\E/%%; $filename =~ s%^\Q$DirName\E/%%;
} }
@ -1909,7 +1912,7 @@ again:
$revwanted = $symrev{$tag eq "HEAD" ? "MAIN" : $tag}; $revwanted = $symrev{$tag eq "HEAD" ? "MAIN" : $tag};
($branch = $revwanted) =~ s/\b0\.//; ($branch = $revwanted) =~ s/\b0\.//;
($branchpoint = $branch) =~ s/\.?\d+$//; ($branchpoint = $branch) =~ s/\.?\d+$//;
$revwanted = undef if ($revwanted ne $branch); $revwanted = '' if ($revwanted ne $branch);
} elsif ($tag ne "HEAD") { } elsif ($tag ne "HEAD") {
print "Tag not found, skip this file" if ($verbose); print "Tag not found, skip this file" if ($verbose);
$state = "skip"; $state = "skip";
@ -1926,19 +1929,19 @@ again:
if ($state eq "log") { if ($state eq "log") {
if (/$LOG_REVSEPARATOR/o || /$LOG_FILESEPARATOR/o) { if (/$LOG_REVSEPARATOR/o || /$LOG_FILESEPARATOR/o) {
# End of a log entry. # End of a log entry.
my $revbranch; my $revbranch = $rev;
($revbranch = $rev) =~ s/\.\d+$//; $revbranch =~ s/\.\d+$//;
print "$filename $rev Wanted: $revwanted ", print "$filename $rev Wanted: $revwanted ",
"Revbranch: $revbranch Branch: $branch ", "Revbranch: $revbranch Branch: $branch ",
"Branchpoint: $branchpoint\n" if ($verbose); "Branchpoint: $branchpoint\n" if ($verbose);
if (!defined($revwanted) && defined($branch) if ($revwanted eq '' && $branch ne ''
&& $branch eq $revbranch || !defined($tag)) { && $branch eq $revbranch || !defined($tag)) {
print "File revision $rev found for branch $branch\n" print "File revision $rev found for branch $branch\n"
if ($verbose); if ($verbose);
$revwanted = $rev; $revwanted = $rev;
} }
if (defined($revwanted) ? $rev eq $revwanted : if ($revwanted ne '' ? $rev eq $revwanted :
defined($branchpoint) ? $rev eq $branchpoint : $branchpoint ne '' ? $rev eq $branchpoint :
0 && ($rev eq $head)) { # Don't think head is needed here.. 0 && ($rev eq $head)) { # Don't think head is needed here..
print "File info $rev found for $filename\n" if ($verbose); print "File info $rev found for $filename\n" if ($verbose);
my @finfo = ($rev,$date,$log,$author,$filename); my @finfo = ($rev,$date,$log,$author,$filename);
@ -1947,11 +1950,11 @@ again:
$fileinfo{$name} = [ @finfo ]; $fileinfo{$name} = [ @finfo ];
$state = "done" if ($rev eq $revwanted); $state = "done" if ($rev eq $revwanted);
} }
$rev = undef; $rev = '';
$date = undef; $date = '';
$log = ""; $log = '';
} }
elsif (!defined($date) && m|^date:\s+(\d+)/(\d+)/(\d+)\s+(\d+):(\d+):(\d+);|) { elsif ($date eq '' && m|^date:\s+(\d+)/(\d+)/(\d+)\s+(\d+):(\d+):(\d+);|) {
my $yr = $1; my $yr = $1;
# damn 2-digit year routines :-) # damn 2-digit year routines :-)
if ($yr > 100) { if ($yr > 100) {
@ -1963,7 +1966,7 @@ again:
$log = ''; $log = '';
next; next;
} }
elsif (!defined($rev) && m/^revision (.*)$/) { elsif ($rev eq '' && /^revision (.*)$/) {
$rev = $1; $rev = $1;
next; next;
} }
@ -2371,18 +2374,18 @@ sub printLog($;$) {
if (/^\d+\.\d+\.\d+/ && !/^1\.1\.1\.\d+$/) { if (/^\d+\.\d+\.\d+/ && !/^1\.1\.1\.\d+$/) {
my ($i,$nextmain); my ($i,$nextmain);
for ($i = 0; $i < $#revorder && $revorder[$i] ne $_; $i++){} for ($i = 0; $i < $#revorder && $revorder[$i] ne $_; $i++){}
my (@tmp2) = split(/\./, $_); my @tmp2 = split(/\./, $_);
for ($nextmain = ""; $i > 0; $i--) { for ($nextmain = ""; $i > 0; $i--) {
my ($next) = $revorder[$i-1]; my $next = $revorder[$i-1];
my (@tmp1) = split(/\./, $next); my @tmp1 = split(/\./, $next);
if ($#tmp1 < $#tmp2) { if (@tmp1 < @tmp2) {
$nextmain = $next; $nextmain = $next;
last; last;
} }
# Only the highest version on a branch should have # Only the highest version on a branch should have
# a diff for the "next main". # a diff for the "next main".
last if (join(".",@tmp1[0..$#tmp1-1]) last if (@tmp1 - 1 <= @tmp2 &&
eq join(".",@tmp2[0..$#tmp1-1])); join(".",@tmp1[0..$#tmp1-1]) eq join(".",@tmp2[0..$#tmp1-1]));
} }
if (!defined($diffrev{$nextmain})) { if (!defined($diffrev{$nextmain})) {
$diffrev{$nextmain} = 1; $diffrev{$nextmain} = 1;
@ -2732,7 +2735,7 @@ sub navigateHeader($$$$$) {
print qq`<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">`; print qq`<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">`;
print "<HTML>\n<HEAD>\n"; print "<HTML>\n<HEAD>\n";
print qq`<META name="robots" content="nofollow">\n`; print qq`<META name="robots" content="nofollow">\n`;
print '<!-- CVSweb $zRevision: 1.104 $ $Revision: 1.62 $ -->'; print '<!-- CVSweb $zRevision: 1.104 $ $Revision: 1.63 $ -->';
print "\n<TITLE>$path$filename - $title - $rev</TITLE></HEAD>\n"; print "\n<TITLE>$path$filename - $title - $rev</TITLE></HEAD>\n";
print "$body_tag_for_src\n"; print "$body_tag_for_src\n";
print "<table width=\"100%\" border=0 cellspacing=0 cellpadding=1 bgcolor=\"$navigationHeaderColor\">"; print "<table width=\"100%\" border=0 cellspacing=0 cellpadding=1 bgcolor=\"$navigationHeaderColor\">";
@ -3066,6 +3069,10 @@ sub hrefquote($) {
sub http_header(;$) { sub http_header(;$) {
my $content_type = shift || "text/html"; my $content_type = shift || "text/html";
$content_type .= "; charset=$charset"
if $content_type =~ m,^text/, && defined($charset) && $charset;
if (defined($moddate)) { if (defined($moddate)) {
if ($is_mod_perl) { if ($is_mod_perl) {
Apache->request->header_out("Last-Modified" => scalar gmtime($moddate) . " GMT"); Apache->request->header_out("Last-Modified" => scalar gmtime($moddate) . " GMT");
@ -3122,7 +3129,7 @@ sub http_header(;$) {
sub html_header($) { sub html_header($) {
my ($title) = @_; my ($title) = @_;
my $version = '$zRevision: 1.104 $ $Revision: 1.62 $'; #' my $version = '$zRevision: 1.104 $ $Revision: 1.63 $'; #'
http_header(defined($charset) ? "text/html; charset=$charset" : "text/html"); http_header(defined($charset) ? "text/html; charset=$charset" : "text/html");
(my $header = &cgi_style::html_header) =~ s/^.*\n\n//; # remove HTTP response header (my $header = &cgi_style::html_header) =~ s/^.*\n\n//; # remove HTTP response header

View file

@ -7,8 +7,8 @@
# 2000 A. MUSHA <knu@FreeBSD.org> # 2000 A. MUSHA <knu@FreeBSD.org>
# based on work by Bill Fenner <fenner@FreeBSD.org> # based on work by Bill Fenner <fenner@FreeBSD.org>
# $zId: cvsweb.conf,v 1.27 2000/07/27 10:16:39 kcoar Exp $ # $zId: cvsweb.conf,v 1.27 2000/07/27 10:16:39 kcoar Exp $
# $Id: cvsweb.conf,v 1.10 2000-12-28 18:42:21 knu Exp $ # $Id: cvsweb.conf,v 1.11 2001-01-02 00:03:51 knu Exp $
# $FreeBSD: www/en/cgi/cvsweb.conf,v 1.9 2000/12/07 15:21:06 knu Exp $ # $FreeBSD: www/en/cgi/cvsweb.conf,v 1.10 2000/12/28 18:42:21 knu Exp $
# #
### ###
@ -24,7 +24,7 @@
# to the CVS repository so :pserver:someone@xyz.com:/data/cvsroot # to the CVS repository so :pserver:someone@xyz.com:/data/cvsroot
# won't work! # won't work!
# 'symbolic_name' 'path_to_the_actual_repository' # 'symbolic_name' => 'path_to_the_actual_repository'
%CVSROOT = ( %CVSROOT = (
'freebsd' => '/home/ncvs', 'freebsd' => '/home/ncvs',
'learn' => '/c/learncvs', 'learn' => '/c/learncvs',
@ -33,6 +33,7 @@
'44bsdlite' => '/e/4.4BSD-Lite/4.4BSD-Lite-CVS', '44bsdlite' => '/e/4.4BSD-Lite/4.4BSD-Lite-CVS',
); );
# 'symbolic_name' => 'name_to_display'
%CVSROOTdescr = ( %CVSROOTdescr = (
'freebsd' => 'FreeBSD', 'freebsd' => 'FreeBSD',
'learn' => 'Learn', 'learn' => 'Learn',
@ -57,6 +58,34 @@ $cvstreedefault = 'freebsd';
'Japan' => 'http://www.jp.FreeBSD.org/cgi/cvsweb.cgi', 'Japan' => 'http://www.jp.FreeBSD.org/cgi/cvsweb.cgi',
); );
##############
# Bug tracking system options
# ("PR" means Problem Report, as in GNATS)
##############
#@prcategories = qw(
# advocacy
# alpha
# bin
# conf
# docs
# gnu
# i386
# kern
# misc
# pending
# ports
# sparc
# );
#
#$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s";
#
#$prkeyword = "PR";
##############
# Manual gateway
##############
$mancgi = "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+5.0-current&format=html";
############## ##############
# Defaults for UserSettings # Defaults for UserSettings
############## ##############
@ -184,12 +213,14 @@ EOT
# These default icons are coming with apache. # These default icons are coming with apache.
# If these icons are too large, check out the miniicons in the # If these icons are too large, check out the miniicons in the
# icons/ directory; they have a width/height of 16/16 # icons/ directory; they have a width/height of 16/16
# format: TEXT ICON-URL width height my $iconsdir = "/icons";
# format: TEXT ICON-URL width height
%ICONS = ( %ICONS = (
back => [ ("[BACK]", "/icons/back.gif", 20, 22) ], back => [ ("[BACK]", "$iconsdir/back.gif", 20, 22) ],
dir => [ ("[DIR]", "/icons/dir.gif", 20, 22) ], dir => [ ("[DIR]", "$iconsdir/dir.gif", 20, 22) ],
file => [ ("[TXT]", "/icons/text.gif", 20, 22) ], file => [ ("[TXT]", "$iconsdir/text.gif", 20, 22) ],
); );
undef $iconsdir;
# the length to which the last logentry should # the length to which the last logentry should
# be truncated when shown in the directory view # be truncated when shown in the directory view
@ -266,7 +297,8 @@ $showfunc = 1;
# For each pair of regexps, files that match the first regexp will be diff'ed # For each pair of regexps, files that match the first regexp will be diff'ed
# with an '-F' option with the second regexp. # with an '-F' option with the second regexp.
%funcline_regexp = ( %funcline_regexp = (
"\\.(4th|fr)\$" => "\\(^\\| \\|\t\\): ", "\\.(4th|fr)\$" => "\\(^\\|[ \t]\\): ",
"\\.rb\$" => "^[\t ]*\\(class\\|module\\|def\\) ",
); );
# ignore whitespaces for human readable diffs # ignore whitespaces for human readable diffs
@ -320,8 +352,13 @@ $mime_types = '/usr/local/etc/apache/mime.types';
); );
# Charset for HTML output # Charset for HTML output
#$charset = "x-euc-jp"; $charset = '';
# e.g.
#$charset = $where =~ m,/ru[/_-], ? 'koi8-r'
# : $where =~ m,/zh[/_-], ? 'big5'
# : $where =~ m,/ja[/_-], ? 'x-euc-jp'
# : $where =~ m,/ko[/_-], ? 'x-euc-kr'
# : 'iso-8859-1';
############## ##############
# Misc # Misc
@ -389,6 +426,13 @@ $markupLogColor = "#ffffff";
# Show CVS log when viewing file contents # Show CVS log when viewing file contents
$show_log_in_markup = 1; $show_log_in_markup = 1;
# Preformat when viewing file contents. This should be turned off
# when you have files in the repository that are in a multibyte
# encoding which uses HTML special characters ([<>&"]) as part of a
# multi-byte character. (such as iso-2022-jp, ShiftJIS, etc.)
# Otherwise those files will get screwed up in markup.
$preformat_in_markup = '';
# Tabstop used to expand tabs in colored diffs. If undefined then # Tabstop used to expand tabs in colored diffs. If undefined then
# tabs are always expanded to 8 spaces. # tabs are always expanded to 8 spaces.
$tabstop = 8; $tabstop = 8;
@ -412,5 +456,16 @@ $use_moddate = 1;
# CVSROOT/val-tags, due to a bug in cvs. # CVSROOT/val-tags, due to a bug in cvs.
$allow_tar = ''; $allow_tar = '';
# Options to pass to tar(1).
@tar_options = qw(--ignore-failed-read);
# e.g. @tar_options = qw(--ignore-failed-read);
# GNU tar has some useful options against unexpected errors.
# Options to pass to cvs(1).
@cvs_options = qw(-R -l);
# e.g. @cvs_options = qw(-R -l);
# -R (read only access mode) is implemented only in FreeBSD's and
# OpenBSD's cvs(1).
1; 1;
#EOF #EOF

View file

@ -1,14 +1,13 @@
# -*-perl-*-
#
# Set up for FreeBSD repo options. # Set up for FreeBSD repo options.
# #
# $FreeBSD: www/en/cgi/cvsweb.conf-freebsd,v 1.3 2000/12/29 09:24:40 knu Exp $ # $Id: cvsweb.conf-freebsd,v 1.5 2001-01-02 00:03:51 knu Exp $
# $FreeBSD: www/en/cgi/cvsweb.conf-freebsd,v 1.4 2001/01/01 21:22:48 knu Exp $
$ENV{'RCSLOCALID'} = 'FreeBSD=CVSHeader'; $ENV{'RCSLOCALID'} = 'FreeBSD=CVSHeader';
$ENV{'RCSINCEXC'} = 'iFreeBSD'; $ENV{'RCSINCEXC'} = 'iFreeBSD';
$ENV{'CVSROOT'} = $cvsroot;
##############
# PR categoties
##############
@prcategories = qw( @prcategories = qw(
advocacy advocacy
alpha alpha
@ -24,14 +23,10 @@ $ENV{'CVSROOT'} = $cvsroot;
sparc sparc
); );
##############
# query-pr.cgi
##############
$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s"; $prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s";
############## $prkeyword = "PR";
# man.cgi
##############
$mancgi = "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+5.0-current&format=html"; $mancgi = "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+5.0-current&format=html";
1; 1;

View file

@ -1,13 +1,13 @@
# -*-perl-*-
#
# Set up for NetBSD repo options. # Set up for NetBSD repo options.
# #
# $FreeBSD: www/en/cgi/cvsweb.conf-netbsd,v 1.4 2000/12/29 09:24:40 knu Exp $ # $Id: cvsweb.conf-netbsd,v 1.6 2001-01-02 00:03:51 knu Exp $
# $FreeBSD: www/en/cgi/cvsweb.conf-netbsd,v 1.5 2001/01/01 21:22:48 knu Exp $
$ENV{'RCSLOCALID'} = 'NetBSD'; $ENV{'RCSLOCALID'} = 'NetBSD';
$ENV{'RCSINCEXC'} = 'iNetBSD'; $ENV{'RCSINCEXC'} = 'iNetBSD';
##############
# PR categoties
##############
@prcategories = qw( @prcategories = qw(
admin admin
bin bin
@ -57,15 +57,10 @@ $ENV{'RCSINCEXC'} = 'iNetBSD';
y2k y2k
); );
##############
# query-pr.cgi
##############
$prcgi = "http://www.NetBSD.org/cgi-bin/query-pr-single.pl?number=%s"; $prcgi = "http://www.NetBSD.org/cgi-bin/query-pr-single.pl?number=%s";
############## $prkeyword = "PR";
# man.cgi
##############
# $mancgi = "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=NetBSD+1.4&format=html";
$mancgi = "http://www.flame.org/cgi-bin/uncgi/hman?sect=%s&page=%s&arch=i386"; $mancgi = "http://www.flame.org/cgi-bin/uncgi/hman?sect=%s&page=%s&arch=i386";
1; 1;

View file

@ -1,13 +1,13 @@
# Set up for OpenBSD repo options. # -*-perl-*-
# #
# $FreeBSD: www/en/cgi/cvsweb.conf-openbsd,v 1.2 2000/09/03 18:46:25 knu Exp $ # Set up for OpenBSD repo options.
#
# $Id: cvsweb.conf-openbsd,v 1.4 2001-01-02 00:03:51 knu Exp $
# $FreeBSD: www/en/cgi/cvsweb.conf-openbsd,v 1.3 2000/12/29 09:24:40 knu Exp $
$ENV{'RCSLOCALID'} = 'OpenBSD'; $ENV{'RCSLOCALID'} = 'OpenBSD';
$ENV{'RCSINCEXC'} = 'iOpenBSD'; $ENV{'RCSINCEXC'} = 'iOpenBSD';
##############
# PR categoties
##############
@prcategories = qw( @prcategories = qw(
alpha alpha
arm arm
@ -27,14 +27,10 @@ $ENV{'RCSINCEXC'} = 'iOpenBSD';
vax vax
); );
##############
# query-pr.cgi
##############
$prcgi = "http://cvs.openbsd.org/cgi-bin/wwwgnats.pl/full?pr=%s"; $prcgi = "http://cvs.openbsd.org/cgi-bin/wwwgnats.pl/full?pr=%s";
############## $prkeyword = "PR";
# man.cgi
############## $mancgi = "http://www.openbsd.org/cgi-bin/man.cgi?apropos=0&sektion=%s&query=%s&manpath=OpenBSD+Current&arch=i386&format=html";
$mancgi = "http://www.OpenBSD.org/cgi-bin/man.cgi?apropos=0&sektion=%s&query=%s&manpath=OpenBSD+Current&arch=i386&format=html";
1; 1;