cookutils view doc/cookutils.ru.html @ 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
children 24dbe04170be
line source
1 <!DOCTYPE html>
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head lang="ru">
4 <meta charset="utf-8" />
5 <title>Документация CookUtils</title>
6 <link rel="stylesheet" type="text/css" href="style.css" />
7 </head>
8 <body>
9 <div id="header">
10 <h1>Документация CookUtils</h1>
11 </div>
13 <!-- Start content -->
14 <div id="content">
16 <h2>Cook и Cooker в SliTaz</h2>
18 <p>Пакет CookUtils в SliTaz содержит утилиты, которые помогут вам собрать пакеты
19 SliTaz. Они просты в использовании и изучении, быстрые и легковесные. Вы сможете
20 создавать пакеты SliTaz при помощи всего нескольких команд. В состав CookUtils
21 входят утилита cook («повар») и <a href="#cooker">Cooker</a> («плита»).</p>
23 <p>Cook компилирует исходный код и создает пакет, ведет журнал и проверяет
24 качество рецепта и пакета. Cooker — это сборочный бот, обладающий большей
25 автоматизацией, он может использоваться в качестве интерфейса для cook,
26 поскольку он имеет CGI/веб-интерфейс, позволяющий просматривать журналы cook в
27 приятном цветном виде. Cook и Cooker используют одни и те же файлы баз данных и
28 wok, они оба используют списки <a href="#blocked">заблокированных</a> и
29 испорченных пакетов и т.п.</p>
31 <p>Для получения технической информации (стиль кодирования и т.д.), обратитесь к
32 README, находящемуся в исходниках, либо в папке /usr/share/doc/cookutils.</p>
35 <h3>Использование cook</h3>
37 <p>Cook содержит небольшую встроенную справку по использованию, которую можно
38 отобразить командой <b>usage</b>. Также он имеет несколько параметров для
39 выполнения специальных задач над пакетами, как перед приготовлением, так и после
40 него. Итак, чтобы получить справку по использованию:</p>
42 <pre># cook <b>usage</b></pre>
45 <h3>Краткая инструкция</h3>
47 <p>Первое, что вам нужно сделать, прежде чем начнете собирать пакеты — настроить
48 окружение. Есть два рекомендованых способа работы: собирать непосредственно на
49 хосте или собирать в изолированном chroot-окружении (для защиты хоста). Если вы
50 хотите работать в изолированном окружении, вы можете установить и использовать
51 Tazdev для создания окружения и переключения на него:</p>
53 <pre># tazdev gen-chroot &amp;&amp; tazdev chroot</pre>
55 <p>По умолчанию Tazdev создает изолированное окружение в
56 /home/slitaz/cooking/chroot, но вы можете указать другой путь в параметре:</p>
58 <pre>
59 # tazdev gen-chroot <i>/home/slitaz/4.0/chroot</i>
60 # tazdev chroot <i>/home/slitaz/4.0/chroot</i>
61 </pre>
63 <p>Расположение изолированного окружения не важно, ведь когда вы будете
64 находиться в нём, вы будете использовать стандартные пути SliTaz, такие как
65 /home/slitaz/wok для папки wok и /home/slitaz/log для всех журналов cook. Как
66 обычно, вы можете вывести справку об использовании tazdev при помощи команды:</p>
68 <pre># tazdev usage</pre>
70 <p>При использовании изолированного окружения есть две специальные папки,
71 смонтированные с параметром bind: src и packages. Исходники всех пакетов
72 по умолчанию сохраняются в /home/slitaz/src; эта папка монтируется в chroot для
73 того, чтобы утилиты могли ее использовать. Этот метод позволяет обмениваться
74 исходниками между несколькими изолированными окружениями, например, одно
75 стабильное, а другое нестабильное. Папка с готовыми пакетами по умолчанию
76 находится в /home/slitaz/<em>версия</em>/packages, вне изолированного окружения;
77 пакеты здесь находятся в безопасности в случае удаления chroot по ошибке.</p>
80 <h3>Приступая к работе</h3>
82 <p>Итак, вы решили, как вы хотите работать, теперь давайте настроим окружение
83 cook. Cook использует конфигурационный файл cook.conf, если вы хотите
84 использовать собственные пути для папок и файлов SliTaz, вам придется изменить
85 его. Установка создаст некоторые папки и файлы для отслеживания работы и ошибок,
86 все файлы являются простыми текстовыми файлами, которые можно открыть в любом
87 текстовом редакторе. Чтобы подготовить окружение:</p>
89 <pre># cook setup</pre>
91 <p>Команда setup может иметь параметр --wok, который позволяет получить копию
92 wok SliTaz при настройке окружения cook. Даже если вы еще не являетесь
93 официальным разработчиком, вы можете получить копию wok и использовать
94 существующие пакеты в качестве примера для создания собственных. Для настройки
95 и клонирования wok по умолчанию (версии cooking) или версии undigest:</p>
97 <pre>
98 # cook setup --wok
99 # cook setup --undigest
100 </pre>
103 <h3>Проверка окружения</h3>
105 <p>Cook понимает команду test, по которой он создаст пакет и приготовит его.
106 Это позволяет определить, работает ли окружение и является примером пакета
107 с рецептом. Созданный фиктивный пакет называется «cooktest», его можно удалить
108 после тестирования. Для приготовления тестового пакета:</p>
110 <pre># cook test</pre>
113 <h3>Создание и приготовление</h3>
115 <p>Если ваша среда настроена правильно, вы можете приступить к созданию
116 и компиляции пакетов SliTaz из вашего wok. Чтобы создать новый пакет с пустым
117 рецептом (вы также можете создавать рецепты в интерактивном режиме):</p>
119 <pre>
120 # cook new имя-пакета
121 # cook new имя-пакета --interactive
122 </pre>
124 <p>Вы только что создали новый пакет, теперь вам нужно отредактировать рецепт
125 в вашем любимом текстовом редакторе. Когда рецепт будет готов, вы можете
126 приготовить его:</p>
128 <pre># cook имя-пакета</pre>
130 <p>Если все прошло успешно, то вы найдете свой пакет в папке $SLITAZ/packages,
131 а все созданные файлы — в $SLITAZ/wok/имя-пакета.</p>
134 <h3>Приготовление с установкой</h3>
136 <p>Если вы хотите приготовить и установить пакет одной командой:</p>
138 <pre># cook имя-пакета --install</pre>
141 <h3>Получение исходников</h3>
143 <p>Если вам нужно загрузить только исходники пакета, не создавая его, вы можете
144 использовать опцию --getsrc как показано ниже:</p>
146 <pre># cook имя-пакета --getsrc</pre>
149 <h3>Очистка пакетов</h3>
151 <p>После компиляции и упаковки в wok по-прежнему остаются файлы, которые
152 занимают место на диске. Для очистки выбранного пакета:</p>
154 <pre># cook имя-пакета --clean</pre>
156 <p>Вы также можете очистить сразу целый wok. Если решите сохранить связанные
157 с SliTaz файлы, вы можете удалить только исходники:</p>
159 <pre>
160 # cook clean-wok
161 # cook clean-src
162 </pre>
165 <h3>Поиск</h3>
167 <p>Cook поддерживает простую функцию поиска пакета в wok. Поиск использует grep
168 и поддерживает регулярные выражения:</p>
170 <pre># cook search busybox</pre>
173 <h3>База данных пакетов</h3>
175 <p>Cook может создать список пакетов в wok, а также создать соответствующий
176 список пакетов для TazPkg. Это позволяет легко создавать локальный репозиторий
177 пакетов, а также используется для создания официального списка пакетов SliTaz,
178 находящихся на зеркалах. Для просмотра текущего wok (вам не нужно быть
179 суперпользователем):</p>
181 <pre>$ cook list-wok</pre>
183 <p>При создании базы данных пакетов Cook проверит наличие редакций (flavors) в
184 /home/slitaz/flavors и при их наличии укомплектует все редакции новейшими
185 пакетами из списка доступных. Чтобы создать список пакетов и файлы редакций
186 Live:</p>
188 <pre># cook pkgdb</pre>
191 <h3 id="cooker">Cooker</h3>
193 <p>Cooker является сборочным ботом, он предназначен в первую очередь для
194 проверки изменений в wok, создания упорядоченного списка приготовления, и
195 приготовления изменившихся пакетов. Он также может быть использован в качестве
196 интерфейса для cook, так как они оба используют одинаковые файлы. Cooker может
197 быть также использован для приготовления большого списка пакетов за один прием,
198 такого, как, например, все пакеты редакции (flavor). Cooker имеет хороший
199 CGI/веб-интерфейс, который работает по умолчанию на любой системе SliTaz,
200 поскольку она обеспечивает поддержку CGI с помощью веб-сервера HTTPD BusyBox.</p>
202 <p>Cooker содержит небольшую встроенную справку об использовании и о коротких
203 командах. Например, чтобы отобразить информацию об использовании:</p>
205 <pre>
206 # cooker usage
207 # cooker -u
208 </pre>
211 <h3>Настройка Cooker</h3>
213 <p>Так же как и Cook, Cooker нуждается в рабочей среде, прежде чем начать его
214 использовать. Основное отличие от среды Cook в том, что Cooker требует два wok.
215 Один чистый wok с Hg, в качестве справочного, а другой — ваш экспериментальный
216 сборочный wok. В таком случае можно будет легко сравнить между собой оба wok
217 и определить изменения. Если у вас уже есть окружение Cook, вам необходимо
218 переместить ваш wok до настройки Cooker, или он будет жаловаться. Программа
219 установки также установит набор пакетов для разработки, которые могут быть
220 настроены в конфигурационном файле cook.conf и переменной SETUP_PKGS.
221 Для настройки окружения Cooker:</p>
223 <pre># cooker setup</pre>
225 <p>Если всё прошло хорошо, то теперь у вас есть 2 wok, установлены базовые
226 пакеты разработки и созданы все необходимые файлы. Поведение по умолчанию
227 заключается в проверке коммитов, вы можете запустить тест:</p>
229 <pre># cooker</pre>
232 <h3>Работа с Cooker</h3>
234 <p>Опять же, теперь есть два способа работы: внести изменения в чистый wok Hg
235 и запустить Cooker без аргументов, либо готовить пакеты вручную. Cooker
236 позволяет приготовить одиночный пакет, или все пакеты определеной категории,
237 или всю редакцию (flavor) целиком. Вы также можете попытаться приготовить все
238 не приготовленные пакеты, но знайте, что Cooker не был рассчитан для обработки
239 тысяч пакетов.</p>
241 <p>Чтобы приготовить одиночный пакет, то же самое, что дает команда «cook
242 имя_пакета», но с несколькими журналами:</p>
244 <pre># cooker pkg имя-пакета</pre>
246 <p>Чтобы приготовить более одного пакета за раз, у вас есть различные решения.
247 Вы можете использовать существующий список, такой как используемый для редакции
248 Live, вы также можете использовать собственный список, перечислив имена пакетов
249 по одному на строку. Наконец, вы можете приготовить все пакеты категории.</p>
251 <pre>
252 # cooker flavor [имя]
253 # cooker list [/путь/к/списку]
254 # cooker cat [категория]
255 </pre>
257 <p>Cooker позволяет также повторно приготовить указанную ревизию Hg. Это будет
258 полезно, если во время приготовления пакетов сборочный бот был прерван новым
259 коммитом, вы всё равно имеете возможность готовить пакеты вручную:</p>
261 <pre># cooker rev 9496</pre>
264 <h3 id="blocked">Заблокированные пакеты</h3>
266 <p>Cook и Cooker работают со списком заблокированных пакетов, которые не будут
267 готовиться даже в случае получения коммита или, если они будут упомянуты в
268 списке приготовления. Это полезное свойство сборочного бота Cooker. При
269 блокировании и разблокировании пакетов, вы можете добавить свои примечания.
270 Пример блокирования пакетов:</p>
272 <pre>
273 # cook имя_пакета --block
274 # cooker block имя_пакета
275 # cooker -n "Примечание о блокировании имя_пакета"
276 </pre>
278 <p>Список заблокированных пакетов также отображается в веб-интерфейсе Cooker.
279 Чтобы разблокировать пакет, используйте команду unblock или запустите Cook
280 с опцией --unblock:</p>
282 <pre>
283 # cooker unblock имя_пакета
284 # cook имя_пакета --unblock
285 </pre>
288 <h3>CGI/веб-интерфейс Cooker</h3>
290 <p>Чтобы просмотреть наглядные файлы журналов, проследить порядок работы,
291 найти ошибки, вы можете использовать веб-интерфейс Cooker, который по умолчанию
292 находится в папке /var/www/cooker. Если вы не используете изолированное
293 окружение и веб-сервер Busybox HTTPD запущен, то веб-интерфейс будет работать
294 без дополнительных настроек и будет доступен по адресу: <a
295 href="http://localhost/cooker/cooker.cgi">http://localhost/cooker/cooker.cgi</a>
296 </p>
298 <p>Если вы используете изолированную среду, вы должны также установить Cookutils
299 на вашу хост-машину и изменить путь в переменной SLITAZ. Обычно изолированная
300 среда находится по пути:</p>
302 <pre>/home/slitaz/cooking/chroot</pre>
304 <p>Измените /etc/slitaz/cook.conf следующим образом:</p>
306 <pre>SLITAZ="/home/slitaz/cooking/chroot/home/slitaz"</pre>
308 <p>Примечание: не обязательно устанавливать Cookutils на вашу хост-машину, чтобы
309 использовать веб-интерфейс. Если вы используете Lighttpd, вы можете также
310 скопировать файлы cooker.cgi и style.css, например, в папку ~/Public
311 и использовать собственный cook.conf. Преимущество установки Cookutils на
312 хост-машину в получении регулярных обновлений через менеджер пакетов TazPkg.
313 Скажем, вы клонировали или загрузили Cookutils:</p>
315 <pre>
316 $ cp -a cookutils/web ~/Public/cgi-bin/cooker
317 $ cp -f cookutils/cook.conf ~/Public/cgi-bin/cooker
318 </pre>
320 <p>Отредактируйте конфигурационный файл ~/Public/cgi-bin/cooker/cook.conf,
321 указав в переменной SLITAZ нужный путь, и это всё!</p>
324 <h3>Заметки (Cooknotes)</h3>
326 <p>Функция Cooknotes позволяет записывать небольшие личные заметки о сборке
327 пакетов и полезна для совместной работы. Cooknotes была написана, чтобы
328 сопровождающие сборочного бота Cooker в SliTaz могли делиться заметками между
329 собой и с другими участниками. Cooker может блокировать сборку пакета или
330 пакеты можно пересобрать вручную, например, неплохо обратите внимание, когда
331 пакет был заблокирован, чтобы сопровождающий знал, почему администратор сделал
332 это. Cooknotes отображаются в веб-интерфейсе и могут быть проверены в командной
333 строке:</p>
335 <pre>
336 # cooker note "Заблокирован имя_пакета из-за высокой нагрузки на процессор"
337 # cooker notes
338 </pre>
341 <h3>Cooker в качестве сборочного бота</h3>
343 <p>Cooker был задуман как сборочный бот для SliTaz, это означает, что он следит
344 за обновлениями двух wok на Hg, находит различия и готовит все необходимые
345 пакеты. Безопасный и прозрачный способ запуска Cooker в качестве сборочного бота
346 с помощью cron подразумевает использование изолированной среды, но при
347 необходимости он может работать и непосредственно на хосте.</p>
349 <p>Для автоматического запуска Cooker вы должны использовать cron из
350 изолированной среды и добавить одну строку в корень crontabs в папке
351 /var/spool/cron/crontabs. Скажем, вы хотите, чтобы Cooker запускался каждые два
352 часа:</p>
354 <pre>* */2 * * * /usr/bin/cooker</pre>
357 <h3>Запуск Cooker BB при загрузке системы</h3>
359 <p>Окружение Cooker и задачи cron могут быть автоматически запущены при
360 загрузке. Вы должны установить пакет cookutils-daemon на хост и использовать
361 стандартную установку SliTaz, чтобы заставить его работать должным образом
362 (приготовление идет в /home/slitaz/cooking). Запущенная служба при необходимости
363 смонтирует любую виртуальную файловую систему, так же как и папки с исходниками
364 и пакетами. Исходники в /home/slitaz/src связаны с изолированной средой, чтобы
365 вы могли поделиться исходниками пакетов между несколькими версиями (стабильная,
366 cooking, undigest). Установите пакет, если он еще не установлен:</p>
368 <pre># tazpkg get-install cookutils-daemon</pre>
370 <p>Для запуска службы вам необходимо иметь файл описания задачи cron в корне
371 изолированной среды, эта служба работает так же, как и все другие в системы и
372 может управляться командами:</p>
374 <pre># /etc/init.d/cooker [start|stop|restart]</pre>
376 <!-- End content -->
377 </div>
379 <div id="footer">
380 Авторское право © 2011–13 разрабочики SliTaz
381 </div>
383 </body>
384 </html>