Changesets can be listed by changeset number.
The Git repository is here.
- Revision:
- 39
- Log:
Initial import of CVSWeb 3.0.6 from http://people.freebsd.org/~scop/cvsweb/
into SVN. CVSWeb will be used as a Web interface onto the main repository,
since that is too large and too complex to convert from its current SVN
form into SVN.
- Author:
- adh
- Date:
- Mon Jul 31 15:11:40 +0100 2006
- Size:
- 10080 Bytes
1 | $FreeBSD: projects/cvsweb/INSTALL,v 1.36 2005/01/22 12:43:55 scop Exp $ |
2 | |
3 | For notes on upgrading between FreeBSD-CVSweb releases, see the bottom |
4 | of this document. |
5 | |
6 | 1) To get cvsweb.cgi to work, make sure that you have Perl 5.6.0 or |
7 | newer installed and a web server which is capable of executing CGI |
8 | scripts. See also samples/cvsweb-httpd.conf. |
9 | |
10 | CVSweb uses the following Perl modules. Chances are that some of |
11 | these are already installed with your Perl distribution. The oldest |
12 | Perl distributions, if any, that already ship with these modules have |
13 | been marked below. If your Perl doesn't have some of the modules, |
14 | you can get them from CPAN, <http://www.cpan.org/>. Be sure to |
15 | install also the prerequisites these modules may have. Note that |
16 | this list contains only modules that aren't already part of Perl |
17 | 5.6.0 and newer. |
18 | |
19 | |
20 | Module Version Ships with Perl Type |
21 | ---------------------------------------------------------- |
22 | File::Temp 5.8.0 required |
23 | IPC::Run N/A required |
24 | MIME::Types N/A optional |
25 | String::Ediff N/A optional |
26 | URI N/A required |
27 | |
28 | Surprisingly enough, you need to have cvs installed. The recommended |
29 | version of cvs is 1.11 or newer. Older cvs versions may work with |
30 | more or less quirks, YMMV. |
31 | |
32 | Currently, you'll also need to have the GNU RCS utilities 'rlog', |
33 | 'rcsdiff' installed (current version is 5.7). |
34 | |
35 | This may change if cvs will be able to serve these functions without |
36 | having a working directory [see TODO]. |
37 | |
38 | Note that the cvsweb.cgi script needs to have physical access to the |
39 | repository (or a copy of it) therefore; rsh, ssh or pserver access |
40 | doesn't work yet. |
41 | |
42 | Install CvsGraph if you want to use it with CVSweb, and see (6) for |
43 | configuration notes. CvsGraph 1.4.0 or newer is required. |
44 | |
45 | Install GNU Enscript if you want syntax highlighting, and see (7) for |
46 | more info. You'll need version 1.6.3 or newer. |
47 | |
48 | Install CVSHistory if you want to use it with CVSweb, and see (8) for |
49 | configuration notes. You'll need version 2.0 or newer. |
50 | |
51 | 2) Copy cvsweb.conf to a configuration directory, typically |
52 | /usr/local/etc/cvsweb/cvsweb.conf. |
53 | Edit cvsweb.conf to fit your needs, you'll probably need to tweak the |
54 | CVS root(s) of the Repository(ies) you want to view. |
55 | See also the @command_path variable for the path where cvsweb.cgi |
56 | looks for the various external executables it interacts with. |
57 | The other cvsweb.conf-* files are example per-cvsroot configuration files, |
58 | see commentary in cvsweb.conf for more information. |
59 | |
60 | 3) Copy cvsweb.cgi to a directory of your web server where the execution |
61 | of CGI scripts is allowed. Edit it to make the variable $config |
62 | (look for 'Configuration Area') point to your configuration file. |
63 | If your perl binary isn't located in /usr/bin you'll have to edit the |
64 | first line of the script as well. For Apache web servers, there is an |
65 | optional sample httpd.conf snippet in the samples/ directory. Most |
66 | setups do not need it though, it is only for advanced and/or mod_perl |
67 | configurations. |
68 | |
69 | 4) If you do not have the dir.gif, text.gif and back.gif icons, copy |
70 | them somewhere in your $DocumentRoot and edit the %ICONS hash |
71 | in cvsweb.conf. You won't need to do this if you have a stock |
72 | Apache installed - they're located in the default icons directory. |
73 | The icons distributed with this cvsweb are in the public domain. |
74 | If you think that the default icons are too large, use the corresponding |
75 | mini icons in the icons/ directory and change the %ICONS hash in |
76 | cvsweb.conf. |
77 | |
78 | 5) Copy cvsweb.css from the css/ directory to a web server directory, and |
79 | point the $cssurl variable in cvsweb.conf to it. |
80 | |
81 | 6) CvsGraph <http://www.akhphd.au.dk/~bertho/cvsgraph/> can be used with |
82 | this version of CVSweb. See the $allow_cvsgraph and $cvsgraph_config |
83 | configuration variables in cvsweb.conf. Note (and install) also the |
84 | cvsgraph.png icon in the icons/ directory. |
85 | |
86 | 7) GNU Enscript <http://www.iki.fi/~mtr/genscript/> can be used for syntax |
87 | highlighting. To enable it, copy lang_cvsweb.st and lang_cvsweb_diff.st |
88 | from the enscript/ dir to your Enscript "hl" directory (often eg. |
89 | /usr/share/enscript/hl/) and enable $allow_enscript in cvsweb.conf. |
90 | lang_cvsweb.st is used for generic colorization, and lang_cvsweb_diff.st |
91 | for diffs. |
92 | |
93 | 8) CVSHistory <http://www.jamwt.com/CVSHistory/> can be used with this |
94 | version of CVSweb. See the $cvshistory_url configuration variable in |
95 | cvsweb.conf. For best results, configure CVSweb and CVSHistory to use |
96 | the same "logical names" for CVS roots. |
97 | |
98 | 9) If you like you can add descriptions to be shown next to each directory |
99 | or module name. These are read from CVSROOT/descriptions. |
100 | |
101 | - Check out a copy of your CVSROOT |
102 | - edit checkoutlist and add a line that says |
103 | descriptions |
104 | - Edit descriptions. Add one line for each directory that you would like |
105 | to have a comment for. You can have HTML in the descriptions. |
106 | These lines are relative from the $CVSROOT. Example: |
107 | JVote An application to assist with <a href="http://www.irtc.org/">IRTC</a> voting |
108 | JVote/images Store the images for JVote |
109 | JVote/tools Scripts to startup JVote |
110 | - cvs add descriptions |
111 | - cvs commit |
112 | - Set $use_descriptions to 1 in cvsweb.conf. |
113 | |
114 | 10) Have fun! |
115 | |
116 | Troubleshooting |
117 | --------------- |
118 | |
119 | If you've trouble to make cvsweb.cgi work ... |
120 | .. if nothing seems to work: |
121 | o Check if you can execute CGI scripts (Apache needs to have an |
122 | ScriptAlias /cgi-bin or cgi-script Handler defined). Try to |
123 | execute a simple CGI script that often comes with the distribution |
124 | of the web server; locate the log files and try to find hints |
125 | which explain the malfunction. |
126 | o View the entries in the web server's error.log. Set $DEBUG to 1 in |
127 | cvsweb.conf to get more error output. |
128 | |
129 | .. If cvsweb seems to work but doesn't show the expected result |
130 | (Typical error: you can't see any files) |
131 | o Check whether the CGI script has read permissions to your |
132 | CVS repository. The CGI script often runs as the user 'nobody' |
133 | or 'httpd'. |
134 | o If you use annotation, see @annotate_options in cvsweb.conf. |
135 | o See CVSROOT/config for various options controlling what gets written |
136 | into CVSROOT/history, where lock files are placed etc. You can also |
137 | build a fake cvsroot with symlinks to the 'real' CVS directories and make |
138 | a fake CVSROOT/history as symbolic link to /dev/null. |
139 | If you don't want cvs called from cvsweb to place read locks at all, let |
140 | cvsweb operate on a copy. |
141 | o Does cvsweb find your RCS utils/cvs binary(annotate)? |
142 | See $command_path in in cvsweb.conf. |
143 | o cvsweb allows for compression now. It is determined first if the |
144 | browser accepts gzip encoding. But - no rule without exception - some |
145 | versions of MSIE claim to understand gzip encoded content but |
146 | display garbage .. so compression for MSIE is disabled now. Maybe you |
147 | find another browser with this problem, then you should disable |
148 | compression ($allow_compress=0 in cvsweb.conf) and report it to |
149 | <freebsd-cvsweb@freebsd.org>. |
150 | |
151 | Upgrade instructions |
152 | -------------------- |
153 | |
154 | List of things to pay attention to when upgrading FreeBSD-CVSweb from |
155 | earlier versions follows. Lack of instructions for a particular |
156 | version means that there are no special things to pay attention to. |
157 | |
158 | Upgrading to 3.0.5 |
159 | ------------------ |
160 | |
161 | The following configuration variables in cvsweb.conf have changed: |
162 | |
163 | $allow_mailtos is new, and optional. See comments in cvsweb.conf. |
164 | |
165 | Upgrading to 3.0.3 |
166 | ------------------ |
167 | |
168 | The following configuration variables in cvsweb.conf have changed: |
169 | |
170 | $DEBUG is new, and optional. See comments in cvsweb.conf. |
171 | |
172 | Upgrading to 3.0.1 |
173 | ------------------ |
174 | |
175 | The following configuration variables in cvsweb.conf have changed: |
176 | |
177 | $cvshistory_url is new, and optional. See comments in cvsweb.conf. |
178 | |
179 | Upgrading to 3.0.0 |
180 | ------------------ |
181 | |
182 | Make sure that the dependencies are met, see 1) above. |
183 | |
184 | The following configuration variables in cvsweb.conf have changed: |
185 | |
186 | $command_path has been changed to @command_path, ie. a list. |
187 | |
188 | @HideModules has been removed. It had nothing to do with actual |
189 | modules in CVS terminology, and the implementation was broken. |
190 | @ForbiddenFiles has been enhanced to affect directories as well. |
191 | |
192 | $cvstreedefault is now optional. If unset, the first one in |
193 | @CVSrepositories is used. |
194 | |
195 | %DEFAULTVALUE for "f" (default diff format) now understands the values |
196 | "uc", "cc" and "sc" for enscript-colored diffs (unified, context and |
197 | side-by-side respectively). |
198 | |
199 | %DEFAULTVALUE for "ln" can now be set to a boolean indicating whether |
200 | line numbers in markup views should be shown or not. The default is off. |
201 | |
202 | The following parameters have been removed, use CSS instead: |
203 | $body_tag, $body_tag_for_src, $navigationHeaderColor, $dirtable, |
204 | @tabcolors, $columnHeaderColorDefault, $columnHeaderColorSorted, |
205 | $tableBorderColor, $diffcolorHeading, $diffcolorEmpty, $diffcolorRemove, |
206 | $diffcolorChange, $diffcolorAdd, $diffcolorDarkChange, $difffontface, |
207 | $difffontsize, $markupLogColor. |
208 | |
209 | The following parameters have been removed, with no replacement: |
210 | $open_extern_window, $extern_window_height, $extern_window_width, |
211 | $checkout_magic. |
212 | |
213 | $allow_enscript, @enscript_options and %enscript_types control the use |
214 | and behavior of enscript(1). |
215 | |
216 | $allow_cvsgraph and $cvsgraph_config control the use and behavior of |
217 | cvsgraph(1). |
218 | |
219 | $file_list_len can be set to work around problems with rlog(1) and dirs |
220 | with lots of files. |
221 | |
222 | $cssurl contains the absolute URI to the CSS file to use. |
223 | |
224 | %ICONS has two new entries: binfile for binary files (-kb keyword |
225 | substitution) and graph for the cvsgraph icon. |
226 | |
227 | %DIFF_COMMANDS is new, it is used to configure external per file type |
228 | diff commands. |