Hasher/FAQ

Материал из ALT Linux Wiki

Q1

Q: При запуске hsh я получаю ошибку

hsh-mkchroot: cannot access getugid1 helper.

A: Добавьте себя в hasher.

Q2

Q: Я добавил себя в hasher, но всё равно получаю ошибку

hsh: /usr/libexec/hasher-priv/getconf.sh: cannot access getconf helper.

A: Перелогиньтесь — hasher-useradd добавляет пользователя в новые группы.

Q3

Q: Я собираю пакет, но он ломается из-за того, что в сборочной среде нет /proc.

A: Настройте монтирование /proc.

Q4

Q: В моём hasher собираются пакеты со странной архитектурой, которые не ставятся.

A: Явно укажите архитектуру сборки.

Q5

Q: В конце сборки в hasher выдаются ошибки вида

some-packet.src.rpm: wrong PACKAGER: Automated package hasher <hasher@localhost>

A1: Эти ошибки выдаются утилитой sisyphus_check, проверяющей соответствие пакетов правилам репозитория Sisyphus. Исправьте ошибки в spec-файле (обычно добавлением корректного тега Packager).

A2: Если пакет не предназначен для Sisyphus, а выдаваемые ошибки связаны не с техническими проблемами в пакете, а с невыполнением политик репозитория (например, ограничение на тэг Packager и на PGP-подпись) — отключите часть проверок sisyphus_check.

Q6

Q: При запуске hsh я получаю ошибку

hasher-priv: /path/to/workdir/chroot: prefix mismatch, working directory
should start with one of directories listed in colon-separated prefix
list (~:/tmp/.private)
hsh-mkchroot: failed to make devices.

A: По умолчанию hasher позволяет располагать свою рабочую директорию в $HOME пользователя или в /tmp/.private. Или измените место, где создаётся рабочая директория, или разрешите дополнительные директории с помощью ключа prefix в /etc/hasher-priv/system (общесистемно) или /etc/hasher-priv/user.d/<USER> (для одного пользователя).

Q7

Q: При запуске hsh выдаёт ошибку:

hasher-priv: slave: chrootuid: execve: /.host/entry: No such file or directory
hsh-initroot: Failed to create RPM database.

A: Выключите все сменные носители в /etc/apt/sources.list, запустите apt-get update и еще раз повторите запуск hsh.

Q8

Q: При запуске hsh выдаёт ошибку:

hasher-priv: openpty: No such file or directory

A: Проверьте, что у вас смонтирован /dev/pts на хост-системе.

Q9

Q: При запуске hsh выдаёт ошибку:

fakeroot daemon: /dev/null: Permission denied
fakeroot: error while starting the `faked' daemon.
hsh-initroot: Failed to create RPM database.

A: Проверьте, что файловая система, на которой располагается сборочный каталог, смонтирована без использования опции nodev, например:

$ mount | grep local
/dev/sda3 on /usr/local type ext3 (rw,relatime)

Q10

Q: почему hasher перестал создавать хэши (base/*) для своего репозитория?

A: потому что для некоторого ускорения сборки они упразднены в пользу непосредственного сканирования каталога (rpm-dir вместо rpm в sources.list). Для создания хэшей при их публикации придётся запустить $hasher/aptbox/regenbasedir (или genbasedir --bloat совсем вручную). Если все же вам необходимо использовать репозиторий создаваемый хешером в sources.list то вместо rpm нужно использовать rpm-dir.