[OpenBSD]

CVSup


Оглавление


Что такое CVSup?

CVSup - это программное обеспечение позволяющее распространять и обновлять деревья исходных текстов с главного cvs(1) репозитория. Дерево исходных текстов OpenBSD поддерживается разработчиками на центральной машине в Канаде. Используя CVSup, пользователь может содержать своё собственное дерево исходных текстов в обновлённом состоянии.

CVSup использует, так называемую, вытягивающую модель обновления исходных текстов. Под этой моделью подразумевается, что каждый CVSup клиент запрашивает у сервера обновления. Сервер пассивно ожидает от клиента запрос. Таким образом, все обновления провоцируются клиентом. Сервер никогда не посылает данные, которые клиент не запрашивал. Пользователи же, должны запускать клиент CVSup вручную или установить выполнение периодических процессов с помощью cron(8).

Термин CVSup, относится к полному пакету программ. Его главные компоненты: клиент cvsup, который запускается на машине пользователя и сервер cvsupd, который запущен на каждом CVSup сервере.

CVSup предназначался быть более эффективным и более гибким, чем его предшественник - sup(1)

Проект OpenBSD в настоящее время имеет пять основных репозиториев:

Что такое CVS?

CVS - это система контроля версий, используется для управления исходными текстами системы. Более подробно описано здесь. CVS и CVSup совершенно разные программы. Хотя CVS можно использовать для удалённого доступа к файлам, он не оптимизирован для распространения полного дерева по сети. CVSup более эффективно справляется с этой задачей.

Работа с CVSup

CVSup написан на Modula-3, поэтому его довольно сложно скомпилировать и установить. Порт lang/ezm3 содержит специальный дистрибутив Modula-3 необходимый лишь для компиляции CVSup. Мы рекомендуем установить уже собранный пакет CVSup с ftp сервера, вместо создания собственного из порта net/cvsup. В настоящий момент, порты CVSup и Ezm3 доступны только для i386 платформы.

За дополнительной информацией о CVSup, обратитесь к домашней странице автора http://www.polstra.com/projects/freeware/CVSup/.

Пример файла конфигурации CVSup для зеркалирования репозитория OpenBSD:

        # Defaults that apply to all the collections
        *default release=cvs
        *default delete use-rel-suffix
        *default umask=002
        *default host=cvsup.uk.openbsd.org
        *default base=/cvs
        *default prefix=/cvs

        # If your network link is a T1 or faster, comment out the following line.
        *default compress

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

CVSup обновит весь исходной код OpenBSD с cvsup.uk.openbsd.org и установит маску доступа umask(2), разрешающею запись для группы в локальном репозитории.

Предположим этот файл конфигурации, сохранен как cvs-supfile, следующая команда запустит CVSup в графическом режиме:

        cvsup cvs-supfile

для запуска из скрипта или в терминале, используйте:

        cvsup -g -L 2 cvs-supfile

Использование CVS для обновления исходного кода

Чтобы получить любой из CVSup репозиториев. Для Korn/Bourne оболочек:

        # cd /usr
        # CVSROOT=/cvs cvs checkout src

Для csh и его производных:

        # cd /usr
        # setenv CVSROOT /cvs
        # cvs checkout src

Вышесказанное извлечет current дерево исходных текстов OpenBSD. Чтобы получить исходные тексты релиза OpenBSD, вы должны указать тег. Например:

        # cd /usr
        # cvs checkout -rOPENBSD_2_9 src

Или OPENBSD_2_8 для 2.8, и т.д.

Запуск CVSup в режиме извлечения

В качестве альтернативы CVS, для получения исходных текстов, вы можете использовать CVSup в режиме извлечения, добавляя тег или дату к вашему файлу конфигурации, как *default или как опцию к указанному репозиторию. В частности, вы можете использовать CVSup для обновления исходных текстов и дерева портов, поставляемых на CD диске.

Пример файла конфигурации для обновления портов:

        # Defaults that apply to all the collections
        *default host=cvsup.uk.openbsd.org
        *default base=/var
        *default prefix=/usr
        *default release=cvs
        *default delete use-rel-suffix compress

        # Ports Collection.
        OpenBSD-ports tag=.

Любой из CVS тегов может быть использован. Одиночная точка "." означает HEAD, т.е. текущее, находящееся в разработке дерево. Будьте внимательны при указании тега. CVSup не может отличить правильные теги от неправильных, попытка синхронизации существующего дерева с указанием неправильного тега закончится неудачей и CVSup удалит все существующие файлы.

Вы можете использовать ключевое слово date=[cc.]yy.mm.dd.hh.mm.ss для выбора ревизии по времени. Все 17 или 20 символов должны быть указаны. Для 2000 года и более поздних необходимо указывать столетие cc. Для более ранних годов достаточно указать только две последние цифры yy. Вы можете также объединить тег и дату.

Доступные CVSup сервера

Список доступных CVSup серверов.

Если ваш сервер перечислен с неточной или неполной информацией, пожалуйста свяжитесь с beck@openbsd.org или brian@openbsd.org.

Вы можете использовать traceroute(8), чтобы определить какой сервер находится ближе к вам. При возникновении проблем с сервером, свяжитесь с поддерживающим его персоналом.

В настоящее время (7 апреля, 2003), размеры CVS репозитория таковы:

OpenBSD-ports - 123MB
OpenBSD-src - 993MB
OpenBSD-www - 81MB
OpenBSD-x11 - 200MB
OpenBSD-xf4 - 439MB

Должно быть, ещё дополнительно около 41MB для CVSROOT и sup каталогов. Суммарный размер репозитория увеличивается примерно на 225MB в год.

ВАЖНОЕ ПРИМЕЧАНИЕ: имеется несколько ограничений, касающихся криптографического программного обеспечения, которые вы должны знать:

Проект OpenBSD ищет дополнительные CVSup сервера -- если вы заинтересованы, пожалуйста, свяжитесь с Brian Somers для обсуждения деталей конфигурирования.


OpenBSD www@openbsd.org
Originally [OpenBSD: cvsup.html,v 1.75 ]
$RuOBSD: cvsup.html,v 1.17 2004/02/28 08:38:39 dfa Exp $
$Translation: cvsup.html,v 1.25 2004/02/28 19:30:43 dfa Exp $
$OpenBSD: cvsup.html,v 1.22 2004/02/29 08:50:22 jufi Exp $