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/p11-apt.conf --initroot-only ~/.hasher
В таком файле конфигурации (в примере p11-apt.conf) необходимо указать расположение файла с APT-источниками, например:
Dir::Etc::SourceList "/home/user/.hasher/sources_p11.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/p11-apt.conf
Пример файла ~/.hasher/p11-apt.conf:
Dir::Etc::SourceList "/home/user/.hasher/sources_p11.list";
Dir::Etc::SourceParts "/var/empty";
Пример файла ~/.hasher/sources_p11.list с локальным репозиторием:
rpm file:/srv/public/mirror p11/branch/x86_64 classic
rpm file:/srv/public/mirror p11/branch/ x86_64-i586 classic
rpm file:/srv/public/mirror p11/branch/noarch classic