version 4.1, 2019/03/20 20:52:07 |
version 4.18, 2019/11/29 14:29:48 |
|
|
# -*- perl -*- |
# -*- perl -*- |
|
# $Id$ |
|
# $doc: cvsweb.conf,v 1.38 2006/01/19 19:53:38 ceri |
|
# $knu: cvsweb.conf,v 1.97 2005/06/19 09:13:50 scop |
|
# |
# Configuration of cvsweb.cgi, a web interface to CVS repositories. |
# Configuration of cvsweb.cgi, a web interface to CVS repositories. |
# |
# |
# (c) 1998-1999 H. Zeller <zeller@think.de> |
# (c) 1998-1999 H. Zeller <zeller@think.de> |
|
|
# 2000-2002 A. MUSHA <knu@FreeBSD.org> |
# 2000-2002 A. MUSHA <knu@FreeBSD.org> |
# 2002-2005 V. Skyttä <scop@FreeBSD.org> |
# 2002-2005 V. Skyttä <scop@FreeBSD.org> |
# based on work by Bill Fenner <fenner@FreeBSD.org> |
# based on work by Bill Fenner <fenner@FreeBSD.org> |
# |
|
# $FreeBSD$ |
|
# $Id$ |
|
# $Idaemons: /home/cvs/cvsweb/cvsweb.conf,v 3.27 2001/08/01 09:48:39 knu Exp $ |
|
# |
|
|
|
# |
# |
# Unless otherwise noted, all boolean parameters here default to off |
# Unless otherwise noted, all boolean parameters here default to off |
# when no value for them has been explicitly set. |
# 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 |
# CVS roots |
# |
# |
# CVSweb can handle several CVS repositories at once. Enter short (internal) |
# CVSweb can handle several CVS repositories at once. Enter short (internal) |
Line 57 $CMD{tar} ||= search_path('tar'); |
|
Line 39 $CMD{tar} ||= search_path('tar'); |
|
# 'symbolic_name' => ['Name to display', '/path/to/cvsroot'] |
# 'symbolic_name' => ['Name to display', '/path/to/cvsroot'] |
# |
# |
@CVSrepositories = ( |
@CVSrepositories = ( |
'local' => ['Local Repository', '/var/cvs'], |
'local' => ['Local Repository', '/cvs'], |
# 'freebsd' => ['FreeBSD', '/var/ncvs'], |
|
# 'openbsd' => ['OpenBSD', '/var/ncvs'], |
|
# 'netbsd' => ['NetBSD', '/var/ncvs'], |
|
# 'ruby' => ['Ruby', '/var/anoncvs/ruby'], |
|
); |
); |
|
|
# 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 = ( |
|
# 'Other location' => 'http://192.168.0.1/cgi-bin/cvsweb.cgi/', |
|
# 'Yet another one' => 'http://192.168.0.2/cgi-bin/cvsweb.cgi/', |
|
#); |
|
|
|
# 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 |
# Manual gateway linking. This will be done only for views for which |
# $allow_*_extra below is true. |
# $allow_*_extra below is true. |
# |
# |
|
|
# h Human readable |
# h Human readable |
# u Unified diff |
# u Unified diff |
# c Context 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", |
"f" => "u", |
|
|
# hidecvsroot: Don't show the CVSROOT directory. Note that this is |
# hidecvsroot: Don't show the CVSROOT directory. Note that this is |
Line 181 $defaulttitle = "CVS Repository"; |
|
Line 117 $defaulttitle = "CVS Repository"; |
|
|
|
# The address is shown on the footer. This will be put inside a <address> tag. |
# The address is shown on the footer. This will be put inside a <address> tag. |
# |
# |
$address = '<span style="font-size: smaller">FreeBSD-CVSweb</span>'; |
$address = '<span style="font-size: smaller">CVSweb</span>'; |
|
|
$long_intro = <<EOT; |
$long_intro = <<EOT; |
<p> |
<p> |
|
|
href="http://www.opensource.org/licenses/bsd-license.html">The BSD License</a>. |
href="http://www.opensource.org/licenses/bsd-license.html">The BSD License</a>. |
</p><p> |
</p><p> |
If you would like to use this CGI script on your own web server and |
If you would like to use this CGI script on your own web server and |
CVS tree, download the latest version from <<a |
CVS tree, download the latest version from |
href="http://www.FreeBSD.org/projects/cvsweb.html">http://www.FreeBSD.org/projects/cvsweb.html</a>>. |
<<a href="http://cvsweb.bsd.lv/">http://cvsweb.bsd.lv/</a>>. |
</p> |
</p> |
EOT |
EOT |
|
|
Line 229 my $iconsdir = '/icons'; |
|
Line 165 my $iconsdir = '/icons'; |
|
dir => [('[DIR]', "$iconsdir/dir.gif", 20, 22)], |
dir => [('[DIR]', "$iconsdir/dir.gif", 20, 22)], |
file => [('[TXT]', "$iconsdir/text.gif", 20, 22)], |
file => [('[TXT]', "$iconsdir/text.gif", 20, 22)], |
binfile => [('[BIN]', "$iconsdir/binary.gif", 20, 22)], |
binfile => [('[BIN]', "$iconsdir/binary.gif", 20, 22)], |
graph => [('[GRAPH]', "$iconsdir/minigraph.png", 16, 16)], |
|
); |
); |
undef $iconsdir; |
undef $iconsdir; |
|
|
Line 288 $hr_breakable = 1; |
|
Line 223 $hr_breakable = 1; |
|
# |
# |
$showfunc = 1; |
$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) |
# Ignore whitespace in human readable diffs? ('-w' option to diff) |
# |
# |
$hr_ignwhite = 0; |
$hr_ignwhite = 0; |
Line 363 $inputTextSize = 12; |
|
Line 289 $inputTextSize = 12; |
|
# The traditional mime.types file, eg. the one from Apache is fine. |
# The traditional mime.types file, eg. the one from Apache is fine. |
# See above where this gets used. |
# See above where this gets used. |
# |
# |
$mime_types = '/usr/local/etc/apache/mime.types'; |
$mime_types = '/conf/mime.types'; |
|
|
# Charset appended to the Content-Type HTTP header for text/* 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 |
# Note that the web server may default to some charset which may take effect |
Line 404 $allow_markup = 1; |
|
Line 330 $allow_markup = 1; |
|
# |
# |
#$allow_mailtos = 0; |
#$allow_mailtos = 0; |
|
|
## Extra hyperlinking means hyperlinks to bug tracking systems and manual page |
## Extra hyperlinking means hyperlinks to manual page |
## gateways, see $prcgi and $mancgi and related options above. |
## gateways, see $mancgi above. |
|
|
# Allow extra hyperlinking (such as PR cross-references) in logs? |
# Allow extra hyperlinking (such as PR cross-references) in logs? |
# Default: yes. |
# Default: yes. |
Line 425 $allow_source_extra = 1; |
|
Line 351 $allow_source_extra = 1; |
|
# |
# |
#$allow_compress = 1; |
#$allow_compress = 1; |
|
|
# Use JavaScript in the UI? |
|
# |
|
$use_java_script = 1; |
|
|
|
# Show a form for setting options in the directory view? |
# Show a form for setting options in the directory view? |
# |
# |
$edit_option_form = 1; |
$edit_option_form = 1; |
Line 454 $show_log_in_markup = 1; |
|
Line 376 $show_log_in_markup = 1; |
|
# multibyte character. (such as iso-2022-jp, ShiftJIS, etc.) |
# multibyte character. (such as iso-2022-jp, ShiftJIS, etc.) |
# Otherwise those files will get screwed up in markup. |
# 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; |
#$preformat_in_markup = 1; |
|
|
# Default tab width used to expand tabs to spaces in various HTMLized views. |
# Default tab width used to expand tabs to spaces in various HTMLized views. |
Line 467 $show_log_in_markup = 1; |
|
Line 385 $show_log_in_markup = 1; |
|
# |
# |
#$tabstop = 4; |
#$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 |
# CVSweb is friendly to caches by sending the HTTP Last-Modified |
# header corresponding to the sent content. In the case of a |
# header corresponding to the sent content. In the case of a |
# checkout, this may require running rcslog on the file solely for the |
# checkout, this may require running rcslog on the file solely for the |
Line 483 $show_log_in_markup = 1; |
|
Line 394 $show_log_in_markup = 1; |
|
$use_moddate = 1; |
$use_moddate = 1; |
|
|
# Maximum number of filenames to pass to rlog(1) in one command. |
# Maximum number of filenames to pass to rlog(1) in one command. |
# If you see "Failed to spawn GNU rlog" errors with directories containing |
# If you see "Failed to spawn rlog" errors with directories containing |
# lots of files, experiment by setting this to different values and see if |
# 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. |
# 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. |
# Just comment this out if you're not bitten by the problem. |
# |
# |
#$file_list_len = 200; |
#$file_list_len = 200; |
|
|
# Allow graphical representations of file revisions and branches with CvsGraph? |
# Whether to allow downloading a tarball of the current directory. |
# |
|
$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 |
# 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 |
# 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 |
# versions, the user account running CVSweb needs write access to |
# CVSROOT/val-tags. See also the tar, gzip and zip options below. |
# CVSROOT/val-tags. See also the tar options below. |
# |
# |
#$allow_tar = (($CMD{tar} && $CMD{gzip}) || $CMD{zip}) ? 1 : 0; |
$allow_tar = 0; |
|
|
# Options to pass to tar(1). |
# Options to pass to tar(1). |
# For example: @tar_options = qw(--ignore-failed-read); |
# For example: @tar_options = qw(--ignore-failed-read); |
Line 523 $allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0; |
|
Line 417 $allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0; |
|
# |
# |
@tar_options = qw(); |
@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). |
# 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 |
# 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. |
# can use the '-l' option to prevent cvs from writing to the history file. |
Line 566 $ENV{CVSREADONLYFS} = 1 unless exists($ENV{CVSREADONLY |
|
Line 446 $ENV{CVSREADONLYFS} = 1 unless exists($ENV{CVSREADONLY |
|
# |
# |
@rcsdiff_options = qw(-q); |
@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 |
# Troubleshooting: in case of problems, setting this to 1 will cause more |
# error output into your web server error log. Under normal operation, |
# error output into your web server error log. Under normal operation, |
# this should be set to 0 or commented out. |
# this should be set to 0 or commented out. |
# |
# |
#$DEBUG = 1; |
#$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; |
1; |
|
|