own CVSweb so there is not really any big reason for us to have CVSweb for them as well. [1] Remove the "learn" CVS repository. It hasn't changed in 9 years... [1] Remove the German and San Marino CVSweb mirrors from the list since neither one has a hostname which resolves. Suggested by: wosch [1]
		
			
				
	
	
		
			658 lines
		
	
	
	
		
			22 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			658 lines
		
	
	
	
		
			22 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
#                                                                  -*- perl -*-
 | 
						|
# Configuration of cvsweb.cgi, a web interface to CVS repositories.
 | 
						|
#
 | 
						|
# (c) 1998-1999 H. Zeller    <zeller@think.de>
 | 
						|
#     1999      H. Nordstrom <hno@hem.passagen.se>
 | 
						|
#     2000-2002 A. MUSHA     <knu@FreeBSD.org>
 | 
						|
#     2002-2005 V. Skyttä    <scop@FreeBSD.org>
 | 
						|
#          based on work by Bill Fenner  <fenner@FreeBSD.org>
 | 
						|
#
 | 
						|
# $FreeBSD: www/en/cgi/cvsweb.conf,v 1.41 2007/03/18 07:52:58 simon Exp $
 | 
						|
# $Id: cvsweb.conf,v 1.42 2007-03-18 17:12:45 simon Exp $
 | 
						|
# $Idaemons: /home/cvs/cvsweb/cvsweb.conf,v 1.27 2001/08/01 09:48:39 knu Exp $
 | 
						|
#
 | 
						|
 | 
						|
#
 | 
						|
# Unless otherwise noted, all boolean parameters here default to off
 | 
						|
# when no value for them has been explicitly set.
 | 
						|
#
 | 
						|
 | 
						|
# Set the path for the following commands:
 | 
						|
#   cvs, rlog, rcsdiff
 | 
						|
#   gzip (if you enable $allow_compress)
 | 
						|
#   (g)tar, zip (if you enable $allow_tar)
 | 
						|
#   cvsgraph (if you enable $allow_graph)
 | 
						|
#   enscript (if you enable $allow_enscript)
 | 
						|
#
 | 
						|
@command_path = qw(/bin /usr/bin /usr/local/bin);
 | 
						|
 | 
						|
# Search the above directories for each command (prefer gtar over tar).
 | 
						|
#
 | 
						|
for (qw(cvs rlog rcsdiff gzip gtar zip cvsgraph enscript)) {
 | 
						|
	$CMD{$_} = search_path($_);
 | 
						|
}
 | 
						|
$CMD{tar}   = delete($CMD{gtar}) if $CMD{gtar};
 | 
						|
$CMD{tar} ||= search_path('tar');
 | 
						|
 | 
						|
# CVS roots
 | 
						|
#
 | 
						|
# CVSweb can handle several CVS repositories at once.  Enter short (internal)
 | 
						|
# symbolic repository names, their names in the UI and the actual locations
 | 
						|
# here.  The repositories will be listed in the order they're specified here.
 | 
						|
#
 | 
						|
# Obviously, CVSweb will need read access to these repository dirs.  If you
 | 
						|
# receive an error that no valid CVS roots were found, double-check the file
 | 
						|
# permissions and any other attributes your system may have for the repository
 | 
						|
# directories, such as SELinux file contexts.
 | 
						|
#
 | 
						|
# CVSweb will also load per-cvsroot configuration files if they exist.
 | 
						|
# The symbolic_name (see below) of the CVS root will be concatenated into the
 | 
						|
# name of the main (this) configuration file along with a hyphen, and that
 | 
						|
# file will be loaded for that particular CVS root.  For examples, see
 | 
						|
# cvsweb.conf-* in the CVSweb distribution.
 | 
						|
#
 | 
						|
# Note that only local repositories are currently supported.  Things like
 | 
						|
# :pserver:someone@xyz.com:/data/cvsroot won't work.
 | 
						|
#
 | 
						|
# 'symbolic_name' => ['Name to display',  '/path/to/cvsroot']
 | 
						|
#
 | 
						|
@CVSrepositories = (
 | 
						|
	'freebsd'   => ['FreeBSD',          '/usr/local/www/cvsroot/FreeBSD'],
 | 
						|
);
 | 
						|
 | 
						|
# The default CVS root.  Note that @CVSrepositories is list, not a hash,
 | 
						|
# so you'll want to use 2 * 0-based-index-number here; or set this directly
 | 
						|
# to the default's symbolic name. Unless specified, the first valid one in
 | 
						|
# @CVSrepositories is used as the default.
 | 
						|
#
 | 
						|
# For example:
 | 
						|
#
 | 
						|
#$cvstreedefault = $CVSrepositories[2 * 0];
 | 
						|
#$cvstreedefault = 'local';
 | 
						|
 | 
						|
# Mirror sites.  The keys will be used as link texts, and the values are
 | 
						|
# URLs pointing to the corresponding mirrors.
 | 
						|
#
 | 
						|
%MIRRORS = (
 | 
						|
	    'Japan'           => 'http://www.jp.FreeBSD.org/cgi/cvsweb.cgi',
 | 
						|
	    'Portugal'        => 'http://cvsup.pt.FreeBSD.org/cgi-bin/cvsweb/cvsweb.cgi',
 | 
						|
	    'Spain'           => 'http://www.es.FreeBSD.org/cgi/cvsweb.cgi',
 | 
						|
	    'Turkey'          => 'http://cvsweb.tr.FreeBSD.org/',
 | 
						|
	    'Ukraine'         => 'http://www.FreeBSD.org.ua/cgi/cvsweb.cgi?cvsroot=freebsd',
 | 
						|
	    'USA/California'  => 'http://cvsweb.FreeBSD.org/',
 | 
						|
);
 | 
						|
 | 
						|
# Bug tracking system linking options ("PR" means Problem Report, as in GNATS)
 | 
						|
# This will be done only for views for which $allow_*_extra below is true.
 | 
						|
#
 | 
						|
#@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 linking.  This will be done only for views for which
 | 
						|
# $allow_*_extra below is true.
 | 
						|
#
 | 
						|
$mancgi =
 | 
						|
    "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+7.0-current&format=html";
 | 
						|
 | 
						|
# Defaults for user definable options.
 | 
						|
#
 | 
						|
%DEFAULTVALUE = (
 | 
						|
 | 
						|
    # sortby: File sort order
 | 
						|
    #   file   Sort by filename
 | 
						|
    #   rev    Sort by revision number
 | 
						|
    #   date   Sort by commit date
 | 
						|
    #   author Sort by author
 | 
						|
    #   log    Sort by log message
 | 
						|
    "sortby" => "file",
 | 
						|
 | 
						|
    # ignorecase: Ignore case in sorts (filenames, authors, log messages)
 | 
						|
    #   0      Honor case
 | 
						|
    #   1      Ignore case
 | 
						|
    "ignorecase" => "0",
 | 
						|
 | 
						|
    # hideattic: Hide or show files in Attic
 | 
						|
    #   1      Hide files in Attic
 | 
						|
    #   0      Show files in Attic
 | 
						|
    "hideattic" => "1",
 | 
						|
 | 
						|
    # logsort: Sort order for CVS logs
 | 
						|
    #   date   Sort revisions by date
 | 
						|
    #   rev    Sort revision by revision number
 | 
						|
    #   cvs    Don't sort them. Same order as CVS/RCS shows them.
 | 
						|
    "logsort" => "date",
 | 
						|
 | 
						|
    # f: Default diff format
 | 
						|
    #   h      Human readable
 | 
						|
    #   u      Unified diff
 | 
						|
    #   c      Context diff
 | 
						|
    #   s      Side by side
 | 
						|
    #   uc     Unified diff, enscript colored (falls back to "u" w/o enscript)
 | 
						|
    #   cc     Context diff, enscript colored (falls back to "c" w/o enscript)
 | 
						|
    #   sc     Side by side, enscript colored (falls back to "s" w/o enscript)
 | 
						|
    "f" => "u",
 | 
						|
 | 
						|
    # hidecvsroot: Don't show the CVSROOT directory.  Note that this is
 | 
						|
    # just the default for a user settable option (like others in this
 | 
						|
    # %DEFAULTVALUE hash); it won't really prevent access to CVSROOT.
 | 
						|
    # See @ForbiddenFiles for that.
 | 
						|
    #   1      Do not include the top-level CVSROOT directory in dir listings
 | 
						|
    #   0      Treat the top-level CVSROOT directory just like all other dirs
 | 
						|
    "hidecvsroot" => "0",
 | 
						|
 | 
						|
    # hidenonreadable: Don't show files and directories that cannot be read
 | 
						|
    # in directory listings.
 | 
						|
    #   1      Hide non-readable entries
 | 
						|
    #   0      Show non-readable entries
 | 
						|
    "hidenonreadable" => "1",
 | 
						|
 | 
						|
    # ln: Show line numbers in HTMLized views
 | 
						|
    #   1      Show line numbers
 | 
						|
    #   0      Don't show line numbers
 | 
						|
    "ln" => "0",
 | 
						|
);
 | 
						|
 | 
						|
#
 | 
						|
# Layout options (see also the included CSS file)
 | 
						|
#
 | 
						|
 | 
						|
# Wanna have a logo on the page ?
 | 
						|
#
 | 
						|
#$logo = '<p><img src="/icons/apache_pb.gif" alt="Powered by Apache" /></p>';
 | 
						|
 | 
						|
# The title of the Page on startup.  This will be put inside <h1> and <title>
 | 
						|
# tags, and HTML escaped.
 | 
						|
#
 | 
						|
$defaulttitle = "CVS Repository";
 | 
						|
 | 
						|
# The address is shown on the footer.  This will be put inside a <address> tag.
 | 
						|
#
 | 
						|
$address = '<span style="font-size: smaller">FreeBSD-CVSweb <<a href="mailto:freebsd-cvsweb@FreeBSD.org">freebsd-cvsweb@FreeBSD.org</a>></span>';
 | 
						|
 | 
						|
$long_intro = <<EOT;
 | 
						|
<p>
 | 
						|
This is a WWW interface for the !!CVSROOTdescr!! CVS repository.
 | 
						|
You can browse the file hierarchy by following directory links (which
 | 
						|
have slashes after them, e.g. <code>src/</code>).
 | 
						|
If you follow a link to a file, you will see its revision history.
 | 
						|
Following a link labeled with a revision number will display that
 | 
						|
revision of the file.  In the revision history view, there is a link
 | 
						|
near each revision to display diffs between that revision and the
 | 
						|
previous one, and a form at the bottom of the page that allows you to
 | 
						|
display diffs between arbitrary revisions.
 | 
						|
</p><p>
 | 
						|
This script has been written by Bill Fenner and improved by Henner Zeller,
 | 
						|
Henrik Nordström, and Ken Coar, then Akinori MUSHA brought it
 | 
						|
back to FreeBSD community and made further improvements; it is covered
 | 
						|
by <a
 | 
						|
href="http://www.opensource.org/licenses/bsd-license.html">The BSD License</a>.
 | 
						|
</p><p>
 | 
						|
If you would like to use this CGI script on your own web server and
 | 
						|
CVS tree, download the latest version from <<a
 | 
						|
href="http://www.FreeBSD.org/projects/cvsweb.html">http://www.FreeBSD.org/projects/cvsweb.html</a>>.
 | 
						|
</p><p>
 | 
						|
Feel free to send any patches, suggestions and comments to the FreeBSD-CVSweb
 | 
						|
mailing list at
 | 
						|
<<a
 | 
						|
href="mailto:freebsd-cvsweb\@FreeBSD.org">freebsd-cvsweb\@FreeBSD.org</a>>.
 | 
						|
</p>
 | 
						|
EOT
 | 
						|
 | 
						|
$short_instruction = <<EOT;
 | 
						|
<p>
 | 
						|
Click on a directory to enter that directory. Click on a file to display
 | 
						|
its revision history and to get a chance to display diffs between revisions.
 | 
						|
</p>
 | 
						|
EOT
 | 
						|
 | 
						|
# Icons for the web UI.  If ICON-URL is empty, the TEXT representation is
 | 
						|
# used.  If you do not want to have a tool tip for an icon, set TEXT empty.
 | 
						|
# The width and height of the icon allow the browser to correctly display
 | 
						|
# the table while still loading the icons.  If these icons are too large,
 | 
						|
# check out the "mini" versions in the icons/ directory; they have a
 | 
						|
# width/height of 16/16.
 | 
						|
#
 | 
						|
my $iconsdir = '/gifs';
 | 
						|
 | 
						|
# format:          TEXT       ICON-URL                  width height
 | 
						|
%ICONS = (
 | 
						|
     back    => [('[BACK]',   "$iconsdir/back.gif",      20,   22)],
 | 
						|
     dir     => [('[DIR]',    "$iconsdir/dir.gif",       20,   22)],
 | 
						|
     file    => [('[TXT]',    "$iconsdir/text.gif",      20,   22)],
 | 
						|
     binfile => [('[BIN]',    "$iconsdir/binary.gif",    20,   22)],
 | 
						|
     graph   => [('[GRAPH]',  "$iconsdir/minigraph.png", 16,   16)],
 | 
						|
);
 | 
						|
undef $iconsdir;
 | 
						|
 | 
						|
# An URL where to find the CSS.
 | 
						|
#
 | 
						|
$cssurl = '/layout/css/cvsweb.css';
 | 
						|
 | 
						|
# The length to which the last log entry should be truncated when shown
 | 
						|
# in the directory view.
 | 
						|
#
 | 
						|
$shortLogLen = 80;
 | 
						|
 | 
						|
# Show author of last change?
 | 
						|
#
 | 
						|
$show_author = 1;
 | 
						|
 | 
						|
# Cell padding for directory table.
 | 
						|
#
 | 
						|
$tablepadding = 2;
 | 
						|
 | 
						|
# Regular expressions for files and directories which should be hidden.
 | 
						|
# Each regexp is compared against a path relative to a CVS root, after
 | 
						|
# stripping the trailing ",v" if present.  Matching files and directories
 | 
						|
# are not displayed.
 | 
						|
#
 | 
						|
@ForbiddenFiles = (
 | 
						|
    qr|^CVSROOT/+passwd$|o, # CVSROOT/passwd should not be 'cvs add'ed though.
 | 
						|
    qr|/\.cvspass$|o,       # Ditto.  Just in case.
 | 
						|
    qr|^root|o,
 | 
						|
);
 | 
						|
 | 
						|
# Use CVSROOT/descriptions for describing the directories/modules?
 | 
						|
# See INSTALL, section 9.
 | 
						|
#
 | 
						|
$use_descriptions = 0;
 | 
						|
 | 
						|
#
 | 
						|
# Human readable diff.
 | 
						|
#
 | 
						|
# (c) 1998 H. Zeller <zeller@think.de>
 | 
						|
#
 | 
						|
# Generates two columns of color encoded diff; much like xdiff or GNU Emacs'
 | 
						|
# ediff-mode.
 | 
						|
#
 | 
						|
# The diff-stuff is a piece of code I once made for cvs2html which is under
 | 
						|
# GPL, see http://www.sslug.dk/cvs2html
 | 
						|
# (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk>
 | 
						|
 | 
						|
# Make lines breakable so that the columns do not exceed the width of the
 | 
						|
# browser?
 | 
						|
#
 | 
						|
$hr_breakable = 1;
 | 
						|
 | 
						|
# Print function names in diffs (unified and context only).
 | 
						|
# See the -p option in the diff(1) man page.
 | 
						|
#
 | 
						|
$showfunc = 1;
 | 
						|
 | 
						|
# For each pair of regexps, files that match the first regexp will be diff'ed
 | 
						|
# with an -F option using the second regexp (unified and context only).
 | 
						|
# See the -F option in the diff(1) man page.
 | 
						|
#
 | 
						|
%funcline_regexp = (
 | 
						|
    qr/\.(?:4th|fr)$/o => "\\(^\\|[ \t]\\): ",
 | 
						|
    qr/\.rb$/o         => "^[\t ]*\\(class\\|module\\|def\\) ",
 | 
						|
);
 | 
						|
 | 
						|
# Ignore whitespace in human readable diffs? ('-w' option to diff)
 | 
						|
#
 | 
						|
$hr_ignwhite = 0;
 | 
						|
 | 
						|
# Ignore diffs which are caused by keyword substitution, $Id and friends?
 | 
						|
# ('-kk' option to rcsdiff)
 | 
						|
#
 | 
						|
$hr_ignkeysubst = 1;
 | 
						|
 | 
						|
# The width of the textinput of the "request diff" form.
 | 
						|
#
 | 
						|
$inputTextSize = 12;
 | 
						|
 | 
						|
# Custom per MIME type diff tools, used for comparing binary files such as
 | 
						|
# spreadsheets, images etc.  Each key is a MIME type in lowercase.
 | 
						|
# Each value is an array ref of available diff tools for that type, each of
 | 
						|
# which is a hash ref with values (mandatory where default not listed):
 | 
						|
#   name: the name to show in the UI for this diff type
 | 
						|
#   cmd:  full path to executable
 | 
						|
#   args: arguments as an array ref (not string!, defaults to no arguments)
 | 
						|
#   type: output MIME type (defaults to text/plain)
 | 
						|
#
 | 
						|
%DIFF_COMMANDS = (
 | 
						|
  #'text/xml' => [
 | 
						|
  #  { name => 'XMLdiff',
 | 
						|
  #    cmd  => $CMD{xmldiff},
 | 
						|
  #  },
 | 
						|
  #  { name => 'XMLdiff (XUpdate)',
 | 
						|
  #    cmd  => $CMD{xmldiff},
 | 
						|
  #    args => [ qw(-x) ],
 | 
						|
  #    type => 'text/xml',
 | 
						|
  #  },
 | 
						|
  #],
 | 
						|
);
 | 
						|
 | 
						|
#
 | 
						|
# Mime types
 | 
						|
#
 | 
						|
 | 
						|
# The MIME type lookup works like this:
 | 
						|
# 1) Look up from %MTYPES below with the file name extension (suffix).
 | 
						|
# 2) If not found, use the MIME::Types(3) module if it's available.
 | 
						|
# 3) If not found, lookup from the $mime_types file (see below).
 | 
						|
# 4) If not found, try %MTYPES{'*'}.
 | 
						|
# 5) If not found, use 'application/octet-stream' if the file's keyword
 | 
						|
#    substitution mode is b (ie. the file was checked in as binary to CVS),
 | 
						|
#    'text/plain' otherwise.
 | 
						|
 | 
						|
# Quick MIME type lookup; maps filename extensions to MIME types.
 | 
						|
# Add common mappings here for fast lookup.  You can also use this
 | 
						|
# to override MIME::Types(3) or the $mime_types file (see below).
 | 
						|
#
 | 
						|
%MTYPES = (
 | 
						|
	"html"  => "text/html",
 | 
						|
	"shtml" => "text/html",
 | 
						|
	"gif"   => "image/gif",
 | 
						|
	"jpeg"  => "image/jpeg",
 | 
						|
	"jpg"   => "image/jpeg",
 | 
						|
	"png"   => "image/png",
 | 
						|
	"xpm"   => "image/xpm",
 | 
						|
#	"*"     => "text/plain",
 | 
						|
);
 | 
						|
 | 
						|
# The traditional mime.types file, eg. the one from Apache is fine.
 | 
						|
# See above where this gets used.
 | 
						|
#
 | 
						|
$mime_types = '/usr/local/etc/apache/mime.types';
 | 
						|
 | 
						|
# Charset appended to the Content-Type HTTP header for text/* MIME types.
 | 
						|
# Note that the web server may default to some charset which may take effect
 | 
						|
# if you leave this parameter empty or unset.
 | 
						|
# For Apache, see also the AddDefaultCharset directive.
 | 
						|
#
 | 
						|
$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';
 | 
						|
 | 
						|
# Output filter
 | 
						|
#
 | 
						|
$output_filter = '';
 | 
						|
 | 
						|
# e.g.
 | 
						|
## unify/convert Japanese code into EUC-JP
 | 
						|
#$output_filter= '/usr/local/bin/nkf -e';
 | 
						|
 | 
						|
##############
 | 
						|
# Misc
 | 
						|
##############
 | 
						|
 | 
						|
# Allow annotation of files?  See also @annotate_options below.
 | 
						|
#
 | 
						|
$allow_annotate = 1;
 | 
						|
 | 
						|
# Allow HTMLized versions of files?
 | 
						|
#
 | 
						|
$allow_markup = 1;
 | 
						|
 | 
						|
# Allow CVSweb to create mailto: links from email addresses in various
 | 
						|
# HTMLized views?  Default: yes.
 | 
						|
#
 | 
						|
#$allow_mailtos = 0;
 | 
						|
 | 
						|
## Extra hyperlinking means hyperlinks to bug tracking systems and manual page
 | 
						|
## gateways, see $prcgi and $mancgi and related options above.
 | 
						|
 | 
						|
# Allow extra hyperlinking (such as PR cross-references) in logs?
 | 
						|
# Default: yes.
 | 
						|
#
 | 
						|
#$allow_log_extra = 0;
 | 
						|
 | 
						|
# Allow extra hyperlinking in directory views?
 | 
						|
#
 | 
						|
$allow_dir_extra = 1;
 | 
						|
 | 
						|
# Allow extra hyperlinking in source code/formatted diff views?
 | 
						|
#
 | 
						|
$allow_source_extra = 1;
 | 
						|
 | 
						|
# Allow compression with gzip in general?  Note that this also requires
 | 
						|
# that the browser supports it, and will be disabled on the fly when necessary.
 | 
						|
#
 | 
						|
$allow_compress = 1;
 | 
						|
 | 
						|
# Use JavaScript in the UI?
 | 
						|
#
 | 
						|
$use_java_script = 1;
 | 
						|
 | 
						|
# Show a form for setting options in the directory view?
 | 
						|
#
 | 
						|
$edit_option_form = 1;
 | 
						|
 | 
						|
# Show last changelog message for subdirectories?
 | 
						|
# The current implementation makes many assumptions and may show the
 | 
						|
# incorrect file at some times. The main assumption is that the last
 | 
						|
# modified file has the newest filedate. But some CVS operations
 | 
						|
# touch the file even when a new version isn't checked in, and TAG
 | 
						|
# based browsing essentially puts this out of order unless the last
 | 
						|
# checkin was on the same tag as you are viewing.
 | 
						|
# Enable this if you like the feature, but don't rely on correct results.
 | 
						|
#
 | 
						|
#$show_subdir_lastmod = 1;
 | 
						|
 | 
						|
# Show CVS log when viewing file contents?
 | 
						|
#
 | 
						|
$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
 | 
						|
# multibyte character. (such as iso-2022-jp, ShiftJIS, etc.)
 | 
						|
# Otherwise those files will get screwed up in markup.
 | 
						|
#
 | 
						|
# Note: enscript(1) highlighting is preferred over the built-in preformatting,
 | 
						|
# ie. this has no effect if $allow_enscript is true and enscript can highlight
 | 
						|
# the file.
 | 
						|
#
 | 
						|
#$preformat_in_markup = 1;
 | 
						|
 | 
						|
# Default tab width used to expand tabs to spaces in various HTMLized views.
 | 
						|
# Note that CVSweb scans the first few lines of sources for some common editor
 | 
						|
# directives controlling the tab width.  It uses the value from them if found,
 | 
						|
# falling back to the value of $tabstop if not.  Default: 8.
 | 
						|
#
 | 
						|
#$tabstop = 4;
 | 
						|
 | 
						|
# If you wish to display absolute times in your local timezone,
 | 
						|
# then define @mytz and fill in the strings for your standard and
 | 
						|
# daylight time. Note that you must also make sure the system
 | 
						|
# timezone is correctly set.
 | 
						|
#
 | 
						|
#@mytz=("EST", "EDT");
 | 
						|
 | 
						|
# CVSweb is friendly to caches by sending the HTTP Last-Modified
 | 
						|
# header corresponding to the sent content.  In the case of a
 | 
						|
# checkout, this may require running rcslog on the file solely for the
 | 
						|
# purpose of retrieving the timestamp to be sent.  If you have a slow
 | 
						|
# server, you may want to turn this off for a small performance gain.
 | 
						|
#
 | 
						|
$use_moddate = 1;
 | 
						|
 | 
						|
# Maximum number of filenames to pass to rlog(1) in one command.
 | 
						|
# If you see "Failed to spawn GNU rlog" errors with directories containing
 | 
						|
# lots of files, experiment by setting this to different values and see if
 | 
						|
# the error still occurs.  A good value to start from would be eg. 200.
 | 
						|
# Just comment this out if you're not bitten by the problem.
 | 
						|
#
 | 
						|
#$file_list_len = 200;
 | 
						|
 | 
						|
# Allow graphical representations of file revisions and branches with CvsGraph?
 | 
						|
#
 | 
						|
$allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0;
 | 
						|
 | 
						|
# Path to the CvsGraph configuration file.  Only used if $allow_cvsgraph
 | 
						|
# is true.  Leave this empty or comment it out to make cvsgraph(1) use its
 | 
						|
# default configuration file.  Note that CVSweb will override some of the
 | 
						|
# settings in the configuration file with command line options, see
 | 
						|
# doGraph() and doGraphView() in cvsweb.cgi for details.
 | 
						|
#
 | 
						|
#$cvsgraph_config = "/etc/cvsgraph.conf";
 | 
						|
 | 
						|
# URL to the CVSHistory script.  This should be absolute (but does not need
 | 
						|
# to include the host and port if the script is on the same server as
 | 
						|
# CVSweb).
 | 
						|
#$cvshistory_url = "/cgi-bin/cvshistory.cgi";
 | 
						|
 | 
						|
# Whether to allow downloading a tarball or a zip of the current directory.
 | 
						|
# While downloading of the entire repository is disallowed, depending on
 | 
						|
# the directory this may take a lot of time and disk space.  For some CVS
 | 
						|
# versions, the user account running CVSweb needs write access to
 | 
						|
# CVSROOT/val-tags.  See also the tar, gzip and zip options below.
 | 
						|
#
 | 
						|
#$allow_tar = (($CMD{tar} && $CMD{gzip}) || $CMD{zip}) ? 1 : 0;
 | 
						|
 | 
						|
# Options to pass to tar(1).
 | 
						|
# For example: @tar_options = qw(--ignore-failed-read);
 | 
						|
# GNU tar has some useful options against unexpected errors.
 | 
						|
# Other useful options include "--owner=0" and "--group=0", see
 | 
						|
# the tar(1) (or gtar(1)) manpage for details.
 | 
						|
#
 | 
						|
@tar_options = qw();
 | 
						|
 | 
						|
# Options to pass to gzip(1) when compressing a tarball to download.
 | 
						|
# For example: @gzip_options = qw(-3);
 | 
						|
# Try lower compression level than 6 (default) if you want faster
 | 
						|
# compression, or higher for better compression.
 | 
						|
#
 | 
						|
@gzip_options = qw();
 | 
						|
 | 
						|
# Options to pass to zip(1) when compressing a zip archive to download.
 | 
						|
# For example: @zip_options = qw(-3);
 | 
						|
# Try lower compression level than 6 (default) if you want faster
 | 
						|
# compression, or higher for better compression.
 | 
						|
#
 | 
						|
@zip_options = qw(-q);
 | 
						|
 | 
						|
# Options to pass to cvs(1).
 | 
						|
# For cvs versions 1.11 to 1.11.6 (broken in < 1.11, removed in 1.11.7), you
 | 
						|
# can use the '-l' option to prevent cvs from writing to the history file.
 | 
						|
# For other cvs versions, either suppress history logging by using the
 | 
						|
# LogHistory parameter in CVSROOT/config or make sure that the CVSweb user
 | 
						|
# can read and write to CVSROOT/history.
 | 
						|
# FreeBSD's and OpenBSD's cvs(1) has long since supported -R (read only access
 | 
						|
# mode) option, which considerably speeds up checkouts over NFS.  For other
 | 
						|
# platforms, the -R option and the CVSREADONLYFS environment variable are
 | 
						|
# available in cvs >= 1.12.1.  A similar effect is provided by -u on NetBSD.
 | 
						|
#
 | 
						|
@cvs_options = qw(-f);
 | 
						|
push @cvs_options, '-R' if ($^O eq 'freebsd' || $^O eq 'openbsd');
 | 
						|
push @cvs_options, '-u' if ($^O eq 'netbsd');
 | 
						|
# Only affects cvs >= 1.12.1, but doesn't hurt older ones.
 | 
						|
$ENV{CVSREADONLYFS} = 1 unless exists($ENV{CVSREADONLYFS});
 | 
						|
 | 
						|
# Options to pass to the 'cvs annotate' command, usually the normal
 | 
						|
# @cvs_options are good enough here.
 | 
						|
# To make annotate work against a read only repository, add -n, ie.:
 | 
						|
# @annotate_options = (@cvs_options, '-n');
 | 
						|
#
 | 
						|
@annotate_options = @cvs_options;
 | 
						|
 | 
						|
# Options to pass to rcsdiff(1).
 | 
						|
# Probably the only useful one here is -q (suppress diagnostic output).
 | 
						|
#
 | 
						|
@rcsdiff_options = qw(-q);
 | 
						|
 | 
						|
# Enables syntax highlighting using GNU Enscript if set.
 | 
						|
# You will need GNU Enscript version 1.6.3 or newer for this to work.
 | 
						|
#
 | 
						|
#$allow_enscript = $CMD{enscript} ? 1 : 0;
 | 
						|
 | 
						|
# Options to pass to enscript(1).
 | 
						|
# Do not set the -q, --language, -o or --highlight options here.
 | 
						|
# Most useful styles are probably emacs, emacs_verbose and msvc.
 | 
						|
#
 | 
						|
@enscript_options = qw(--style=emacs --color=1);
 | 
						|
 | 
						|
# Enscript highlight rule to filename regex mappings.  The set of useful
 | 
						|
# mappings depends on what highlight rules the system has installed.
 | 
						|
#
 | 
						|
%enscript_types =
 | 
						|
  (
 | 
						|
   'ada'          => qr/\.ad(s|b|a)$/o,
 | 
						|
   'asm'          => qr/\.[Ss]$/o,
 | 
						|
   'awk'          => qr/\.awk$/o,
 | 
						|
   'bash'         => qr/\.(bash(_profile|rc)|inputrc)$/o,
 | 
						|
   'c'            => qr/\.(c|h)$/o,
 | 
						|
   'changelog'    => qr/^changelog$/io,
 | 
						|
   'cpp'          => qr/\.(c\+\+|C|H|cpp|cc|cxx)$/o,
 | 
						|
   'csh'          => qr/\.(csh(rc)?|log(in|out)|history)$/o,
 | 
						|
   'elisp'        => qr/\.e(l|macs)$/o,
 | 
						|
   'fortran'      => qr/\.[fF]$/o,
 | 
						|
   'haskell'      => qr/\.(l?h|l?g)s$/o,
 | 
						|
   'html'         => qr/\.x?html?$/o,
 | 
						|
   'idl'          => qr/\.idl$/o,
 | 
						|
   'inf'          => qr/\.inf$/io,
 | 
						|
   'java'         => qr/\.java$/o,
 | 
						|
   'javascript'   => qr/\.(js|pac)$/o,
 | 
						|
   'ksh'          => qr/\.ksh$/o,
 | 
						|
   'm4'           => qr/\.m4$/o,
 | 
						|
   'makefile'     => qr/(GNU)?[Mm]akefile(?!\.PL\b)|\.(ma?ke?|am)$/o,
 | 
						|
   'matlab'       => qr/\.m$/o,
 | 
						|
   'nroff'        => qr/\.man$/o,
 | 
						|
   'pascal'       => qr/\.p(as|p)?$/io,
 | 
						|
   'perl'         => qr/\.p(m|(er)?l)$/io,
 | 
						|
   'postscript'   => qr/\.e?ps$/io,
 | 
						|
   'python'       => qr/\.py$/o,
 | 
						|
   'rfc'          => qr/\b((rfc|draft)\..*\.txt)$/o,
 | 
						|
   'scheme'       => qr/\.(scm|scheme)$/o,
 | 
						|
   'sh'           => qr/\.sh$/o,
 | 
						|
   'skill'        => qr/\.il$/o,
 | 
						|
   'sql'          => qr/\.sql$/o,
 | 
						|
   'states'       => qr/\.st$/o,
 | 
						|
   'synopsys'     => qr/\.s(cr|yn(th)?)$/o,
 | 
						|
   'tcl'          => qr/\.tcl$/o,
 | 
						|
   'tcsh'         => qr/\.tcshrc$/o,
 | 
						|
   'tex'          => qr/\.tex$/o,
 | 
						|
   'vba'          => qr/\.vba$/o,
 | 
						|
   'verilog'      => qr/\.(v|vh)$/o,
 | 
						|
   'vhdl'         => qr/\.vhdl?$/o,
 | 
						|
   'vrml'         => qr/\.wrl$/o,
 | 
						|
   'wmlscript'    => qr/\.wmls(cript)?$/o,
 | 
						|
   'zsh'          => qr/\.(zsh(env|rc)|z(profile|log(in|out)))$/o,
 | 
						|
  );
 | 
						|
 | 
						|
# Troubleshooting: in case of problems, setting this to 1 will cause more
 | 
						|
# error output into your web server error log.  Under normal operation,
 | 
						|
# this should be set to 0 or commented out.
 | 
						|
#
 | 
						|
#$DEBUG = 1;
 | 
						|
 | 
						|
# Enable this to let CVSweb load extra configuration files from the "conf.d"
 | 
						|
# subdirectory of the directory this file is located in.  This enables site
 | 
						|
# specific configuration without having to modify this "master" configuration
 | 
						|
# file (except for enabling this functionality below :)
 | 
						|
#
 | 
						|
if (0) {
 | 
						|
  my $confdir = catdir(dirname(__FILE__), 'conf.d');
 | 
						|
  if (opendir(CONFD, $confdir)) {
 | 
						|
    my @files = sort(map(catfile($confdir, $_), readdir(CONFD)));
 | 
						|
    close(CONFD);
 | 
						|
    for my $conffile (grep(-f && -r _, @files)) {
 | 
						|
      ($conffile) = ($conffile =~ /(.+\.conf)$/) or next;
 | 
						|
      do "$conffile" or config_error($conffile, $@);
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
1;
 | 
						|
 | 
						|
# EOF
 |