Product SiteDocumentation Site

8.4.2. Настройка сборочной среды

Для работы hasher требуется создать каталог, в котором будет строиться сборочная среда:
$ mkdir ~/.hasher
Рабочий каталог (в данном случае ~/.hasher) должен быть доступен на запись пользователю, запускающему сборку. Кроме того, его нельзя располагать на файловой системе, которая смонтирована с опциями noexec или nodev — в таких условиях hasher не сможет создать корректное сборочное окружение.
Команда создания сборочного окружения:
$ hsh --initroot-only ~/.hasher
Явное создание сборочного окружения необязательно — при необходимости оно будет произведено при первой сборке пакета.
hasher берет пакеты для установки из APT-источников. По умолчанию в сборочную среду копируется список источников, указанный в конфигурации APT хост-системы; также можно явно задать дополнительные репозитории, указав альтернативный файл конфигурации APT, например:
$ hsh --apt-config=.hasher/p10-apt.conf --initroot-only ~/.hasher
В таком файле конфигурации (в примере p10-apt.conf) необходимо указать расположение файла с APT-источниками, например:
Dir::Etc::SourceList "/home/user/.hasher/sources_p10.list";
Если необходимо создать сборочную среду, независимую по источникам от основной операционной системы, в вышеуказанный файл помимо строки с источником следует добавить следующую строку во избежание включения /etc/apt/sources.list.d/*.list:
Dir::Etc::SourceParts "/var/empty";
По умолчанию (без указания в команде ключа --apt-config) задействуется общесистемная конфигурация репозитория из /etc/apt/. Чтобы не указывать каждый раз ключ --apt config можно указать его в файле конфигурации ~/.hasher/config, например:
apt_config=/home/user/.hasher/p10-apt.conf
Пример файла ~/.hasher/p10-apt.conf:
Dir::Etc::SourceList "/home/user/.hasher/sources_p10.list";
Dir::Etc::SourceParts "/var/empty";
Пример файла ~/.hasher/sources_p10.list с локальным репозиторием:
rpm file:/srv/public/mirror p10/branch/x86_64 classic
rpm file:/srv/public/mirror p10/branch/ x86_64-i586classic
rpm file:/srv/public/mirror p10/branch/noarch classic