Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/devel/spt3 ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Sisyphus/devel/spt3 за 2006-10-24 15:57:29..

Описание работы с spt3


Оглавление документа

Общие понятия


spt (в данном случае речь идет о версии spt3) представляет собой инструмент для создания решений на базе некоего репозитария (Sisyphus).


Механизм работы spt прост – в некоей рабочей директории (изначально чистой), создается профиль – директория с описаниями того, как и что собирать. Профиль включает в себя файл рецепта (recipe) – инструкции по сборке, выполняя которые пошагово, можно получить желаемый результат, а также все вспомогательные файлы, требующиеся для сборки. Шаги сборки (см. ниже – tasks) – маленькие скрипты, каждый из которых, в соответствии с общепринятым в Unix подходом, делает всего одну вещь. После того, как профиль готов, сама сборка выполяется запуском одной утилиты spt, которая выполняет по очереди все шаги, вызывая каждый из них с нужными опциями.

Примеры возможных рецептов


Примеры профилей можно найти в приложении к пакету [указано название]:


Quickstart


  1. Сделать чистую директорию и перейти туда (например, work).
  2. Скопировать туда любой из понравившихся профилей из /usr/share/doc/spt3*/profiles/ как поддиректорию work/profile. При необходимости – доработать профиль под свои задачи.
  3. Выполнить команду spt.
  4. Результат можно забрать в work/chroot, work/out и work/*.iso – в зависимости от того, что нужно.

Пример:

Терминология


Утилиты


Пока существует всего одна утилита – spt. Утилита spt прогоняет последовательно инструкции, записанные в файле recipe, запуская соответствующие им tasks с правильными опциями и т.п., отслеживает процесс выполнения или невыполнения каждого из task'ов и выводит в логи заметные (начинающеся с =====) записи о прогонке или ошибке на очередном этапе.

Опции


Все tasks получают на вход некий набор опций (в виде имя=значение). Эти опции могут быть определены в следующих местах (места расположены в порядке перекрытия значений опций – в случае задания опций в нескольких местах, используется значение указанное в месте ниже по списку):


Специальные опции


Среди опций выделяется одна центральная и обязательная опция – это положение рабочей директории (work_dir). Она, очевидно, не может быть задана в файле конфигурации, зато может быть:



Кроме того, есть еще 2 опции, которые действуют на все task'и:



Эти 3 опции доступны везде и везде ниже это больше особо оговариваться не будет.

Глобальные опции


Опции, общие для создаваемого решения (т.е. такие, которые должны быть одинаковыми во всех task'ах), удобнее всего определять в файле $work_dir/profile/config. Рекомендуется определять следующие глобальные опции:



Эти и остальные опции, относящиеся к определенным task'ам, описаны в соответствующих разделах task'ов.

Tasks

spt-clean


Корректно очищает в рабочей директории все наработки, кроме директории profile. Рекомендуется выполнять как аналог “make clean” перед полной пересборкой.


Вход: никакого.
Выход: удаляется все, кроме $work_dir/profile.

spt-init-chroot


Инициализирует рабочую директорию, создавая в ней служебные поддиректории для работы hasher.


Вход:

Выход:

spt-make-chroot


Распаковывает в инициализированный chroot пакеты по списку из файла packages в директории профиля (можно использовать другой файл, задав его имя опцией).


Вход:

Выход:

spt-create-repo


Создает в $out_dir репозитарий с названием IDENT с индексами с пакетами по списку из файла $IDENT.packages.


Вход:

Выход:

Семейство spt-boot


Семейство скриптов spt-boot устанавливает/конфигурирует каким-то образом загрузчики, которые могут быть использованы для загрузки того образа, который собирался на предыдущих этапах.

spt-boot-propagator


Сложный скрипт, который подготавливает содержимое chroot к загрузке с помощью цепочки (syslinux / isolinux / pxelinux) – propagator.


Вход:

Выход:

Семейство spt-pack


Это семейство скриптов запаковывает получившиеся файлы/директории на предыдущих этапах в некие, как правило, одиночные файлы с архивами или образами файловых систем.

spt-pack-squashfs


Упаковывает chroot в образ squashfs.


Вход: chroot
Выход: $out_dir/altlinux – файл с образом

spt-pack-iso


Упаковывает out в образ загрузочного CD iso9660. Предполагается, что в каталоге isolinux создана инфраструктура для загрузчика.


Вход: содержимое $out_dir.
Выход: ISO-файл CDFILENAME [по умолчанию: livecd.iso] в директории $work_dir.

Преобразование профилей от предыдущих версий spt и separator


TODO


 
Файлов нет. [Показать файлы/форму]
Много комментариев (2). [Показать комментарии/форму]