Makelog by Tero Kivinen www-site: http://www.acr.fi/makelog/ Description ----------- Makelog is a program that creates readable daily/weekly reports of the cvs log entries. It supports either text format that can be sent via email or html format that can be stored to the web server. It also supports getting cvs logs of the partial cvs tree so large cvs tree can be split in to the several separate pieces and each cvs log is generated separately for each piece. Compilation ----------- Unpack the distribution by saying tar zxvf makelog-x.x.tar.gz or gzip -cd | tar xvf - After the distribution has been unpacked cd to the directory created and run the configure script: cd makelog-x.x ./configure After that just say make install to install the package. How to use makelog ------------------ By default makelog does not do anything, it just prints out usage and exit. There is two ways to configure the makelog. First one is to give all configuration data from the command line using options. Second one is to put all configuration data to the configuration file and give that with --config option to the makelog. The configuration file has format that consist of lines containing keyword=value keyword="value1 value2 value3" keyword= Long text containing spaces \n\ and newlines etc. keyword=val\ ue keyword=value containing " and \. keyword="value ending with \" keyword If the line ends with backslash then it means that the line contines on the next line. If there are no whitespace before backslash and beginning of the next line then the string is concatenated without whitespaces together. If there is whitespaces between then all of the whitespaces are removed and replaced with one space. You can also use \n and \t to get newline and tab characters to the variable. You can include the values to the double quotes in which case they are removed. The only real reason to use that format is when you want to end the value with backslash (another option would be to write it , but the space might get lost). Configuration options --------------------- config config-file Specifies the config file to be used. The file $HOME/.makelogrc is read always before this option is used. cvsroot cvs-root-dir Specifies the value of the CVSROOT environment variable. This option (or setting of the CVSROOT environment variable) is mandatory. top top-work-dir Specifies the work directory used in the progress. The makelog first cvs checkouts the specified directories to this directory and then runs cvs log in those directories. It also stores the last run time to this directory inside the file last-time, so when the script is next time run it can give out the cvs log entries since last run. Everything inside this directory is deleted at the beginning of the run, so point this to empty directory when beginning to use this script. users user-email-addresses List of email address or mailing list where the text report is sent to. The format of this must be something that is accepted by the sendmail inside the "To" header. If this is not given then no email reports are sent. admin admin-email-addresses List of adminstrator email addresses. All mails sent to the users have Reply-To pointing to the adminstrator, and adminstrator will also get mail even when there is no changes in the CVS repository. html base-html-directory This is base html directory where the html files are stored. If there is changes in the CVS repository and this is set then file containing html-report is stored under the name of yyyy-mm-dd.hh:mm:ss.html to this directory. The symlink latest.html is also set to point to the latest file created in the directory. cvslog cvs-log-dir cvsco cvs-co-dir Specifies the directories which is used to when running cvs checkout and cvs log commands. The cvsco options is not normally needed as it defaults to the same value than cvslog. Also the cvslog must be proper subset of the cvsco, i.e you can use cvsco to check more data out from the cvs repository, but everything included in the cvslog must be checked out otherwise logs are incorrect. cvslocallog cvs-local-log-dir cvslocalco cvs-local-co-dir Additional directories checked out and used in the cvs log execpt these directories are given -l option when cvs is run, i.e only the local contents of the directories is checked out and includeded in the logs. This can be used when you want to have split logs where you have for example the src/foobar and src/zappa directories completely and then also the toplevel src makefiles only. You include src/foobar and src/zappa to the cvslog and src to the cvslocallog. disclaimer disclaimer-text disclaimerfile disclaimer-filename Disclaimer to be added before the actual email message. style stylesheet-url Url to the stylesheet of the main page. top_html Html-text Text to put on the top of the html page (can be navigation links etc). summary_extra_match regexp summary_extra_subst subtitution Replaces string in the "filaname!author!revision" string with the substitution and puts that after the revisions list in the summary by authors block. combined_extra_match regexp combined_extra_subst subtitution Replaces string in the "filaname!author!revision" string with the substitution and puts that after the lines entry in the combined list of identical log entries block. individual_extra_match regexp individual_extra_subst subtitution Replaces string in the "filaname!author!revision" string with the substitution and puts that after the lines entry in the individual log entries block. files_extra_match regexp files_extra_subst subtitution Replaces string in the "filaname!!" string with the substitution and puts that after the authors list in the summary of modified files block. Example configuration file -------------------------- cvsroot = /ssh/CVS top = /ssh/cvs-log/apps-utils users = cvs-log-apps-util@ssh.fi admin = kivinen@ssh.fi html = /ssh/www/cvs-log/apps-utils cvslog = src/apps/certutils \ src/apps/ldaputils \ src/apps/cryptutils cvslocallog = src/apps disclaimer = This email contains confidential material of SSH.\n \ Do not redistribute. style = /style.css Reporting bugs -------------- If you find a bug or have a feature request send them to makelog-bugs@acr.fi. Tero Kivinen kivinen@iki.fi http://www.iki.fi/kivinen/