[devel] how to treat "shell.req ... (skip)" warnings?
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Мар 31 15:56:36 MSD 2008
On Mon, Mar 31, 2008 at 03:41:17PM +0400, Kirill Maslinsky wrote:
> On Mon, Mar 31, 2008 at 03:16:04PM +0400, Alexey Tourbin wrote:
> > On Mon, Mar 31, 2008 at 01:08:52PM +0400, Kirill Maslinsky wrote:
> > > Подскажите, пожалуйста, как правильно реагировать на предупреждения
> > > от shell.req с пометкой "X not found (skip)"?
> >
> > В данном случае это стоит воспринимать как информацию о "грязной
> > сборке". Грязная сборка может привести к недостающим зависимостям
> > у пакета. Сборка является грязной, если она проходит либо в урезанной
> > хост-системе (в которой некоторые пактеты, нужные для разрешения
> > зависимостей, не установлены), либо в хешере без contents_index_bin.
> > Последнее случается, когда хеш репозитария не синхронизируется, а хешер
> > по отдельности выкачивает недостающие пакеты через apt-get.
>
> Мой случай явно последний (hasher), только пока непонятно, что необходимо
> сделать, чтобы "хэш репозитория синхронизировался". Простите за
> несообразительность, можно поподробнее об этом?
Хеш репозитария это то, что находится в каталогах
Sisyphus/{$arch,noarch}/base/.
Это значит, что нужно (хотя бы частично) синхронизировать сизиф
локально, и в sources.list, который используется для сборки, должны
быть пути к репозитариям через file://.
rpm [alt] file:/ALT/Sisyphus i586 classic
rpm [alt] file:/ALT/Sisyphus noarch classic
Тогда будет задействован код из /usr/bin/hsh-sh-cache-contents-functions,
который формирует $HASHER_BUILD_DIR/cache/contents/contents_index_bin
на основе Sisyphus/{$arch,noarch}/base/contents_index.
# Find contents_index files corresponding to sources.list repositories.
contents_index_list=
init_contents_index_list()
{
contents_index_list="$(awk '
(NF==4 && $1=="rpm"){printf("%s/%s/base/contents_index\n",$2,$3)}
(NF==5 && $1=="rpm"){printf("%s/%s/base/contents_index\n",$3,$4)}
' <aptbox/etc/apt/sources.list |
while IFS=: read uri_scheme f; do
[ -r "$f" ] || continue
printf %s\\n "$f"
done)"
if [ -n "$contents_index_list" ]; then
verbose 'Initialized contents index list.'
else
verbose "No contents indices available, nothing to do."
contents_index_bin=
contents_index_all=
fi
}
То есть для чистовой сборки нужно синхронизировать Sisyphus/$arch/
и Sisyphus/noarch/ каталоги, и далее недостающие для сборки
Sisyphus/files/{$arch,noarch}/RPMS/ файлы.
> Вопрос уточняющий: будут ли недостающие зависимости, вызванные грязной
> сборкой на стороне мантейнера, восполнены при пересборке пакета при
> прохождении в Sisyphus?
Да.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080331/7f745907/attachment-0002.bin>
Подробная информация о списке рассылки Devel