O CVSup é um software que distribui e atualiza as árvores de código fonte de um servidor cvs(1) mestre com um servidor remoto. Os códigos fonte do OpenBSD são mantidos 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 de empuxo para suas atualizações. No método de empuxo, 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 na cron(8) para obter as atualizações em uma base regular.
O termo CVSup, escrito desta forma, refere-se ao pacote inteiro do software. Seus componentes principais são o cliente cvsup que roda em cada máquina cliente, e o servidor cvsupd, que roda em cada espelho CVSup do OpenBSD.
O CVSup tem o objetivo de ser mais rápido e flexível que o sup(1), o presucessor do CVSup.
O projeto OpenBSD atualmente possui cinco repositórios principais:
CVS é o sistema de controle de códigos 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 acesso remoto a arquivos, porém ele não é otimizado para distribuição de grandes volumes de dados sobre a rede. O CVSup é muito mais eficiente para esta tarefa.
Compilando o CVSup a partir de seus códigos fonte pode ser um pouco complicado pelo fato dele ser escrito em Modula-3. O port lang/ezm3 disponibiliza uma distribuição menor do compilador e sistema de runtime Modula-3 para as pessoas que precisam somente dele para poder compilar o CVSup. Porém se você quer somente rodar o CVSup, é recomendável que você baixe o pacote do cvsup de um de nossos espelhos ftp ao invés de construir o seu próprio pacote a partir do port net/cvsup. Atualmente os ports do Ezm3 e conseqüentemente do CVSup estão disponíveis somente para a plataforma i386.
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 poderá 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=cvsup.uk.openbsd.org
*default base=/cvs
*default prefix=/cvs
# Se o seu link é T1 ou maior, comente a seguinte linha.
*default compress
OpenBSD-all
#OpenBSD-src
#OpenBSD-www
#OpenBSD-ports
#OpenBSD-x11
#OpenBSD-xf4
Isso faz com que o cvsup atualize todas as distribuições a partir do servidor cvsup.uk.openbsd.org com um umask(2) que permite escrita por grupo ao repositório local.
Assumindo que este 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
É simples verificar qualquer um dos repositórios CVSup. Para shells Korn/Bourne:
# cd /usr
# CVSROOT=/cvs cvs checkout src
Para csh e seus derivados:
# cd /usr
# setenv CVSROOT /cvs
# cvs checkout src
Os comandos acima irão verificar os códigos fonte mais recentes. Muitos de vocês irão somente querer os códigos de lançamento, especialmente se você estiver aplicando correções (patches) no seu sistema. Para fazer o checkout de versões de lançamento, você deve especificar uma tag com o seu comando. Por exemplo:
# cd /usr
# cvs checkout -rOPENBSD_2_9 src
Ou OPENBSD_2_8 para 2.8, etc.
Uma forma alternativa de obter o repositório sem usar o CVS é executando o CVSup em modo checkout adicionando uma tag ou data para seu arquivo de sup (supfile), sendo como um *default, ou como uma opção para uma coleção. Em particular, você pode utilizar isto para de forma eficiente atualizar as árvores de código fonte e ports embutidas nos CDROMs.
O seguinte arquivo de sup pode ser utilizado para atualizar sua árvore de ports:
# Padrões que se aplicam a todas as coleções
*default host=cvsup.uk.openbsd.org
*default base=/var
*default prefix=/usr
*default release=cvs
*default delete use-rel-suffix compress
# Coleção de Ports.
OpenBSD-ports tag=.
Qualquer tag simbólica do CVS pode ser especificada. Um único ponto "." significa HEAD (cabeça), ou a mais nova revisão de todos os arquivos da ramificação 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ódigos fonte com uma tag inválida irá remover 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ê pode também combinar as palavras chave tag e date.
Os seguintes servidores CVSup estão disponíveis:
localizado em Brighton, Reino Unido;
mantido por Brian Somers.
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 |
localizado em Munique, Alemanha;
mantido por Daniel Lang.
Atualizado a cada 24 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 |
localizado na Hungria;
mantido por
Mohacsi Janos.
Atualizado a cada 4 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-all | - Todos os repositórios do OpenBSD |
localizado em West Lafayette, Indiana, EUA;
mantido por
Will Andrews.
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 |
localizado em Redwood City, California, oeste dos EUA;
mantido por Todd Miller.
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 |
localizado na Universidade do Colorado, Boulder, oeste dos EUA;
mantido por Todd Miller.
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 |
localizado em Seul, Coréia;
mantido por
Kim Kyung-Hwan.
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 |
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-all | - Todos os repositórios do OpenBSD |
localizado na Universidade de Coimbra, Portugal;
mantido por
João Pedras.
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-all | - Todos os repositórios do OpenBSD |
também conhecido como grappa.unix-ag.uni-kl.de.
localizado na Universidade de Kaiserslautern, Alemanha;
mantido por
Christian Weisgerber.
Atualizado a cada 6 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 |
localizado em Lake in the Hills, Illinois, EUA;
mantido por Joshua Stein.
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 |
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 |
localizado em Otemachi, Tókio, Japão;
mantido por
Administrador CVSup.
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-all | - Todos os repositórios do OpenBSD |
localizado na Universidade Nacional Chiao-Tung, Taiwan;
mantido por Ying-Chieh Liao.
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 |
localizado em Sydney, Austrália;
mantido por
Grant Bayley.
Atualizado a cada 6 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 |
localizado na Alemanha
mantido por Armin Wolfermann.
Atualizado a cada 4 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 |
também conhecido como openbsd.informatik.uni-erlangen.de.
localizado na Universidade de Erlangen, Alemanha;
mantido por
Alexander von Gernler.
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 |
localizado Plovdiv, Bulgaria;
mantido por
Ventsislav Velkov.
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 |
localizado em Riga, Latvia;
mantido por Peter Dunaskin.
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 |
Nota: Se seu servidor estiver listado aqui com informações imprecisas ou desconhecidas, por favor contate beck@openbsd.org ou brian@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.
Atualmente (em 8 de Dezembro de 2004), os tamanho dos repositórios CVS são:
| OpenBSD-ports | - 168MB | |
| OpenBSD-src | - 1310MB | |
| OpenBSD-www | - 161MB | |
| OpenBSD-x11 | - 200MB | |
| OpenBSD-xf4 | - 525MB |
Existe ainda um adicional de 271MB 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:
Os códigos fonte do OpenBSD são oriundos do Canadá. Assim como pesquisado por um indivíduo canadense e também descrito na Lista de Controle de Exportação do Canadá, é legal exportar softwares criptográficos do Canadá para o mundo.
Porém, caso você esteja fora dos EUA ou Canadá, você não deve baixar as seções criptográficas do código fonte do OpenBSD a partir de um servidor CVSup localizado nos EUA. Os arquivos em questão são...
Pelo motivo da lista de munições ITAR nos EUA, softwares criptográficos podem somente ser exportados para o Canadá pelos EUA.
O projeto OpenBSD está procurando por mais servidores CVSup -- caso esteja interessado, por favor entre em contato Brian Somers para detalhes de configuração.