[OpenBSD]

CVSup


Conteúdo


O que é o CVSup?

O CVSup é um software que distribui e atualiza as árvores de código fonte de um servidor cvs(1) mestre com um servidor remoto. O código fonte do OpenBSD é mantido em um repositório CVS em uma máquina de desenvolvimento central, localizada no Canadá. Com o CVSup, os usuários do OpenBSD podem facilmente manter suas árvores de código fonte atualizadas.

O CVSup utiliza o então chamado método "pull" para suas atualizações. No método "pull", cada cliente solicita ao servidor as atualizações, se e quando elas serão necessárias. O servidor então espera passivamente pelas solicitações de atualização de seus clientes. Portanto, todas as atualizações são solicitadas pelo cliente. O servidor nunca envia atualizações não solicitadas. Os usuários devem executar o cliente CVSup de forma manual ou agendar um trabalho no cron(8) para obter as atualizações em uma base regular.

O termo CVSup, escrito dessa forma, refere-se ao pacote inteiro do software. Seus componentes principais são o cliente cvsup (ou sua implementação alternativa, o csup) que é executado em cada máquina cliente, e o servidor cvsupd, que é executado em cada espelho CVSup do OpenBSD.

O CVSup tem o objetivo de ser mais rápido e flexível que o sup(1), o antepassado do CVSup.

O projeto OpenBSD atualmente possui seis repositórios principais:

O que é o CVS?

CVS é o sistema de controle de código fonte utilizado para gerenciar a árvore do OpenBSD. Ele é descrito em mais detalhes aqui. Note que o CVS e o CVSup são programas totalmente distintos. O CVS pode ser utilizado para o acesso remoto a arquivos, porém ele não é otimizado para distribuição de grandes volumes de dados através da rede. O CVSup é muito mais eficiente para essa tarefa.

Como começar a utilizar o CVSup

Compilar o CVSup a partir de seu código fonte pode ser um pouco complicado, pelo fato dele ser escrito em Modula-3. O porte lang/ezm3 disponibiliza uma distribuição menor do compilador e o sistema de "runtime" Modula-3 para as pessoas que precisam somente dele para poder compilar o CVSup. Porém, se você quer somente usar o CVSup, é recomendável que você baixe o pacote do cvsup de um de nossos espelhos ftp em vez de construir o seu próprio pacote a partir do porte net/cvsup. Atualmente, os portes do Ezm3 e, consequentemente, do CVSup estão disponíveis somente para a plataforma i386.

Alternativamente, o pacote csup é escrito na linguagem C e fornece um cliente compatível substituto.

Para maiores informações sobre o CVSup, veja a página do projeto do autor.

Para poder espelhar o repositório do OpenBSD com o CVSup, o seguinte arquivo de configuração pode ser utilizado:

        # Padrões que se aplicam a todas as coleções
        *default release=cvs
        *default delete use-rel-suffix
        *default umask=002
        *default host=mirror.osn.de
        *default base=/cvs
        *default prefix=/cvs

	# Se o seu link é T1 ou mais rápido, comente a linha seguinte.
        *default compress

        OpenBSD-all
        #OpenBSD-src
        #OpenBSD-www
        #OpenBSD-ports
        #OpenBSD-x11
        #OpenBSD-xf4
        #OpenBSD-xenocara

Isso faz com que o cvsup atualize todas as distribuições a partir do servidor mirror.osn.de com uma umask(2) que permite escrita pelo grupo ao repositório local.

Assumindo que esse arquivo é salvo como cvs-supfile, os seguintes comandos serão utilizados para chamar a GUI do cvsup:

        cvsup cvs-supfile

caso prefira o modo não-interativo, o seguinte comando pode ser usado:

        cvsup -g -L 2 cvs-supfile

Como utilizar o CVS para atualizar sua árvore de código fonte

Agora que você tem uma cópia local do repositório CVS, é simples verificar, atualizar, ou fazer qualquer outra operação CVS que você faria com um repositório remoto, só que localmente. Por exemplo:

	cvs -d/cvs checkout src -P
	cvs -d/cvs up -Pd
	cvs -d/cvs diff -u file.c
Mais detalhes sobre a utilização do CVS podem ser encontrados na FAQ5, Download do código fonte apropriado, e na página de manual cvs(1).

Como executar o CVSup em modo "Checkout"

Uma forma alternativa de obter o repositório sem usar o CVS é executar o CVSup em modo checkout adicionando uma tag ou data no seu arquivo supfile, sendo como um opção *default, ou como uma opção para uma coleção. Em particular, você pode utilizar isso para atualizar de forma eficiente as árvores de código fonte e portes embutidas nos CD-ROMs.

O seguinte arquivo supfile pode ser utilizado para atualizar sua árvore de portes:

        # Padrões que se aplicam a todas as coleções
	*default host=mirror.osn.de
        *default base=/var
        *default prefix=/usr
        *default release=cvs
        *default delete use-rel-suffix compress

	# Coleção de Portes.
        OpenBSD-ports tag=.

Qualquer tag simbólica do CVS pode ser especificada. Um único ponto "." significa HEAD, ou a mais nova revisão de todos os arquivos do ramo principal. Preste atenção e especifique sempre tags existentes, pois o CVSup não consegue distinguir tags válidas de inválidas, e a tentativa de sincronizar uma árvore de código fonte com uma tag inválida remove todos os arquivos.

De forma alternativa, utilize a palavra chave date=[cc.]yy.mm.dd.hh.mm.ss para selecionar as revisões por data. 17 dos 20 caracteres mostrados devem ser fornecidos. Para os anos de 2000 em diante, especifique o século cc. Para anos anteriores, especifique somente os últimos dois dígitos yy. Você também pode combinar as palavras-chave tag e date.

Servidores CVSup disponíveis

Os seguintes servidores CVSup estão disponíveis:

cvsup.no.openbsd.org

localizado em Oslo, Noruega; mantido por Anders Nordby.
Atualizado a cada 3 horas.

Coleções disponíveis:

OpenBSD-src - O repositório src
OpenBSD-ports - O repositório ports
OpenBSD-www - O repositório www
OpenBSD-x11 - O repositório XFree86-3
OpenBSD-xf4 - O repositório XFree86-4
OpenBSD-xenocara - O repositório Xenocara
OpenBSD-all - Todos os repositórios do OpenBSD
skeleton.phys.spbu.ru

localizado na Universidade Estadual de São Petersburgo, São Petersburgo, Rússia; mantido por Dima Veselov.
Atualizado a cada 4 horas.

Coleções disponíveis:

OpenBSD-ports - O repositório ports
cvsup.jp.OpenBSD.org

localizado em Otemachi, Tókio, Japão; mantido por CVSup Administrator.
Atualizado a cada 3 horas.

Coleções disponíveis:

OpenBSD-src - O repositório src
OpenBSD-ports - O repositório ports
OpenBSD-www - O repositório www
OpenBSD-x11 - O repositório XFree86-3
OpenBSD-xf4 - O repositório XFree86-4
OpenBSD-xenocara - O repositório Xenocara
OpenBSD-all - Todos os repositórios do OpenBSD
cvsup.tw.OpenBSD.org

localizado na Universidade Nacional Chiao-Tung, Taiwan; mantido por Yi-Jheng Lin.
Atualizado a cada 2 horas.

Coleções disponíveis:

OpenBSD-src - O repositório src
OpenBSD-ports - O repositório ports
OpenBSD-www - O repositório www
OpenBSD-x11 - O repositório XFree86-3
OpenBSD-xf4 - O repositório XFree86-4
OpenBSD-all - Todos os repositórios do OpenBSD
mirror.osn.de

localizado na Alemanha; mantido por Armin Wolfermann.
Atualizado a cada 3 horas.

Coleções disponíveis:

OpenBSD-src - O repositório src
OpenBSD-ports - O repositório ports
OpenBSD-www - O repositório www
OpenBSD-x11 - O repositório XFree86-3
OpenBSD-xf4 - O repositório XFree86-4
OpenBSD-xenocara - O repositório Xenocara
OpenBSD-all - Todos os repositórios do OpenBSD
mirror.public-internet.co.uk

localizado em Londres, Reino Unido; mantido por Tom Beard.
Atualizado a cada 2 horas pelo cvsup2.de.openbsd.org.

Coleções disponíveis:

OpenBSD-src - O repositório src
OpenBSD-ports - O repositório ports
cvsup.openbsd.nu

localizado em Estocolmo, Suécia; mantido por Kent Riboe.
Atualizado a cada 3 horas pelo cvsync.de.openbsd.org.

Coleções disponíveis:

OpenBSD-src - O repositório src
OpenBSD-ports - O repositório ports
OpenBSD-www - O repositório www
OpenBSD-x11 - O repositório XFree86-3
OpenBSD-xf4 - O repositório XFree86-4
OpenBSD-xenocara - O repositório Xenocara
OpenBSD-all - Todos os repositórios do OpenBSD
anoncvs.estpak.ee

localizado em Tallinn, Estônia; mantido por Rivo Nurges.
Atualizado a cada 2 horas pelo cvsync.de.openbsd.org.

Coleções disponíveis:

OpenBSD-src - O repositório src
OpenBSD-ports - O repositório ports
OpenBSD-www - O repositório www
OpenBSD-x11 - O repositório XFree86-3
OpenBSD-xf4 - O repositório XFree86-4
OpenBSD-xenocara - O repositório Xenocara
OpenBSD-all - Todos os repositórios do OpenBSD

Nota: Se seu servidor estiver listado aqui com informações imprecisas ou desconhecidas, por favor contate www@openbsd.org.

Você pode usar o traceroute(8) para encontrar qual servidor está mais perto de você. Problemas com um servidor devem ser relatados ao administrador do servidor em questão.

Em Abril de 2010, os tamanhos dos repositórios CVS são:

OpenBSD-ports - 425MB
OpenBSD-src - 1684MB
OpenBSD-www - 401MB
OpenBSD-xenocara - 723MB
OpenBSD-x11 - 200MB
OpenBSD-xf4 - 564MB

Existe ainda um adicional de 408MB para o diretório CVSROOT. A média de crescimento do repositório é de aproximadamente 400MB por ano.

NOTA IMPORTANTE: Existem algumas restrições em relação aos softwares criptográficos que todos devem ter ciência:

O projeto OpenBSD está procurando por mais servidores CVSup -- caso esteja interessado, por favor entre em contato com www@openbsd.org para obter detalhes de configuração.


OpenBSD www@openbsd.org
$OpenBSD: cvsup.html,v 1.25 2010/05/20 05:42:20 ajacoutot Exp $