3. Configuración específica de FreeBSD

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.

3.1. Ficheros usados en la configuración de FreeBSD



3.2. El procedimiento

  1. Edite el fichero access para que sólo contenga su nombre de usuario.

  2. 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"
    
  3. 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.c
               
    
    E 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/cvs
               
    
    Esto 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.

  4. 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.

3.3. Prueba de la configuración

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'
        access
Si 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>.