[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