usrlib.de / insanity

insanity(1) General Commands Manual insanity(1)

insanity
web interface for CVS

/var/www/cgi-bin/insanity/{css,diff,download,index,log,view}

insanity provides a simple web interface for some basic CVS/RCS operations, namely listing the content of modules and directories, viewing file logs and diffs, and downloading file revisions.
Some options like CVS root, allowed modules, and theming can be set through the file /etc/insanity.rc inside the web server's chroot.

The configuration options supported by /etc/insanity.rc as well as their default values are as follows:
site=$SERVER_NAME 
footer_url="https://usrlib.de/software/insanity.html" 
footer_label="This is insanity." 
cvsroot="" 
modules="" 
color_page='#CCCCCC' 
color_content='#EEEEEE' 
color_text='#333333' 
color_theme='#008080' 
cachedir="/var/tmp/insanity"
The options cvsroot and modules must be set. The latter is a list of allowed modules delimited by whitespace, e.g. "module1 module2".

Import insanity core:
# Load common functions. 
core=/usr/libexec/insanity/core 
if [ -f "$core" ] 
then 
	. "$core" 
else 
	printf 'Content-type: text/plain\n\nInsanity core is missing: %s' "$core" 
	exit 
fi

Not in any way suitable for productive use.

  • Cache: Different URIs may map to the same cache file.
  • Cache is a mess in general.
  • Diff: Should show the revision's commit message.
  • Diff: Viewing a diff for the first revision fails.
  • Download: Only plain text is supported.
  • Log: Undefined behavior when rlog output is in an unexpected format.
  • And more.

cvs(1), co(1), rlog(1)

Lukas Hofmann <lukas [AT] usrlib [DOT] de>
November 4, 2018 OpenBSD 6.4