Bug 6839

Summary: Дополнительный параметр к hsh и дополнительная программа
Product: Sisyphus Reporter: Sergei Epiphanov <serpiph>
Component: hasherAssignee: Dmitry V. Levin <ldv>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P1 CC: at, glebfm, ldv, placeholder
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://lists.altlinux.ru/pipermail/sisyphus/2005-May/060063.html

Description Sergei Epiphanov 2005-05-14 14:43:07 MSD
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 сам
после каждой сборки.
Comment 1 Alexey Gladkov 2005-05-14 15:51:01 MSD
(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

Зачем это нужно?

Comment 2 Sergei Epiphanov 2005-05-14 16:31:21 MSD
(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, хотя в
репозитории уже была вышеуказанная версия. Только когда догадался вычистить кэш,
ошибка пропала.
Comment 3 Dmitry V. Levin 2005-05-14 16:32:33 MSD
Что касается выборочного удаления, то я не вижу в этом смысла.
Удалить сборочный чрут можно с помощью /usr/share/hasher/rmchroot.
Comment 4 Sergei Epiphanov 2005-05-16 11:25:21 MSD
(In reply to comment #3)
> Что касается выборочного удаления, то я не вижу в этом смысла.

Какое выборочное удаление? Я говорил только про очистку кэша предустанавливаемых
пакетов и про очистку chroot-окружения.

> Удалить сборочный чрут можно с помощью /usr/share/hasher/rmchroot.

А почему бы эту программу не вынести в /usr/bin или для hsh не сделать параметр
для hsh вида --rm-chroot, --clean-repo или --clean-chroot для единообразия
управления?
Comment 5 Sergei Epiphanov 2005-05-16 11:32:21 MSD
(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. :)
Comment 6 Dmitry V. Levin 2005-05-20 02:19:10 MSD
В hasher-1.0.15-alt1 у hsh появился новый ключ --cleanup-only, с помощью
которого можно решать такие задачи.