cvsmail安装不能进行

yangdi1985   2007-1-23 17:21 楼主
以下是我找到的资料.
用第一种方法与第二种方法都报错.
第一种方法在执行 install.pl文件时出错,不能运行
报的错如下:
[root@localhost cvsmail-1.4]# . install.pl  /cvsroot/project/libmap/CVSROOT/
bash: use: command not found
bash: install.pl: line 14: syntax error near unexpected token `1'
bash: install.pl: line 14: `    exit(1);'
[root@localhost cvsmail-1.4]#

第二种方法在遇到执行:ALL     $CVSROOT/CVSROOT/cvsmail.pl %{ sVv }时出错.
报错如下:
[root@localhost libmap]# cvs add A.c
cvs server: scheduling file `A.c' for addition
cvs server: use 'cvs commit' to add this file permanently
[root@localhost libmap]# cvs ci -m "test here" A.c
cvs server: cannot exec /cvsroot/project/libmap/CVSROOT/precommit.pl: Permission denied
cvs server: Pre-commit check failed
cvs [server aborted]: correct above errors first!
[root@localhost libmap]#

我在网上查了一下,没有说这方面出错的.不知当时你们在装时,是否有过这方面的问题.

谢谢!

以下是我查到的资料

前提

假设你已熟知CVS服务器设置指南 (http://www.bestunix.net/p/cvs_server_config.php ),并已配置好了自己的CVS服务器
假设你已经配置好了mail服务器,如果没有配置的话请参考xuki的 qmail安装指南 (http://www.xuki.org/linux_qmail.htm)



如何获得

其实cvsmail有好几个版本,不过这里我选用的是最简单的那个,安装配置非常容易,而且它已经可以实现我们需要的大部分的功能。

http://www.over-yonder.net/~fullermd/projects/cvsmail/

可以去上面网址下载cvsmail的最新版本。



        安装

这里的安装分两种,我逐个来说明

第一种

如果你有一个原始的CVSROOT模块,那么你可以使用install.pl脚本来进行安装。下面分别按步骤介绍

1.初始化你的CVS仓库,使用cvs init,如果不明白的话,可以参考 CVS服务器设置指南( http://www.bestunix.net/p/cvs_server_config.php )
2.check out出一个你的CVSROOT模块的拷贝,
我们假设把这个模块放入/tmp/cvs目录,服务器端CVS仓库路径为/home/cvsroot

       

代码:
mkdir /tmp/cvs
cd /tmp/cvs
cvs -d :pserver:sxy@127.0.0.1:/home/cvsroot login
cvs -d :pserver:sxy@127.0.0.1:/home/cvsroot co CVSROOT        
       

3.进入你下载并解压缩以后的cvsmail目录,运行install.pl脚本,如下

./install.pl /tmp/cvs/CVSROOT

4.进入/tmp/cvs/CVSROOT目录,根据你的系统设置来编辑cvsmail.cfg文件,主要需要编辑下面几个地方

$MAILTO 设置为cvs commit时会接收到邮件的用户,注意这里只能设置一个用户,如果需要多个用户接收的话,则需要设置为一个邮件列表
需要注意的是这里设置的是用户名,实际上接受邮件的是 username@hostname,比如我们设置的用户名是cvsupdate,当前主机名是bestunix.net,那么收件人就是cvsupdate@bestunix.net

$FROM_HOST 发件人的域名,默认是主机名,一般不用做什么设置,cvs的发件人默认是cvsroot,所以,我们收到的通知邮件一般都是 cvsroot@hostname发送的,比如cvsroot@bestunix.net

$SENDMAIL 一般保留默认就好了,如果你的邮件服务器是qmail的话,需要改为"/var/qmail/bin/qmail-inject"

$P_* 这里主要是指定这些应用程序的路径,一般不用修改,如果你不确定的话,可以用whereis来察看一下

5.修改完上面选项以后,用 cvs commit提交到服务器上,下次cvs commit你就会收到邮件通知了.


第二种情况,没有一个原始的CVSROOT

那么,我们需要手工做一些install.pl的工作,我们看看install.pl都做了什么

1. Copy cvsmail.pm, cvsmail.cfg, cvsmail.pl, precommit.pl到你check out出来的CVSROOT里面,比如/tmp/cvs/CVSROOT

       
        杨斌nc100641
       
        yang.bin1@ztenc.com.cn
        2007-01-22 16:47       
                 收件人: 王晓东nc100275/user/ztesoft_ltd@ztesoft_ltd
                 抄送:
                 主题: 答复: 你好!不好意思打扰你了,我们项目组现在在用CVS(linux环境)作版本管理.现在遇到一些问题,能向你请教些小问题吗.谢谢!

以下是我找到的资料.
用第一种方法与第二种方法都报错.
第一种方法在执行 install.pl文件时出错,不能运行

第二种方法在遇到执行:ALL     $CVSROOT/CVSROOT/cvsmail.pl %{ sVv }时出错.

我在网上查了一下,没有说这方面出错的.不知当时你在装时,是否有过这方面的问题.

谢谢!



        安装

这里的安装分两种,我逐个来说明

第一种

如果你有一个原始的CVSROOT模块,那么你可以使用install.pl脚本来进行安装。下面分别按步骤介绍

1.初始化你的CVS仓库,使用cvs init,如果不明白的话,可以参考 CVS服务器设置指南( http://www.bestunix.net/p/cvs_server_config.php )
2.check out出一个你的CVSROOT模块的拷贝,
我们假设把这个模块放入/tmp/cvs目录,服务器端CVS仓库路径为/home/cvsroot

       

代码:
mkdir /tmp/cvs
cd /tmp/cvs
cvs -d :pserver:sxy@127.0.0.1:/home/cvsroot login
cvs -d :pserver:sxy@127.0.0.1:/home/cvsroot co CVSROOT        
       

3.进入你下载并解压缩以后的cvsmail目录,运行install.pl脚本,如下

./install.pl /tmp/cvs/CVSROOT

4.进入/tmp/cvs/CVSROOT目录,根据你的系统设置来编辑cvsmail.cfg文件,主要需要编辑下面几个地方

$MAILTO 设置为cvs commit时会接收到邮件的用户,注意这里只能设置一个用户,如果需要多个用户接收的话,则需要设置为一个邮件列表
需要注意的是这里设置的是用户名,实际上接受邮件的是 username@hostname,比如我们设置的用户名是cvsupdate,当前主机名是bestunix.net,那么收件人就是cvsupdate@bestunix.net

$FROM_HOST 发件人的域名,默认是主机名,一般不用做什么设置,cvs的发件人默认是cvsroot,所以,我们收到的通知邮件一般都是 cvsroot@hostname发送的,比如cvsroot@bestunix.net

$SENDMAIL 一般保留默认就好了,如果你的邮件服务器是qmail的话,需要改为"/var/qmail/bin/qmail-inject"

$P_* 这里主要是指定这些应用程序的路径,一般不用修改,如果你不确定的话,可以用whereis来察看一下

5.修改完上面选项以后,用 cvs commit提交到服务器上,下次cvs commit你就会收到邮件通知了.


第二种情况,没有一个原始的CVSROOT

那么,我们需要手工做一些install.pl的工作,我们看看install.pl都做了什么

1. Copy cvsmail.pm, cvsmail.cfg, cvsmail.pl, precommit.pl到你check out出来的CVSROOT里面,比如/tmp/cvs/CVSROOT

[code:1:7e1c4558c4]  
  cp cvsmail* /tmp/cvs/CVSROOT
  cp pre* /tmp/cvs/CVSROOT [/code:1:7e1c4558c4]
   
  然后把这几个文件都加入CVS仓库
   
[code:1:7e1c4558c4]
cvs add cvsmail.pm
  cvs add cvsmail.cfg
  cvs add cvsmail.pl
  cva add precommit.pl
   [/code:1:7e1c4558c4]
2. 在CVSROOT/commitinfo这个文件中加入下面行

[code:1:7e1c4558c4]
   ALL               $CVSROOT/CVSROOT/precommit.pl
[/code:1:7e1c4558c4]
  
3. 在CVSROOT/loginfo这个文件中加入下面行

[code:1:7e1c4558c4]
   ALL               $CVSROOT/CVSROOT/cvsmail.pl %{ sVv } [/code:1:7e1c4558c4]
   
4. 修改cvsmail.cfg,同第一种情况   
   
5. 提交上面修改过的文件

   cvs commit
 

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复