This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.
FreeBSD 项目自己使用一个有点不同的配置,那就是同时也使用 FreeBSD
CVSROOT
中的 freebsd
子目录。
因为大量的 committer 必须在相同的用户组中, 因此项目写了一个简单的 wrapper
来确保 committer 可以正确的提交, 并配置储存库的用户组名称。
如果你的储存库也需要这样的功能,那么下面就会介绍如何建立, 不过首先要先来看一段复杂的概述。
access
- 此文件用来控制储存库的存取。
你应该编辑并加入所有在项目中的成员。
freebsd/commitmail.pl
-
此文件已经不再使用了,
只是因为历史原因而保留。 你不应更动此文件。
freebsd/cvswrap.c
- 此 CVS wrapper
源代码是用来建立检查所有存取的工作。更多的信息在稍后会提出。
你应该编辑 ACCESS
和 REALCVS
的路径以符合你的配置。
freebsd/mailsend.c
- 此文件是 FreeBSD 设定
mailing lists 需要的, 你不应更动此文件。
只把你的用户名加到 access
中。
编辑 cvswrap.c
的路径以符合你的配置,
定义在大写的 ACCESS
中。
同时如果默认值不符合你的情况的话也应该修改本地实际的 cvs
程序所在位置。 原始的 cvswrap.c
希望替代服务器端的 CVS 程序,
例如将其改名为 /usr/bin/ncvs
。
我的 cvswrap.c
是这样:
#define ACCESS "/local/cvsroot/CVSROOT/access" #define REALCVS "/usr/bin/ncvs"
接下来是建立 wrapper 来确认你在提交时是在正确的用户组中。
在你的 CVSROOT
中的
cvswrap.c
要能够使用。
在你完成编辑并加入正确的路径后我们要来编译源代码:
%
cc -o cvs cvswrap.c
然后进行需要配置(此步骤需要 root 权限):
#
mv /usr/bin/cvs /usr/bin/ncvs
#
mv cvs /usr/bin/cvs
#
chown root:ncvs /usr/bin/cvs /usr/bin/ncvs
#
chmod o-rx /usr/bin/ncvs
#
chmod u-w,g+s /usr/bin/cvs
这会将 wrapper 安装成预设的 cvs
程序,
请确定任何要使用储存库的人应该有正确的存取权限。
现在你可以删除所有在储存库用户组中的使用者,所有的存取控制会经由 wrapper 完成,同时 wrapper 会配置存取的正确用户组。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.