1. Хотелось бы увидеть параметр у hsh, позволяющий к построенному им самим списку пакетов, подлежащих установлению в chroot, добавить ещё пакеты (и зависимости, которые они потребуют для установки). Например: hsh --add-build-list='libssl-devel' repo pack.src.rpm позволяет добавить к списку пакетов, который формирует hsh при вызове команды hsh repo pack.src.rpm пакет libssl-devel, а потом найти по зависимости для него libssl, для libssl своё и т. д. И полученный общий набор поставить в chroot. 2. Хотелось бы увидеть программу а-ля clean-apt-box, который позволяет удалить одновременно или по отдельности chroot-дерево и кэш. Например: clean-alt-box --chroot /home/user/Repo удалит всё из каталога /home/user/Repo/chroot clean-apt-box --cache /home/user/Repo удалить всё из каталога /home/user/Repo/cache Особенно желательно вычищать chroot, так как иначе приходится возиться с user_a, user_b и постоянными переходами между ними. Ну или чтобы hsh вычищал chroot сам после каждой сборки.
(In reply to comment #0) > hsh --add-build-list='libssl-devel' repo pack.src.rpm Есть опция --pkg-build-list . Она вас не устраивает ? > clean-alt-box --chroot /home/user/Repo Для этого есть утилита rmchroot. > clean-apt-box --cache /home/user/Repo > > удалить всё из каталога /home/user/Repo/cache Зачем это нужно?
(In reply to comment #1) > (In reply to comment #0) > > hsh --add-build-list='libssl-devel' repo pack.src.rpm > > Есть опция --pkg-build-list . Она вас не устраивает ? Пытался. Эта опция отбрасывает список, созданный программой hsh, и пытается установить ТОЛЬКО те пакеты, которые приведены в этом списке. Как-то уж очень неудобно получается, когда приходится самому выискивать зависимости пакетов и прописывать их ВСЕ в эту опцию. Так написано и в инструкции. А мне хотелось бы только ДОБАВИТЬ к списку. > > clean-alt-box --chroot /home/user/Repo > > Для этого есть утилита rmchroot. Что-то не нашёл. Где она запаковывается? > > clean-apt-box --cache /home/user/Repo > > > > удалить всё из каталога /home/user/Repo/cache > > Зачем это нужно? Потому что при попытке собрать postfix из-за старого кэша hsh писал, что net-scripts версии меньше 1.6.0-alt10 конфликтуют с coreutils, хотя в репозитории уже была вышеуказанная версия. Только когда догадался вычистить кэш, ошибка пропала.
Что касается выборочного удаления, то я не вижу в этом смысла. Удалить сборочный чрут можно с помощью /usr/share/hasher/rmchroot.
(In reply to comment #3) > Что касается выборочного удаления, то я не вижу в этом смысла. Какое выборочное удаление? Я говорил только про очистку кэша предустанавливаемых пакетов и про очистку chroot-окружения. > Удалить сборочный чрут можно с помощью /usr/share/hasher/rmchroot. А почему бы эту программу не вынести в /usr/bin или для hsh не сделать параметр для hsh вида --rm-chroot, --clean-repo или --clean-chroot для единообразия управления?
(In reply to comment #1) > (In reply to comment #0) > > hsh --add-build-list='libssl-devel' repo pack.src.rpm > > Есть опция --pkg-build-list . Она вас не устраивает ? Я попробовал собрать postfix с поддержкой tls. Действия: 1) Набираю hsh --build-args='--with tls' /home/user/repo postfix-2.1.5-alt3.src.rpm После построения chroot, но перед началом сборки rpm выдал, что не стоит пакет libssl-devel. 2) Набираю hsh -q --build-args='--with tls' --pkg-build-list='libssl-devel' /home/user/repo postfix-2.1.5-alt3.src.rpm Выдал, что, оказывается, для построения chroot-дерева недостаточно пакетов libssl и libssl-devel. :)
В hasher-1.0.15-alt1 у hsh появился новый ключ --cleanup-only, с помощью которого можно решать такие задачи.