Hasher/Руководство

Материал из ALT Linux Wiki
< Hasher
Версия от 20:37, 16 августа 2008; MikhailGusarov (обсуждение | вклад) (Новая: Категория:Справочники Категория:Devel Категория:Sisyphus {{stub}} == Установка == <tt>hasher</tt> в ALT Linux распола...)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Установка

hasher в ALT Linux располагается в пакетах hasher и hasher-priv и легко устанавливается:

# apt-get install hasher

Добавление пользователя

hasher использует специальных вспомогательных попользователей и группу hashman для своей работы. Каждого пользователя перед началом работы нужно зарегистрировать в hasher:

# hasher-useradd USER

Эта команда создаёт вспомогательных пользователей USER_a и USER_b и добавляет пользователя USER в группы hashman, USER_a и USER_b.

Поскольку hasher-useradd добавляет пользователя в группы, пользователю необходимо перелогиниться (открытие нового терминала в X не поможет) перед началом работы с hasher.

Сборочные зависимости

Сборочные зависимости RPM делятся на два вида:

  • необходимые для корректного создания src.rpm из spec-файла (содержащие определения RPM-макросов, используемых в spec-файле),
  • все остальные (необходимые для непосредственной сборки).

Поскольку hasher собирает пакеты из src.rpm (не считая поддержки gear), то для сборки необходимо иметь в хост-системе установленные сборочные зависимости первого типа. Большинство таких зависимостей (но пока не все) содержатся в пакетах с названием rpm-build-*.

Поскольку сборка src.rpm либо завершается неудачно (при отсутствии сборочной зависимости первого типа), либо корректно, то собирать src.rpm-пакеты в хост системе можно с помощью --nodeps</tt:

rpm -bs --nodeps foo.spec

Сам hasher, в отличие от gear, не предъявляет никаких требований к разделению сборочных зависимостей на первый и второй тип. Однако для совместимости с gear и для улучшения документируемости spec-файла рекомендуется распределять их так:

  • В поле BuildRequires(pre) помещать сборочные завимости, требуемые для сборки src.rpm,
  • В поле BuildRequires — все остальные.

Монтирование файловых систем внутри hasher

Некоторым приложениям для сборки требуется смонтированная файловая система (например, /proc). hasher поддерживает монтирование дополнительных файловых систем в сборочную среду.

Монтирование происходит при одновременном выполнении следующих трёх условий:

  • Необходимая файловая система указана в файле /etc/hasher-priv/fstab, либо является одной из /proc, /dev/pts, /sys.
  • Необходимая файловая система указана в опции --mountpoints при запуске hasher, либо (что то же самое) в ключе known_mountpoints конфигурационного файла hasher.
  • Необходимая файловая система укзана сборочной зависимостью (например, BuildReq: /proc) собираемого пакета, прямой или косвенной (через другие сборочные зависимости пакета).

Монтирование /proc

  • known_mountpoints=/proc в конфиге hasher,
  • BuildRequires: /proc в пакете.

При сборке пакетов в Incoming при наличии /proc в сборочных зависимостях пакета эта файловая система будет смонтирована.