version 4.5, 2019/11/11 13:15:09 |
version 4.21, 2019/11/29 16:27:34 |
|
|
# 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 59 $CMD{tar} ||= search_path('tar'); |
|
Line 42 $CMD{tar} ||= search_path('tar'); |
|
'local' => ['Local Repository', '/cvs'], |
'local' => ['Local Repository', '/cvs'], |
); |
); |
|
|
# 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 |
# uc Unified diff, enscript colored (falls back to "u" w/o enscript) |
|
# cc Context diff, enscript colored (falls back to "c" 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 176 $defaulttitle = "CVS Repository"; |
|
Line 119 $defaulttitle = "CVS Repository"; |
|
# |
# |
$address = '<span style="font-size: smaller">CVSweb</span>'; |
$address = '<span style="font-size: smaller">CVSweb</span>'; |
|
|
$long_intro = <<EOT; |
# Icons for the web UI. |
<p> |
|
This is a WWW interface for CVS repositories. |
|
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://cvsweb.bsd.lv/">http://cvsweb.bsd.lv/</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 = '/icons'; |
my $iconsdir = '/icons'; |
|
|
# 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. |
# An URL where to find the CSS. |
# |
# |
$cssurl = '/css/cvsweb.css'; |
$cssurl = '/css/cvsweb.css'; |
Line 388 $allow_markup = 1; |
|
Line 284 $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 409 $allow_source_extra = 1; |
|
Line 305 $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 438 $show_log_in_markup = 1; |
|
Line 330 $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 451 $show_log_in_markup = 1; |
|
Line 339 $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 467 $show_log_in_markup = 1; |
|
Line 348 $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 507 $allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0; |
|
Line 371 $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 529 $allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0; |
|
Line 379 $allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0; |
|
# can read and write to CVSROOT/history. |
# can read and write to CVSROOT/history. |
# FreeBSD's and OpenBSD's cvs(1) has long since supported -R (read only access |
# 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 |
# mode) option, which considerably speeds up checkouts over NFS. For other |
# platforms, the -R option and the CVSREADONLYFS environment variable are |
# platforms, the -R option is available in cvs >= 1.12.1. |
# available in cvs >= 1.12.1. A similar effect is provided by -u on NetBSD. |
# A similar effect is provided by -u on NetBSD. |
# |
# |
@cvs_options = qw(-f); |
@cvs_options = qw(-f); |
push @cvs_options, '-R' if ($^O eq 'freebsd' || $^O eq 'openbsd'); |
push @cvs_options, '-R' if ($^O eq 'freebsd' || $^O eq 'openbsd'); |
push @cvs_options, '-u' if ($^O eq 'netbsd'); |
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 |
# Options to pass to the 'cvs annotate' command, usually the normal |
# @cvs_options are good enough here. |
# @cvs_options are good enough here. |
Line 550 $ENV{CVSREADONLYFS} = 1 unless exists($ENV{CVSREADONLY |
|
Line 398 $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; |
|
|