cookutils rev 592

Translate docs into Russian
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Mar 08 17:23:35 2013 +0000 (2013-03-08)
parents 28740f8c6aee
children f4e45b94f0d8
files .hgtags doc/cookutils.ru.html
line diff
     1.1 --- a/.hgtags	Mon Mar 04 09:35:13 2013 +0000
     1.2 +++ b/.hgtags	Fri Mar 08 17:23:35 2013 +0000
     1.3 @@ -15,8 +15,6 @@
     1.4  c78dde3b62eff80b35be3577a4dc8dea85bcaab6 2.0
     1.5  0b66cd1ea4e8be57061b8ab27f97a6e54b7034ae 3.0
     1.6  21033ee28b1541f725354242697f657964f96768 3.1
     1.7 -0e4ec874b3bd08568c2177648716f97902402343 3.1.1
     1.8 -0e4ec874b3bd08568c2177648716f97902402343 3.1.1
     1.9  ab53ffd168278aeebdc3c10b2c844d4c846f9bb3 3.1.1
    1.10  f764974d085e11e85d2326e7362dffafd0c88a80 3.1.2
    1.11  0e5af63ef05012fed1704ce86d4ebbb25b868be1 3.1.3
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/doc/cookutils.ru.html	Fri Mar 08 17:23:35 2013 +0000
     2.3 @@ -0,0 +1,384 @@
     2.4 +<!DOCTYPE html>
     2.5 +<html xmlns="http://www.w3.org/1999/xhtml">
     2.6 +<head lang="ru">
     2.7 +	<meta charset="utf-8" />
     2.8 +	<title>Документация CookUtils</title>
     2.9 +	<link rel="stylesheet" type="text/css" href="style.css" />
    2.10 +</head>
    2.11 +<body>
    2.12 +<div id="header">
    2.13 +	<h1>Документация CookUtils</h1>
    2.14 +</div>
    2.15 +
    2.16 +<!-- Start content -->
    2.17 +<div id="content">
    2.18 +
    2.19 +<h2>Cook и Cooker в SliTaz</h2>
    2.20 +
    2.21 +<p>Пакет CookUtils в SliTaz содержит утилиты, которые помогут вам собрать пакеты
    2.22 +SliTaz. Они просты в использовании и изучении, быстрые и легковесные. Вы сможете
    2.23 +создавать пакеты SliTaz при помощи всего нескольких команд. В состав CookUtils
    2.24 +входят утилита cook («повар») и <a href="#cooker">Cooker</a> («плита»).</p>
    2.25 +
    2.26 +<p>Cook компилирует исходный код и создает пакет, ведет журнал и проверяет
    2.27 +качество рецепта и пакета. Cooker — это сборочный бот, обладающий большей
    2.28 +автоматизацией, он может использоваться в качестве интерфейса для cook,
    2.29 +поскольку он имеет CGI/веб-интерфейс, позволяющий просматривать журналы cook в
    2.30 +приятном цветном виде. Cook и Cooker используют одни и те же файлы баз данных и
    2.31 +wok, они оба используют списки <a href="#blocked">заблокированных</a> и
    2.32 +испорченных пакетов и т.п.</p>
    2.33 +
    2.34 +<p>Для получения технической информации (стиль кодирования и т.д.), обратитесь к
    2.35 +README, находящемуся в исходниках, либо в папке /usr/share/doc/cookutils.</p>
    2.36 +
    2.37 +
    2.38 +<h3>Использование cook</h3>
    2.39 +
    2.40 +<p>Cook содержит небольшую встроенную справку по использованию, которую можно
    2.41 +отобразить командой <b>usage</b>. Также он имеет несколько параметров для
    2.42 +выполнения специальных задач над пакетами, как перед приготовлением, так и после
    2.43 +него. Итак, чтобы получить справку по использованию:</p>
    2.44 +
    2.45 +<pre># cook <b>usage</b></pre>
    2.46 +
    2.47 +
    2.48 +<h3>Краткая инструкция</h3>
    2.49 +
    2.50 +<p>Первое, что вам нужно сделать, прежде чем начнете собирать пакеты — настроить
    2.51 +окружение. Есть два рекомендованых способа работы: собирать непосредственно на
    2.52 +хосте или собирать в изолированном chroot-окружении (для защиты хоста). Если вы
    2.53 +хотите работать в изолированном окружении, вы можете установить и использовать
    2.54 +Tazdev для создания окружения и переключения на него:</p>
    2.55 +
    2.56 +<pre># tazdev gen-chroot &amp;&amp; tazdev chroot</pre>
    2.57 +
    2.58 +<p>По умолчанию Tazdev создает изолированное окружение в
    2.59 +/home/slitaz/cooking/chroot, но вы можете указать другой путь в параметре:</p>
    2.60 +
    2.61 +<pre>
    2.62 +# tazdev gen-chroot <i>/home/slitaz/4.0/chroot</i>
    2.63 +# tazdev chroot <i>/home/slitaz/4.0/chroot</i>
    2.64 +</pre>
    2.65 +
    2.66 +<p>Расположение изолированного окружения не важно, ведь когда вы будете
    2.67 +находиться в нём, вы будете использовать стандартные пути SliTaz, такие как
    2.68 +/home/slitaz/wok для папки wok и /home/slitaz/log для всех журналов cook. Как
    2.69 +обычно, вы можете вывести справку об использовании tazdev при помощи команды:</p>
    2.70 +
    2.71 +<pre># tazdev usage</pre>
    2.72 +
    2.73 +<p>При использовании изолированного окружения есть две специальные папки,
    2.74 +смонтированные с параметром bind: src и packages. Исходники всех пакетов
    2.75 +по умолчанию сохраняются в /home/slitaz/src; эта папка монтируется в chroot для
    2.76 +того, чтобы утилиты могли ее использовать. Этот метод позволяет обмениваться
    2.77 +исходниками между несколькими изолированными окружениями, например, одно
    2.78 +стабильное, а другое нестабильное. Папка с готовыми пакетами по умолчанию
    2.79 +находится в /home/slitaz/<em>версия</em>/packages, вне изолированного окружения;
    2.80 +пакеты здесь находятся в безопасности в случае удаления chroot по ошибке.</p>
    2.81 +
    2.82 +
    2.83 +<h3>Приступая к работе</h3>
    2.84 +
    2.85 +<p>Итак, вы решили, как вы хотите работать, теперь давайте настроим окружение
    2.86 +cook. Cook использует конфигурационный файл cook.conf, если вы хотите
    2.87 +использовать собственные пути для папок и файлов SliTaz, вам придется изменить
    2.88 +его. Установка создаст некоторые папки и файлы для отслеживания работы и ошибок,
    2.89 +все файлы являются простыми текстовыми файлами, которые можно открыть в любом
    2.90 +текстовом редакторе. Чтобы подготовить окружение:</p>
    2.91 +
    2.92 +<pre># cook setup</pre>
    2.93 +
    2.94 +<p>Команда setup может иметь параметр --wok, который позволяет получить копию
    2.95 +wok SliTaz при настройке окружения cook. Даже если вы еще не являетесь
    2.96 +официальным разработчиком, вы можете получить копию wok и использовать
    2.97 +существующие пакеты в качестве примера для создания собственных. Для настройки
    2.98 +и клонирования wok по умолчанию (версии cooking) или версии undigest:</p>
    2.99 +
   2.100 +<pre>
   2.101 +# cook setup --wok
   2.102 +# cook setup --undigest
   2.103 +</pre>
   2.104 +
   2.105 +
   2.106 +<h3>Проверка окружения</h3>
   2.107 +
   2.108 +<p>Cook понимает команду test, по которой он создаст пакет и приготовит его.
   2.109 +Это позволяет определить, работает ли окружение и является примером пакета
   2.110 +с рецептом. Созданный фиктивный пакет называется «cooktest», его можно удалить
   2.111 +после тестирования. Для приготовления тестового пакета:</p>
   2.112 +
   2.113 +<pre># cook test</pre>
   2.114 +
   2.115 +
   2.116 +<h3>Создание и приготовление</h3>
   2.117 +
   2.118 +<p>Если ваша среда настроена правильно, вы можете приступить к созданию
   2.119 +и компиляции пакетов SliTaz из вашего wok. Чтобы создать новый пакет с пустым
   2.120 +рецептом (вы также можете создавать рецепты в интерактивном режиме):</p>
   2.121 +
   2.122 +<pre>
   2.123 +# cook new имя-пакета
   2.124 +# cook new имя-пакета --interactive
   2.125 +</pre>
   2.126 +
   2.127 +<p>Вы только что создали новый пакет, теперь вам нужно отредактировать рецепт
   2.128 +в вашем любимом текстовом редакторе. Когда рецепт будет готов, вы можете
   2.129 +приготовить его:</p>
   2.130 +
   2.131 +<pre># cook имя-пакета</pre>
   2.132 +
   2.133 +<p>Если все прошло успешно, то вы найдете свой пакет в папке $SLITAZ/packages,
   2.134 +а все созданные файлы — в $SLITAZ/wok/имя-пакета.</p>
   2.135 +
   2.136 +
   2.137 +<h3>Приготовление с установкой</h3>
   2.138 +
   2.139 +<p>Если вы хотите приготовить и установить пакет одной командой:</p>
   2.140 +
   2.141 +<pre># cook имя-пакета --install</pre>
   2.142 +
   2.143 +
   2.144 +<h3>Получение исходников</h3>
   2.145 +
   2.146 +<p>Если вам нужно загрузить только исходники пакета, не создавая его, вы можете
   2.147 +использовать опцию --getsrc как показано ниже:</p>
   2.148 +
   2.149 +<pre># cook имя-пакета --getsrc</pre>
   2.150 +
   2.151 +
   2.152 +<h3>Очистка пакетов</h3>
   2.153 +
   2.154 +<p>После компиляции и упаковки в wok по-прежнему остаются файлы, которые
   2.155 +занимают место на диске. Для очистки выбранного пакета:</p>
   2.156 +
   2.157 +<pre># cook имя-пакета --clean</pre>
   2.158 +
   2.159 +<p>Вы также можете очистить сразу целый wok. Если решите сохранить связанные
   2.160 +с SliTaz файлы, вы можете удалить только исходники:</p>
   2.161 +
   2.162 +<pre>
   2.163 +# cook clean-wok
   2.164 +# cook clean-src
   2.165 +</pre>
   2.166 +
   2.167 +
   2.168 +<h3>Поиск</h3>
   2.169 +
   2.170 +<p>Cook поддерживает простую функцию поиска пакета в wok. Поиск использует grep
   2.171 +и поддерживает регулярные выражения:</p>
   2.172 +
   2.173 +<pre># cook search busybox</pre>
   2.174 +
   2.175 +
   2.176 +<h3>База данных пакетов</h3>
   2.177 +
   2.178 +<p>Cook может создать список пакетов в wok, а также создать соответствующий
   2.179 +список пакетов для TazPkg. Это позволяет легко создавать локальный репозиторий
   2.180 +пакетов, а также используется для создания официального списка пакетов SliTaz,
   2.181 +находящихся на зеркалах. Для просмотра текущего wok (вам не нужно быть
   2.182 +суперпользователем):</p>
   2.183 +
   2.184 +<pre>$ cook list-wok</pre>
   2.185 +
   2.186 +<p>При создании базы данных пакетов Cook проверит наличие редакций (flavors) в
   2.187 +/home/slitaz/flavors и при их наличии укомплектует все редакции новейшими
   2.188 +пакетами из списка доступных. Чтобы создать список пакетов и файлы редакций
   2.189 +Live:</p>
   2.190 +
   2.191 +<pre># cook pkgdb</pre>
   2.192 +
   2.193 +
   2.194 +<h3 id="cooker">Cooker</h3>
   2.195 +
   2.196 +<p>Cooker является сборочным ботом, он предназначен в первую очередь для
   2.197 +проверки изменений в wok, создания упорядоченного списка приготовления, и
   2.198 +приготовления изменившихся пакетов. Он также может быть использован в качестве
   2.199 +интерфейса для cook, так как они оба используют одинаковые файлы. Cooker может
   2.200 +быть также использован для приготовления большого списка пакетов за один прием,
   2.201 +такого, как, например, все пакеты редакции (flavor). Cooker имеет хороший
   2.202 +CGI/веб-интерфейс, который работает по умолчанию на любой системе SliTaz,
   2.203 +поскольку она обеспечивает поддержку CGI с помощью веб-сервера HTTPD BusyBox.</p>
   2.204 +
   2.205 +<p>Cooker содержит небольшую встроенную справку об использовании и о коротких
   2.206 +командах. Например, чтобы отобразить информацию об использовании:</p>
   2.207 +
   2.208 +<pre>
   2.209 +# cooker usage
   2.210 +# cooker -u
   2.211 +</pre>
   2.212 +
   2.213 +
   2.214 +<h3>Настройка Cooker</h3>
   2.215 +
   2.216 +<p>Так же как и Cook, Cooker нуждается в рабочей среде, прежде чем начать его
   2.217 +использовать. Основное отличие от среды Cook в том, что Cooker требует два wok.
   2.218 +Один чистый wok с Hg, в качестве справочного, а другой — ваш экспериментальный
   2.219 +сборочный wok. В таком случае можно будет легко сравнить между собой оба wok
   2.220 +и определить изменения. Если у вас уже есть окружение Cook, вам необходимо
   2.221 +переместить ваш wok до настройки Cooker, или он будет жаловаться. Программа
   2.222 +установки также установит набор пакетов для разработки, которые могут быть
   2.223 +настроены в конфигурационном файле cook.conf и переменной SETUP_PKGS.
   2.224 +Для настройки окружения Cooker:</p>
   2.225 +
   2.226 +<pre># cooker setup</pre>
   2.227 +
   2.228 +<p>Если всё прошло хорошо, то теперь у вас есть 2 wok, установлены базовые
   2.229 +пакеты разработки и созданы все необходимые файлы. Поведение по умолчанию
   2.230 +заключается в проверке коммитов, вы можете запустить тест:</p>
   2.231 +
   2.232 +<pre># cooker</pre>
   2.233 +
   2.234 +
   2.235 +<h3>Работа с Cooker</h3>
   2.236 +
   2.237 +<p>Опять же, теперь есть два способа работы: внести изменения в чистый wok Hg
   2.238 +и запустить Cooker без аргументов, либо готовить пакеты вручную. Cooker
   2.239 +позволяет приготовить одиночный пакет, или все пакеты определеной категории,
   2.240 +или всю редакцию (flavor) целиком. Вы также можете попытаться приготовить все
   2.241 +не приготовленные пакеты, но знайте, что Cooker не был рассчитан для обработки
   2.242 +тысяч пакетов.</p>
   2.243 +
   2.244 +<p>Чтобы приготовить одиночный пакет, то же самое, что дает команда «cook
   2.245 +имя_пакета», но с несколькими журналами:</p>
   2.246 +
   2.247 +<pre># cooker pkg имя-пакета</pre>
   2.248 +
   2.249 +<p>Чтобы приготовить более одного пакета за раз, у вас есть различные решения.
   2.250 +Вы можете использовать существующий список, такой как используемый для редакции
   2.251 +Live, вы также можете использовать собственный список, перечислив имена пакетов
   2.252 +по одному на строку. Наконец, вы можете приготовить все пакеты категории.</p>
   2.253 +
   2.254 +<pre>
   2.255 +# cooker flavor [имя]
   2.256 +# cooker list [/путь/к/списку]
   2.257 +# cooker cat [категория]
   2.258 +</pre>
   2.259 +
   2.260 +<p>Cooker позволяет также повторно приготовить указанную ревизию Hg. Это будет
   2.261 +полезно, если во время приготовления пакетов сборочный бот был прерван новым
   2.262 +коммитом, вы всё равно имеете возможность готовить пакеты вручную:</p>
   2.263 +
   2.264 +<pre># cooker rev 9496</pre>
   2.265 +
   2.266 +
   2.267 +<h3 id="blocked">Заблокированные пакеты</h3>
   2.268 +
   2.269 +<p>Cook и Cooker работают со списком заблокированных пакетов, которые не будут
   2.270 +готовиться даже в случае получения коммита или, если они будут упомянуты в
   2.271 +списке приготовления. Это полезное свойство сборочного бота Cooker. При
   2.272 +блокировании и разблокировании пакетов, вы можете добавить свои примечания.
   2.273 +Пример блокирования пакетов:</p>
   2.274 +
   2.275 +<pre>
   2.276 +# cook имя_пакета --block
   2.277 +# cooker block имя_пакета
   2.278 +# cooker -n "Примечание о блокировании имя_пакета"
   2.279 +</pre>
   2.280 +
   2.281 +<p>Список заблокированных пакетов также отображается в веб-интерфейсе Cooker.
   2.282 +Чтобы разблокировать пакет, используйте команду unblock или запустите Cook
   2.283 +с опцией --unblock:</p>
   2.284 +
   2.285 +<pre>
   2.286 +# cooker unblock имя_пакета
   2.287 +# cook имя_пакета --unblock
   2.288 +</pre>
   2.289 +
   2.290 +
   2.291 +<h3>CGI/веб-интерфейс Cooker</h3>
   2.292 +
   2.293 +<p>Чтобы просмотреть наглядные файлы журналов, проследить порядок работы,
   2.294 +найти ошибки, вы можете использовать веб-интерфейс Cooker, который по умолчанию
   2.295 +находится в папке /var/www/cooker. Если вы не используете изолированное
   2.296 +окружение и веб-сервер Busybox HTTPD запущен, то веб-интерфейс будет работать
   2.297 +без дополнительных настроек и будет доступен по адресу: <a
   2.298 +href="http://localhost/cooker/cooker.cgi">http://localhost/cooker/cooker.cgi</a>
   2.299 +</p>
   2.300 +
   2.301 +<p>Если вы используете изолированную среду, вы должны также установить Cookutils
   2.302 +на вашу хост-машину и изменить путь в переменной SLITAZ. Обычно изолированная
   2.303 +среда находится по пути:</p>
   2.304 +
   2.305 +<pre>/home/slitaz/cooking/chroot</pre>
   2.306 +
   2.307 +<p>Измените /etc/slitaz/cook.conf следующим образом:</p>
   2.308 +
   2.309 +<pre>SLITAZ="/home/slitaz/cooking/chroot/home/slitaz"</pre>
   2.310 +
   2.311 +<p>Примечание: не обязательно устанавливать Cookutils на вашу хост-машину, чтобы
   2.312 +использовать веб-интерфейс. Если вы используете Lighttpd, вы можете также
   2.313 +скопировать файлы cooker.cgi и style.css, например, в папку ~/Public
   2.314 +и использовать собственный cook.conf. Преимущество установки Cookutils на
   2.315 +хост-машину в получении регулярных обновлений через менеджер пакетов TazPkg.
   2.316 +Скажем, вы клонировали или загрузили Cookutils:</p>
   2.317 +
   2.318 +<pre>
   2.319 +$ cp -a cookutils/web ~/Public/cgi-bin/cooker
   2.320 +$ cp -f cookutils/cook.conf ~/Public/cgi-bin/cooker
   2.321 +</pre>
   2.322 +
   2.323 +<p>Отредактируйте конфигурационный файл ~/Public/cgi-bin/cooker/cook.conf,
   2.324 +указав в переменной SLITAZ нужный путь, и это всё!</p>
   2.325 +
   2.326 +
   2.327 +<h3>Заметки (Cooknotes)</h3>
   2.328 +
   2.329 +<p>Функция Cooknotes позволяет записывать небольшие личные заметки о сборке
   2.330 +пакетов и полезна для совместной работы. Cooknotes была написана, чтобы
   2.331 +сопровождающие сборочного бота Cooker в SliTaz могли делиться заметками между
   2.332 +собой и с другими участниками. Cooker может блокировать сборку пакета или
   2.333 +пакеты можно пересобрать вручную, например, неплохо обратите внимание, когда
   2.334 +пакет был заблокирован, чтобы сопровождающий знал, почему администратор сделал
   2.335 +это. Cooknotes отображаются в веб-интерфейсе и могут быть проверены в командной
   2.336 +строке:</p>
   2.337 +
   2.338 +<pre>
   2.339 +# cooker note "Заблокирован имя_пакета из-за высокой нагрузки на процессор"
   2.340 +# cooker notes
   2.341 +</pre>
   2.342 +
   2.343 +
   2.344 +<h3>Cooker в качестве сборочного бота</h3>
   2.345 +
   2.346 +<p>Cooker был задуман как сборочный бот для SliTaz, это означает, что он следит
   2.347 +за обновлениями двух wok на Hg, находит различия и готовит все необходимые
   2.348 +пакеты. Безопасный и прозрачный способ запуска Cooker в качестве сборочного бота
   2.349 +с помощью cron подразумевает использование изолированной среды, но при
   2.350 +необходимости он может работать и непосредственно на хосте.</p>
   2.351 +
   2.352 +<p>Для автоматического запуска Cooker вы должны использовать cron из
   2.353 +изолированной среды и добавить одну строку в корень crontabs в папке
   2.354 +/var/spool/cron/crontabs. Скажем, вы хотите, чтобы Cooker запускался каждые два
   2.355 +часа:</p>
   2.356 +
   2.357 +<pre>* */2 * * * /usr/bin/cooker</pre>
   2.358 +
   2.359 +
   2.360 +<h3>Запуск Cooker BB при загрузке системы</h3>
   2.361 +
   2.362 +<p>Окружение Cooker и задачи cron могут быть автоматически запущены при
   2.363 +загрузке. Вы должны установить пакет cookutils-daemon на хост и использовать
   2.364 +стандартную установку SliTaz, чтобы заставить его работать должным образом
   2.365 +(приготовление идет в /home/slitaz/cooking). Запущенная служба при необходимости
   2.366 +смонтирует любую виртуальную файловую систему, так же как и папки с исходниками
   2.367 +и пакетами. Исходники в /home/slitaz/src связаны с изолированной средой, чтобы
   2.368 +вы могли поделиться исходниками пакетов между несколькими версиями (стабильная,
   2.369 +cooking, undigest). Установите пакет, если он еще не установлен:</p>
   2.370 +
   2.371 +<pre># tazpkg get-install cookutils-daemon</pre>
   2.372 +
   2.373 +<p>Для запуска службы вам необходимо иметь файл описания задачи cron в корне
   2.374 +изолированной среды, эта служба работает так же, как и все другие в системы и
   2.375 +может управляться командами:</p>
   2.376 +
   2.377 +<pre># /etc/init.d/cooker [start|stop|restart]</pre>
   2.378 +
   2.379 +<!-- End content -->
   2.380 +</div>
   2.381 +
   2.382 +<div id="footer">
   2.383 +	Авторское право © 2011–13 разрабочики SliTaz
   2.384 +</div>
   2.385 +
   2.386 +</body>
   2.387 +</html>