aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R
diff options
context:
space:
mode:
authorEitan Adler <eadler@FreeBSD.org>2015-04-05 16:07:22 +0000
committerEitan Adler <eadler@FreeBSD.org>2015-04-05 16:07:22 +0000
commit411bbe20b8ae91c146d05076448ce201556a1d58 (patch)
treeef5257adf590a76965875b31dda761b80a2b834f /ru_RU.KOI8-R
parent81ad809393fceae2743c89eb9cae94b4616d7703 (diff)
downloaddoc-411bbe20b8ae91c146d05076448ce201556a1d58.tar.gz
doc-411bbe20b8ae91c146d05076448ce201556a1d58.zip
cvs-freebsd: fully remove it
the cvs-freebsd article was removed from the English version some time ago. Fully remove it from the doc tree now
Notes
Notes: svn path=/head/; revision=46476
Diffstat (limited to 'ru_RU.KOI8-R')
-rw-r--r--ru_RU.KOI8-R/articles/Makefile1
-rw-r--r--ru_RU.KOI8-R/articles/cvs-freebsd/Makefile22
-rw-r--r--ru_RU.KOI8-R/articles/cvs-freebsd/article.xml727
3 files changed, 0 insertions, 750 deletions
diff --git a/ru_RU.KOI8-R/articles/Makefile b/ru_RU.KOI8-R/articles/Makefile
index 27823bfa08..62dd4f9afd 100644
--- a/ru_RU.KOI8-R/articles/Makefile
+++ b/ru_RU.KOI8-R/articles/Makefile
@@ -12,7 +12,6 @@ SUBDIR+= committers-guide
SUBDIR+= contributing
#SUBDIR+= contributors
SUBDIR+= cups
-SUBDIR+= cvs-freebsd
SUBDIR+= explaining-bsd
#SUBDIR+= filtering-bridges
SUBDIR+= fonts
diff --git a/ru_RU.KOI8-R/articles/cvs-freebsd/Makefile b/ru_RU.KOI8-R/articles/cvs-freebsd/Makefile
deleted file mode 100644
index c25ad1e044..0000000000
--- a/ru_RU.KOI8-R/articles/cvs-freebsd/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# The FreeBSD Russian Documentation Project
-#
-# $FreeBSD$
-# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/cvs-freebsd/Makefile,v 1.3 2005/01/03 08:14:37 marck Exp $
-#
-# Original revision: r39631
-#
-
-DOC?= article
-
-FORMATS?= html
-
-INSTALL_COMPRESSED?= gz
-INSTALL_ONLY_COMPRESSED?=
-
-SRCS= article.xml
-
-URL_RELPREFIX?= ../../../..
-DOC_PREFIX?= ${.CURDIR}/../../..
-
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/ru_RU.KOI8-R/articles/cvs-freebsd/article.xml b/ru_RU.KOI8-R/articles/cvs-freebsd/article.xml
deleted file mode 100644
index fdc4083c9e..0000000000
--- a/ru_RU.KOI8-R/articles/cvs-freebsd/article.xml
+++ /dev/null
@@ -1,727 +0,0 @@
-<?xml version="1.0" encoding="koi8-r"?>
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
-<!--
- The FreeBSD Russian Documentation Project
-
- $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/cvs-freebsd/article.xml,v 1.9 2006/02/05 17:43:22 marck Exp $
-
- Original revision: r43184
--->
-<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru">
- <info><title>Настройка хранилища CVS - подход FreeBSD</title>
-
-
- <author><personname><firstname>Stijn</firstname><surname>Hoop</surname></personname><affiliation>
- <address><email>stijn@win.tue.nl</email></address>
- </affiliation></author>
-
- <copyright>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <holder role="mailto:stijn@win.tue.nl">Stijn Hoop</holder>
- </copyright>
-
- <pubdate>$FreeBSD$</pubdate>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
-
- <legalnotice xml:id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.general;
- </legalnotice>
-
- <abstract>
- <para>В этой статье описаны шаги, которые я предпринял для настройки
- хранилища CVS, использующего те же самые скрипты, что используются в
- проекте FreeBSD в их настройке. Это имеет некоторые преимущества перед
- стандартной настройкой CVS, в том числе более точный контроль доступа к
- дереву исходных текстов и посылку содержательных сообщений электронной
- почты при каждом коммите.</para>
- </abstract>
- </info>
-
- <sect1 xml:id="introduction">
- <title>Введение</title>
-
- <para>Большинство программных проектов с открытым кодом используют
- <application>CVS</application> в качестве системы управления исходным
- кодом. Хотя <application>CVS</application> весьма хороша в этом
- качестве, у неё есть свои неудобства и недостатки. Одним из них является
- то, что совместное использование дерева исходных текстов с другими
- разработчиками может быстро привести к кошмарным проблемам при
- администрировании, особенно если кто-то захочет защитить части дерева от
- общедоступности.</para>
-
- <para>FreeBSD является одним из проектов, использующим
- <application>CVS</application>. Здесь также имеет большое количество
- разработчиков, разбросанных по всему миру. Они разработали некоторые
- скрипты, облегчающие управление хранилищем. Недавно &a.joe.email;
- пересмотрел и привел в порядок эти скрипты
- в целях облегчения их использования в других проектах. В этой
- статье описан один из методов использования новых скриптов.</para>
-
- <para>Чтобы извлечь максимум информации из этой статьи, вы должны владеть
- основными методами работы с <application>CVS</application>.</para>
- </sect1>
-
- <sect1 xml:id="first-setup">
- <title>Первоначальная настройка</title>
-
- <warning>
- <para>Наверное, лучше сначала выполнить эту процедуру с пустым тестовым
- хранилищем, чтобы понять все последствия ваших действий. Как обычно в
- таких случаях, у вас должны иметься свежие читаемые резервные
- копии!</para>
- </warning>
-
- <sect2>
- <title>Инициализация хранилища</title>
-
- <para>Первым делом при настройке нового хранилища необходимо его
- инициализировать, для чего выдать <application>CVS</application>
- такую команду:</para>
-
- <screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-repository</replaceable> init</userinput></screen>
-
- <para>Результатом ее выполнения будет созданный
- <application>CVS</application> служебный
- каталог <filename>CVSROOT</filename>, в котором выполняется вся
- настройка.</para>
- </sect2>
-
- <sect2>
- <title>Группа пользователей хранилища</title>
-
- <para>Теперь мы создадим группу, которая будет владеть хранилищем. В
- этой группе должны присутствовать все коммиттеры, для того, чтобы они
- могли писать в хранилище. Для этой группы мы примем стандартное для
- FreeBSD название <literal>ncvs</literal>.</para>
-
- <screen>&prompt.root; <userinput>pw groupadd <replaceable>ncvs</replaceable></userinput></screen>
-
- <para>Затем вы должны при помощи команды &man.chown.8; сменить владельца и
- группу для только что добавленного каталога:</para>
-
- <screen>&prompt.root; <userinput>chown -R :<replaceable>ncvs</replaceable> <replaceable>path-to-your-repository</replaceable></userinput></screen>
-
- <para>Это нужно для того, чтобы никто не мог записывать в хранилище, не
- являясь членом группы.</para>
- </sect2>
-
- <sect2>
- <title>Получение исходных текстов</title>
-
- <para>Теперь вам нужно получить каталог <filename>CVSROOT</filename> из
- хранилища FreeBSD. Проще всего это делается извлечением с анонимного
- зеркала CVS FreeBSD. Обратитесь к <link xlink:href="&url.books.handbook;/anoncvs.html">соответствующей главе
- Руководства</link> для получения дополнительной информации. Мы будем
- полагать, что исходные тексты хранятся в подкаталоге
- <filename>CVSROOT-freebsd</filename> текущего каталога.</para>
- </sect2>
-
- <sect2>
- <title>Копирование скриптов FreeBSD</title>
-
- <para>Теперь мы скопируем исходные тексты FreeBSD из
- <filename>CVSROOT</filename> в наше хранилище. Если вы знакомы с
- <application>CVS</application>, то для вас может иметь смысл попытаться
- импортировать скрипты, чтобы облегчить синхронизацию с последующими
- версиями. Однако при этом оказывается, что
- <application>CVS</application> имеет в этой области недостаток: при
- импортировании исходных текстов в каталог <filename>CVSROOT</filename>
- она не будет обновлять необходимые административные файлы. Чтобы в
- этом убедиться, вам нужно проверить каждый файл после импортирования,
- при этом смысл <literal>cvs import</literal> теряется. Поэтому
- рекомендуемым методом является простое копирование скриптов.</para>
-
- <para>Не имеет значения, как вы относитесь к предыдущему
- параграфу&mdash;результат один и тот же. Просто поместите ваш
- <filename>CVSROOT</filename> и скопируйте файлы FreeBSD поверх ваших
- локальных (неизмененных) копий:</para>
-
- <screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-your-repository</replaceable> checkout CVSROOT</userinput>
-&prompt.user; <userinput>cd CVSROOT</userinput>
-&prompt.user; <userinput>cp ../CVSROOT-freebsd/* .</userinput>
-&prompt.user; <userinput>cvs add *</userinput></screen>
-
- <para>Заметим, что вы, скорее всего, получите несколько предупреждений о
- том, что некоторые каталоги не были скопированы; это нормально, вам они
- не нужны.</para>
- </sect2>
-
- <sect2>
- <title>Скрипты</title>
-
- <para>Теперь у вас есть рабочий каталог и точная копия скриптов, которые
- используются в проекте FreeBSD для работы с хранилищем. Далее следует
- краткое описание назначения каждого файла.</para>
-
- <itemizedlist>
- <listitem>
- <para><filename>access</filename> - по умолчанию при стандартной
- настройке этот файл не используется. Он применяется в <link linkend="freebsdspecific">специфичных для проекта FreeBSD
- настройках</link>, где он управляет доступом к хранилищу. Вы
- можете удалить этот файл, если вы не собираетесь использовать такую
- настройку.</para>
- </listitem>
-
- <listitem>
- <para><filename>avail</filename> - этот файл управляет доступом к
- хранилищу. В нем вы можете указать группы людей, которым разрешен
- доступ к хранилищу, а также запретить коммиты на уровне каталогов.
- Вы должны поднастроить его так, чтобы он содержал группы и
- каталоги, имеющиеся в вашем хранилище.</para>
- </listitem>
-
- <listitem>
- <para><filename>cfg.pm</filename> - этот файл анализирует вашу
- конфигурацию и содержит настройки по умолчанию. Вы
- <emphasis>не</emphasis> должны изменять этот файл. Вместо этого
- размещайте ваши изменения в конфигурации в файле
- <filename>cfg_local.pm</filename>.</para>
- </listitem>
-
- <listitem>
- <para><filename>cfg_local.pm</filename> - этот файл содержит все
- настраиваемые параметры системы. Вы должны настраивать все
- параметры здесь, например, куда посылается почта при коммите, с
- каких хостов можно выполнять коммиты, и прочее. Ниже дается более
- полная информация об этом.</para>
- </listitem>
-
- <listitem>
- <para><filename>checkoutlist</filename> - эти файлы перечисляют все
- файлы, управляемые <application>CVS</application> в этом каталоге.
- Вы должны отредактировать его для удаления некоторых специфичных
- для FreeBSD файлов.</para>
- </listitem>
-
- <listitem>
- <para><filename>commit_prep.pl</filename> - этот скрипт выполняет
- различные проверки перед выполнением коммита, в зависимости от
- того, включили ли вы их в <filename>cfg_local.pm</filename>. Вам
- не нужно его трогать.</para>
- </listitem>
-
- <listitem>
- <para><filename>commitcheck</filename> - этот скрипт вызывается
- непосредственно из <application>CVS</application>. Сначала он
- проверяет, с использованием <filename>cvs_acls.pl</filename>,
- имеет ли коммитер доступ к указанной части дерева, а
- затем запускает <filename>commit_prep.pl</filename> для выполнения
- различных проверок перед коммитом. Если они выполнились нормально,
- то <application>CVS</application> позволит выполнить коммит. Вам
- не нужно трогать этот файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>commitinfo</filename> - этот файл используется в
- <application>CVS</application> для определения того, какой скрипт
- запускать перед коммитом&mdash;в данном случае
- <filename>commitcheckl</filename>. Вам не нужно трогать
- этот файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>config</filename> - конфигурационный файл для этого
- хранилища. Вы должны изменять его при необходимости, но
- большинство администраторов могут оставить все настройки по
- умолчанию. Дополнительную информацию о параметрах, которые могут
- быть здесь заданы, можно найти в руководстве
- по <application>CVS</application>.</para>
- </listitem>
-
- <listitem>
- <para><filename>cvs_acls.pl</filename> - этот скрипт идентифицирует
- пользователя и то, имеет ли он доступ к дереву. Это делается
- на основе информации в файле <filename>avail</filename>. Вам не
- нужно трогать этот файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>cvsignore</filename> - этот файл перечисляет файлы,
- которые <application>CVS</application> не должна помещать в
- хранилище. Вы можете отредактировать его по своему усмотрению.
- Более полная информация об этом файле находится в руководстве по
- <application>CVS</application>.</para>
- </listitem>
-
- <listitem>
- <para><filename>cvswrappers</filename> - этот файл используется в
- <application>CVS</application> для включения или выключения
- расширения ключевых слов, или должен ли файл считаться бинарным.
- Вы можете редактировать его по своему усмотрению. Более полная
- информация об этом файле находится в руководстве по
- <application>CVS</application>. Имейте ввиду, что опции
- <application>CVS</application> <literal>-t</literal> и
- <literal>-f</literal> некорректно работают в режиме
- клиент/сервер.</para>
- </listitem>
-
- <listitem>
- <para><filename>edithook</filename> - этот файл больше не
- используется, но оставлен по историческим причинам. Вы можете
- спокойно удалить этот файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>editinfo</filename> - <application>CVS</application>
- использует этот файл для настройки редактора. FreeBSD не
- использует эту функциональность, так как обработка сообщений
- для журнала выполняется в файлах <filename>verifymsg</filename> и
- <filename>logcheck</filename>. Это происходит по той причине,
- что <filename>editinfo</filename> некорректно работает в режиме
- клиент/сервер, или в случаях когда используются опции
- <literal>-m</literal> или <literal>-F</literal>. Вам не нужно
- трогать этот файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>exclude</filename> - в этом файле перечислены
- регулярные выражения, используемые
- <filename>commit_prepl.pl</filename> для выделения файлов, в которых
- могут не содержаться заголовки с номером версии. В настройке
- FreeBSD все файлы содержащиеся в хранилище должны иметь
- заголовок с версией (типа &dollar;FreeBSD&dollar;). Все файлы
- с именами, которые соответствуют одной из строк этого файла,
- исключаются из проверки. Вы должны добавить выражения в этот
- файл, если вы помещаете в хранилище файлы, которые не могут
- иметь заголовки с версиями. Для целей установки скриптов лучшим
- решением может оказаться исключение <filename>CVSROOT/</filename>
- из проверки заголовков.</para>
- </listitem>
-
- <listitem>
- <para><filename>log_accum.pl</filename> - это скрипт, который
- принимает журнальное сообщение в виде, данном скриптом
- <filename>logcheck</filename>, и добавляет его к файлу журнала в
- хранилище для хранения резервной копии. Он также отрабатывает
- посылку сообщения по электронной почте на адрес, который вы
- зададите (в файле <filename>cfg_local.pm</filename>). Он
- подключается к <application>CVS</application> через
- <filename>loginfo</filename>. Вам не нужно трогать этот
- файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>logcheck</filename> - при коммите этот файл
- анализирует сообщение для журнала, которое составляют коммиттеры, и
- пытается его некоторым образом улучшить. Он подключается к
- <application>CVS</application> через <filename>logcheck</filename>.
- Вам не нужно трогать этот файл.</para>
-
- <note>
- <para>Этот скрипт зависит от ряда локальных модификаций
- <application>CVS</application>, сделанный во FreeBSD: эта версия
- читает журнальное сообщение повторно после того, как этот скрипт
- его модифицирует. Стандартная версия
- <application>CVS</application> этого не делает, что делает этот
- скрипт бесполезным, так как он не может модифицировать
- журнальное сообщение, хотя может проверить его на предмет
- правильности синтаксиса. <application>CVS</application>
- версии 1.11.2 и выше может быть настроен, чтоб иметь
- поведение подобное FreeBSD, путем установки опции
- <literal>RereadLogAfterVerify=always</literal> в
- файле <filename>config</filename>.</para>
- </note>
- </listitem>
-
- <listitem>
- <para><filename>loginfo</filename> - этот файл используется
- <application>CVS</application> для управления того, куда посылается
- протокольная информация. С помощью этого файла подключается
- <filename>log_accum.pl</filename>. Вам не нужно трогать этот
- файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>modules</filename> - этот файл сохраняет своё
- традиционное назначение в <application>CVS</application>. Вы
- должны удалить модули FreeBSD из стандартной версии. Вы можете
- редактировать этот файл по своему усмотрению. Более полная
- информация об этом файле находится в руководстве по
- <application>CVS</application>.</para>
- </listitem>
-
- <listitem>
- <para><filename>notify</filename> - этот файл используется в
- <application>CVS</application> в том случае, если кто-то задаст
- отслеживание файла. Это не используется в хранилище FreeBSD. Вы
- можете редактировать его по своему усмотрению. Более полная
- информация об этом файле находится в руководстве по
- <application>CVS</application>.</para>
- </listitem>
-
- <listitem>
- <para><filename>options</filename> - этот файл специфичен для
- версии <application>CVS</application> от FreeBSD, но также
- поддерживается версией для Debian. Он содержит
- ключевое слово для расширения в заголовках версий. Вы должны
- заменить это на ключевое слово, которое вы задали в файле
- <filename>cfg_local.pm</filename> (если вы используете эту
- возможность, которая в настоящее время специфична для
- FreeBSD).</para>
- </listitem>
-
- <listitem>
- <para><filename>rcsinfo</filename> - этот файл отображает каталоги в
- хранилище на файлы шаблонов, как например
- <filename>rcstemplate</filename>. По умолчанию FreeBSD использует
- один шаблон для всего хранилища. Вы можете добавлять другие
- к этому файлу по своему усмотрению.</para>
- </listitem>
-
- <listitem>
- <para><filename>rcstemplate</filename> - этот файл является
- актуальным файлом шаблона, который видят коммиттеры, когда помещают
- что-то в хранилище. Вы должны отредактировать его для описания
- различных дополнительных параметров, которые вы определили в
- <filename>cfg_local.pm</filename>.</para>
- </listitem>
-
- <listitem>
- <para><filename>tagcheck</filename> - эти файлы управляют доступом к
- созданию меток в хранилище. Стандартная для FreeBSD версия не
- позволяет создавать метки с именами типа RELENG* из-за пересечения
- с процессом создания релизов. Вы должны отредактировать этот файл
- по вашему усмотрению.</para>
- </listitem>
-
- <listitem>
- <para><filename>taginfo</filename> - этот файл ставит в соответствие
- операции с метками над каталогами хранилища скриптам управления
- доступом, например <filename>tagcheck</filename>. Вам не нужно
- трогать этот файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>unwrap</filename> - этот скрипт нужен для
- автоматической обратной обработки (<quote>unwrap</quote>) двоичных
- файлов (посмотрите <filename>cvswrappers</filename>) при
- извлечении. Это не используется в текущей настройке FreeBSD по
- причине того, что не работает с конфигурацией клиент/сервер. Вам
- не нужно трогать этот файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>verifymsg</filename> - этот файл ставит в
- соответствие каталогам хранилища скрипты вторичной обработки
- журнальных сообщений, например <filename>logcheck</filename>.
- Вам не нужно трогать этот файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>wrap</filename> - этот скрипт может быть использован для
- автоматической обработки (<quote>wrap</quote>) двоичных файлов
- (посмотрите <filename>cvswrappers</filename>) при помещении в
- хранилище. Это не используется в текущей настройке FreeBSD, по
- причине того, что не работает с конфигурацией клиент/сервер. Вам
- не нужно трогать этот файл.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Настройка скриптов</title>
-
- <para>Следующим шагом является настройка скриптов так, чтобы они работали
- в ваших условиях. Вы должны просмотреть все файлы в каталоге и
- выполнить ваши настройки. В частности, вы может потребоваться
- отредактировать следующие файлы:</para>
-
- <procedure>
- <step>
- <para>Если вы не хотите использовать <link linkend="freebsdspecific">специфичные для FreeBSD
- возможности</link> скриптов, то вы можете без последствий удалить
- файл <filename>access</filename>:</para>
-
- <screen>&prompt.user; <userinput>cvs rm -f access</userinput></screen>
- </step>
-
- <step>
- <para>Отредактируйте <filename>avail</filename> так, чтобы он
- содержал различные каталоги хранилища, доступом к которым вы хотите
- управлять. Обязательно сохраните строчку
- <literal>avail||CVSROOT</literal>, иначе вы заблокируете сами себя
- на следующем шаге.</para>
-
- <para>Другими параметрами, которые вы можете добавить в этот файл,
- являются группы коммиттеров. По умолчанию FreeBSD использует файл
- <filename>access</filename> для перечисления всех коммиттеров, но
- вы можете использовать любой файл. Вы можете также добавить
- группы, если хотите (синтаксис описан в начале файла
- <filename>cvs_acls.pl</filename>).</para>
- </step>
-
- <step>
- <para>Отредактируйте файл <filename>cfg_local.pm</filename> так,
- чтобы он содержал параметры, которые вы хотите. В частности, вы
- должны взглянуть на такие пункты настройки:</para>
-
- <itemizedlist>
- <listitem>
- <para><literal>%TEMPLATE_HEADERS</literal> - они обрабатываются
- скриптами ведения протокола, и вставляются ниже почтового
- сообщения, если они присутствуют и не являются пустыми в
- сообщении при коммите. Вы можете, наверное, удалить строки
- <literal>PR</literal> и <literal>MFC after</literal>. И,
- конечно, вы можете добавить свои собственные.</para>
- </listitem>
-
- <listitem>
- <para><literal>$MAIL_BRANCH_HDR</literal> - если вы хотите
- в каждое сообщение при коммите вставлять заголовок, описывающий
- ветку, в которую был выполнен коммит, задайте это в
- соответствии с вашим окружением. Или оставьте это пустым, если
- не хотите иметь такой заголовок.</para>
- </listitem>
-
- <listitem>
- <para><literal>@COMMIT_HOSTS</literal> - задайте здесь список
- хостов, с которых можно выполнять коммиты.</para>
- </listitem>
-
- <listitem>
- <para><literal>$MAILADDRS</literal> - задайте здесь адрес
- администратора или списка, в который должны направляться
- почтовые сообщения при коммите.</para>
- </listitem>
-
- <listitem>
- <para><literal>@LOG_FILE_MAP</literal> - измените этот массив по
- своему усмотрению - каждое регулярное выражение сравнивается с
- каталогом коммита, и протокольное сообщение при коммите
- сохраняется в подкаталоге <filename>commitlogs</filename>
- в указанном файле.</para>
- </listitem>
-
- <listitem>
- <para><literal>$COMMITCHECK_EXTRA</literal> - если вы не хотите
- использовать <link linkend="freebsdspecific">специфичные для
- FreeBSD проверки доступа</link>, то вы должны удалить
- определения <literal>$COMMITCHECK_EXTRA</literal> из этого
- файла.</para>
- </listitem>
- </itemizedlist>
-
- <note>
- <para>Изменение параметра <literal>$IDHEADER</literal>
- гарантированно работает только на платформах FreeBSD; это зависит
- от специфичных для FreeBSD модификаций в
- <application>CVS</application>.</para>
- </note>
-
- <para>Вы можете проверить <filename>cfg.pm</filename> на предмет того,
- какие другие параметры могут быть изменены, но перечисленное выше
- является достаточным подмножеством.</para>
- </step>
-
- <step>
- <para>Отредактируйте <filename>exclude</filename> для удаления
- специфичных для FreeBSD записей (например, всех строк, которые
- начинаются с <literal>^ports/</literal> и так далее). Более того,
- закомментируйте строки, начинающиеся с
- <literal>^CVSROOT/</literal>, и добавьте одну строку только с
- <literal>^CVSROOT/</literal>. После установки обработчика
- (wrapper) вы можете добавить свои заголовки к файлам в каталоге
- <filename>CVSROOT</filename> и восстановить эти строки, но теперь
- они будут иметь смысл, только когда вы попытаетесь выполнить коммит
- позже.</para>
- </step>
-
- <step>
- <para>Отредактируйте файл <filename>modules</filename> и удалите всё,
- что относится к FreeBSD. Добавьте собственные модули, если
- хотите.</para>
- </step>
-
- <step>
- <note>
- <para>Этот шаг необходим, если только вы задали значение для
- <literal>$IDHEADER</literal> в <filename>cfg_local.pm</filename>
- (что работает только при использовании модифицированной во
- FreeBSD версии <application>CVS</application>).</para>
- </note>
-
- <para>Отредактируйте файл <filename>options</filename> так, чтобы он
- соответствовал метке, которую вы задали в
- <filename>cfg_local.pm</filename>. Глобальный поиск и замена
- <literal>FreeBSD</literal> на вашу метку должны сработать.</para>
- </step>
-
- <step>
- <para>Отредактируйте файл <filename>rcstemplate</filename> так, чтобы
- он содержал те же самые ключевые слова, что заданы в
- <filename>cfg_local.pm</filename>.</para>
- </step>
-
- <step>
- <para>Опционально удалите проверки FreeBSD из
- <filename>tagcheck</filename>. Вы можете просто добавить
- <literal>exit 0</literal> в начало файла, чтобы запретить все
- проверки при установке метки.</para>
- </step>
-
- <step>
- <para>Последним действием, которое нужно сделать перед тем, как
- закончить работу, является проверка того, что протоколы коммитов
- могут сохраняться. По умолчанию они сохраняются в хранилище, в
- подкаталоге <filename>commitlogs</filename> каталога
- <filename>CVSROOT</filename>. Этот каталог должен быть создан, так
- что выполните следующее:</para>
-
- <screen>&prompt.user; <userinput>mkdir commitlogs</userinput>
-&prompt.user; <userinput>cvs add commitlogs</userinput></screen>
- </step>
- </procedure>
-
- <para>А теперь, после тщательной проверки, вы должны выполнить коммит
- ваших изменений. Убедитесь, что вы дали сами себе доступ к каталогу
- <filename>CVSROOT</filename> в вашем <filename>avail</filename> до
- того, как его делать, так как в противном случае вы заблокируете сами
- себя. Так что убедитесь, что всё именно так, как вы и предполагали, а
- затем выполните следующее:</para>
-
- <screen>&prompt.user; <userinput>cvs commit -m '<replaceable>- Initial FreeBSD scripts commit</replaceable>'</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Тестирование настройки</title>
-
- <para>Вы готовы к первому тестированию: принудительному коммиту в файл
- <filename>avail</filename>, чтобы убедиться, что всё работает так, как
- ожидалось.</para>
-
- <screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Forced commit to test the new CVSROOT scripts</replaceable>' avail</userinput></screen>
-
- <para>Если всё работает, поздравляем! Теперь у вас имеется работающая
- настройка скриптов FreeBSD для вашего хранилища. Если
- <application>CVS</application> всё ещё о чём-то сообщает, вернитесь и
- проверьте, все ли вышеупомянутые шаги были выполнены правильно.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="freebsdspecific">
- <title>Специфичная для FreeBSD настройка</title>
-
- <para>Проект FreeBSD сам по себе использует несколько другую настройку,
- в которой также используются файлы из подкаталога
- <filename>freebsd</filename> каталога FreeBSD
- <filename>CVSROOT</filename>. Проект использует их из-за большого
- количества коммиттеров, которые все должны быть в одной и той же группе.
- Поэтому был написан простой обработчик, проверяющий, что люди имеют
- правильные права на выполнение коммита, а затем устанавливающий
- идентификатор группы, соответствующий идентификатору хранилища.</para>
-
- <para>Если вашему хранилищу это тоже нужно, то шаги для выполнения этого
- описаны ниже. Но сначала обзор связанных с этим файлов.</para>
-
- <sect2>
- <title>Файлы, используемые в настройке FreeBSD</title>
-
- <itemizedlist>
- <listitem>
- <para><filename>access</filename> - этот файл управляет информацией
- о доступе. Вы должны отредактировать этот файл для включения
- всех участников вашего проекта.</para>
- </listitem>
-
- <listitem>
- <para><filename>freebsd/commitmail.pl</filename> - этот файл больше
- не используется, но оставлен по историческим причинам. Вам не
- нужно трогать этот файл.</para>
- </listitem>
-
- <listitem>
- <para><filename>freebsd/cvswrap.c</filename> - это исходный текст
- обработчика CVS, который вам нужно установить, чтобы проверки
- доступа реально заработали. Дополнительная информация об этом
- ниже. Вы должны отредактировать маршруты в макросах
- <literal>ACCESS</literal> и <literal>REALCVS</literal> так, чтобы
- они соответствовали вашей настройке.</para>
- </listitem>
-
- <listitem>
- <para><filename>freebsd/mailsend.c</filename> - этот файл нужен
- в настройке FreeBSD для списков рассылки. Вам не нужно трогать
- этот файл.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Процедура</title>
-
- <procedure>
- <step>
- <para>Отредактируйте файл <filename>access</filename> так, чтобы
- он содержал только ваше имя пользователя.</para>
- </step>
-
- <step>
- <para>Отредактируйте <filename>cvswrap.c</filename> так, чтобы он
- содержал правильный маршрут для вашей настройки. Это определено в
- макросе по имени <literal>ACCESS</literal>. Вы должны также
- изменить расположение реального выполнимого файла
- <command>cvs</command>, если оно не подходит к вашей ситуации.
- Для стандартного <filename>cvswrap.c</filename> предполагается, что
- он заменит общесистемную команду cvs, которая будет перемещена в
- <filename>/usr/bin/ncvs</filename>.</para>
-
- <para>В моём экземпляре <filename>cvswrap.c</filename> помещено
- следующее:</para>
-
- <programlisting>#define ACCESS "/local/cvsroot/CVSROOT/access"
-#define REALCVS "/usr/bin/ncvs"</programlisting>
- </step>
-
- <step>
- <para>Следующим шагом является установка обработчика для того, чтобы
- проверить правильность установки группы при выполнении коммита.
- Исходные тексты для этого размещены в
- <filename>cvswrap.c</filename> из вашего
- <filename>CVSROOT</filename>.</para>
-
- <para>Откомпилируйте исходные тексты, которые вы редактировали для
- включения правильных путей:</para>
-
- <screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>
-
- <para>А затем установите их (для этого вы должны быть пользователем
- root):</para>
-
- <screen>&prompt.root; <userinput>mv /usr/bin/cvs /usr/bin/ncvs</userinput>
-&prompt.root; <userinput>mv cvs /usr/bin/cvs</userinput>
-&prompt.root; <userinput>chown root:<replaceable>ncvs</replaceable> /usr/bin/cvs /usr/bin/ncvs</userinput>
-&prompt.root; <userinput>chmod o-rx /usr/bin/ncvs</userinput>
-&prompt.root; <userinput>chmod u-w,g+s /usr/bin/cvs</userinput></screen>
-
- <para>При этом обработчик будет установлен по умолчанию как команда
- <command>cvs</command>, что гарантирует всеми, использующими
- хранилище, получение правильных уровней доступа.</para>
- </step>
-
- <step>
- <para>Теперь вы можете убрать всех из вашей группы хранилища. Всё
- управление доступом выполняется вашим обработчиком, и он будет
- устанавливать правильную группу для доступа.</para>
- </step>
- </procedure>
- </sect2>
-
- <sect2>
- <title>Тестирование настройки</title>
-
- <para>Теперь ваш обработчик должен быть установлен. Конечно, вы можете
- протестировать его, выполнив принудительный коммит в файл
- <filename>access</filename>:</para>
-
- <screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Forced commit to test the new CVSROOT scripts</replaceable>' access</userinput></screen>
-
- <para>И снова, если это не сработает, проверьте, правильно ли были выполнены
- все вышеперечисленные шаги.</para>
- </sect2>
- </sect1>
-</article>