Configurar un repositorio CVS - a la manera de FreeBSD | ||
---|---|---|
Anterior |
El proyecto FreeBSD utliza una configuración ligeramente diferente de la descrita; se usan los ficheros de configuración del subdirectorio freebsd en CVSROOT. El proyecto lo hace de esta manera debido al gran número de committers y a que todos y todas han de estar en el mismo grupo. Un “wrapper” simple fué escrito para poder asegurar que los usuarios tengan permisos correctos para poder hacer hacer commits; este “wrapper” establece el id del grupo al que el repositorio tiene.
Si su repositorio lo necesita también los pasos para hacerlo están documentados más adelante. Pero antes de nada veamos una descripción de los ficheros involucrados.
access - este fichero controla la información de acceso. Se debe editar este fichero e incluir a todos los miembros del proyecto.
freebsd/cvswrap.c - este es el código de CVS wrapper que va a ser necesario instalar para hacer que todos los chequeos de acceso funcionen. Mas información sobre él más adelante en el texto. Debería editar las rutas de las macros ACCESS y REALCVS para que se correspondan con su configuración.
freebsd/mailsend.c - este fichero es necesario para la configuración de la lista de correo de FreeBSD. No deberá tocar este fichero.
Edite el fichero access para que sólo contenga su nombre de usuario.
Edite el fichero cvswrap.c para que contenga la ruta correcta de su configuración. Se define con una macro llamada ACCESS. Deberá cambiar también el lugar del binario de cvs si no coincide con el de su sistema. cvswrap.c está pensado para sustituir al comando cvs del sistema, que pasará a ser /usr/bin/ncvs .
Mi copia de cvswrap.c tiene lo siguiente:
#define ACCESS "/local/cvsroot/CVSROOT/access" #define REALCVS "/usr/bin/ncvs"
Instalaremos después wrapper para asegurarnos de que se haya convertido en el grupo correcto al hacer el commit. Tiene el código fuente en cvswrap.c en su CVSROOT.
Tendrá que compilar el código una vez haya incluido en el las rutas correctas:
% cc -o cvs cvswrap.cE instálelos (necesitará ejecutar este paso como root):
# mv /usr/bin/cvs /usr/bin/ncvs # mv cvs /usr/bin/cvs # chown root:ncvs /usr/bin/cvs /usr/bin/ncvs # chmod o-rw /usr/bin/ncvs # chmod u-w,g+s /usr/bin/cvsEsto instala wrapper como el comando cvs por defecto; así nos aseguramos de que cualquiera que quiera usar el repositorio necesita tener los niveles de acceso correctos.
Ahora ya puede eliminar a todos los usuarios del grupo del repositorio. Todo control de acceso lo hará a partir de ahora wrapper y este wrapper establecerá el grupo de acceso correcto.
Su wrapper debería estar listo. Debería probarlo, claro está, haciendo un commit forzado al fichero access:
% cvs commit -f -m 'Commit forzado para probar los nuevos scripts en CVSROOT' accessSi algo falla asegúrese de que todos los pasos arriba descritos se han realizado correctamente.
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.