Hasher/FAQ: различия между версиями
Andyc (обсуждение | вклад) (→Q5) |
Andyc (обсуждение | вклад) (→Q5) |
||
Строка 36: | Строка 36: | ||
A3: В конфигурационный файл .hasher/config, можно добавить поле packager: | A3: В конфигурационный файл .hasher/config, можно добавить поле packager: | ||
packager="Michael Shigorin <mike@altlinux.org>" | |||
A4: У утилиты hsh, есть ключик --packager, можно воспользоваться им: | A4: У утилиты hsh, есть ключик --packager, можно воспользоваться им: | ||
$ gear -v --hasher -- hsh --target=i586 --packager="Andrew Clark <andyc@altlinux.org>" ~/hasher | |||
== Q6 == | == Q6 == |
Версия от 09:04, 16 января 2011
Q1
Q: При запуске hsh я получаю ошибку
hsh-mkchroot: cannot access getugid1 helper.
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.
A3: В конфигурационный файл .hasher/config, можно добавить поле packager:
packager="Michael Shigorin <mike@altlinux.org>"
A4: У утилиты hsh, есть ключик --packager, можно воспользоваться им:
$ gear -v --hasher -- hsh --target=i586 --packager="Andrew Clark <andyc@altlinux.org>" ~/hasher
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: Сборка дистрибутива останавливается на таких вот строчках:
mki-cache: has started executing. mkimage: Processing 'copy-packages' ... mki-cache: has started executing. mki-expand-pkgs: has started executing. method=simple mki-copy-pkgs: has started executing. mkdir: created directory `.../profiles/main/.work/mki-copy-pkgs.verbose'
A: Выключите все сменные носители в /etc/apt/sources.list (и sources.list.d/*.list), запустите apt-get update и еще раз повторите запуск hsh.
Q9
Q: При запуске hsh выдаёт ошибку:
hasher-priv: openpty: No such file or directory
A: Проверьте, что у вас смонтирован /dev/pts на хост-системе.
Q10
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)
Q11
Q: почему hasher перестал создавать хэши (base/*) для своего репозитория?
A: потому что для некоторого ускорения сборки они упразднены в пользу непосредственного сканирования каталога (rpm-dir вместо rpm в sources.list). Для создания хэшей при их публикации придётся запустить $hasher/aptbox/regenbasedir (или genbasedir --bloat совсем вручную). Если все же вам необходимо использовать репозиторий создаваемый хешером в sources.list то вместо rpm нужно использовать rpm-dir.
Q12
Q: есть ли споcоб запустить gui-шную программу внутри hasher?
A: да,
hsh-install xauth "гуишная прога" hsh-run -Y "гуишная прога"