蒙住双眼,并不代表看不见。

星期三, 四月 23, 2008

ubuntu 8.04下CVSD的配置

明天就要发布Ubuntu8.04了,想起来也差不多了,今天安装了一个Ubuntu 8.04的Server版用来做项目服务器,安装的过程很快,也很容易,没有任何问题,Apache,Samba等,也都顺利安装了。
在安装CVSD的时候,因为要实现Mail Notify,废了很大周折。
因为CVSD是将CVS做了一层包装,类似于Chroot,这样可以提供更高的安全性,但是随之而来的问题,就是原来系统里安装的程序都不能够在loginfo中被调用了。只要调用就会提示“received broken pipe signal”,原因是标准输入流不能发送。
翻遍了整个Google也没有找到解决答案。突然灵机一动,如果不让CVSD座包装是不是就可以了呢。
实践证明是可行的。
两步:

  1. 将CVSD.CONF中的RootJail这段注释掉(不要看文档自带的注释,我尝试将其设为None,没有任何效果)
  2. 将CVSD.CONF文件中的REPONS指向你的实际$CVSROOT即可。
通过以上两步设定,就可以在Loginfo中使用Shell中的命令了。
例如我的是。

Hello /usr/bin/cvs-mailcommit --mailto xxxx@xxxx.com --diff --full --cvs %1{sVv} --root %r --dir %p > /tmp/log.txt


没有评论: