* [devel] how to treat "shell.req ... (skip)" warnings?
@ 2008-03-31 9:08 Kirill Maslinsky
2008-03-31 10:02 ` Damir Shayhutdinov
2008-03-31 11:16 ` Alexey Tourbin
0 siblings, 2 replies; 6+ messages in thread
From: Kirill Maslinsky @ 2008-03-31 9:08 UTC (permalink / raw)
To: ALT Devel discussion list
Приветствую!
Подскажите, пожалуйста, как правильно реагировать на предупреждения
от shell.req с пометкой "X not found (skip)"?
На примере eciadsl-usermode
(Подозреваю, что в данном случае мне посоветуют переписать скрипты,
чтобы они не использовали route/ifconfig, однако ответ про общий случай
тоже хотелось бы услышать)
[...]
find-requires: running scripts (files,lib,pam,perl,pkgconfig,pkgconfiglib,python,shebang,shell,static,symlinks)
/usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-data.pl syntax OK
/usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-uc.pl syntax OK
/usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-vendor-device.pl syntax OK
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-config-text: su not found (skip)
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-doctor: lspci not found (skip)
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-doctor: route not found (skip)
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-start: ifconfig not found (skip)
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-start: lspci not found (skip)
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-start: route not found (skip)
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-testconnection: beep not found (skip)
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-testconnection: ifconfig not found (skip)
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-testconnection: lsusb not found (skip)
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-testconnection: ping not found (skip)
+ exit 0
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1, rpmlib(CompressedFileNames) <= 3.0.4-1
Requires(pre): /bin/sh
Requires(post): /bin/sh
Requires(preun): /bin/sh
Requires(postun): /bin/sh
Requires: ppp, rp-pppoe, tcl, tk, /bin/awk, /bin/bash, /bin/cat, /bin/chown, /bin/cp, /bin/egrep, /bin/grep, /bin/lsmod, /bin/mkdir, /bin/mknod, /bin/mount, /bin/mv, /bin/nice, /bin/pidof, /bin/ps, /bin/rm, /bin/sed, /bin/sleep, /bin/stty, /bin/tail, /sbin/depmod, /sbin/modprobe, /usr/bin/killall, /usr/bin/perl, /usr/bin/tee, /usr/bin/which, /usr/bin/wish, libc.so.6(GLIBC_2.2.5)(64bit), libc.so.6(GLIBC_2.3.4)(64bit), libc.so.6(GLIBC_2.4)(64bit), libpthread.so.0(GLIBC_2.2.5)(64bit), rtld(GNU_HASH)
[...]
--
Kirill Maslinsky
ALT Linux Team
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] how to treat "shell.req ... (skip)" warnings?
2008-03-31 9:08 [devel] how to treat "shell.req ... (skip)" warnings? Kirill Maslinsky
@ 2008-03-31 10:02 ` Damir Shayhutdinov
2008-03-31 10:32 ` Kirill Maslinsky
2008-03-31 11:16 ` Alexey Tourbin
1 sibling, 1 reply; 6+ messages in thread
From: Damir Shayhutdinov @ 2008-03-31 10:02 UTC (permalink / raw)
To: ALT Linux Team development discussions
> Подскажите, пожалуйста, как правильно реагировать на предупреждения
> от shell.req с пометкой "X not found (skip)"?
>
> На примере eciadsl-usermode
> (Подозреваю, что в данном случае мне посоветуют переписать скрипты,
> чтобы они не использовали route/ifconfig, однако ответ про общий случай
> тоже хотелось бы услышать)
Наверное надо либо переписать на полный путь (/bin/su) либо ставить
эти пакеты в сборочную среду. Иначе поиск зависимостей не может
понять, толи это внешняя программа вызывается, толи внутренняя функция
из какого-нибудь вложенного файла.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] how to treat "shell.req ... (skip)" warnings?
2008-03-31 10:02 ` Damir Shayhutdinov
@ 2008-03-31 10:32 ` Kirill Maslinsky
0 siblings, 0 replies; 6+ messages in thread
From: Kirill Maslinsky @ 2008-03-31 10:32 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Mon, Mar 31, 2008 at 02:02:32PM +0400, Damir Shayhutdinov wrote:
> > Подскажите, пожалуйста, как правильно реагировать на предупреждения
> > от shell.req с пометкой "X not found (skip)"?
> >
> > На примере eciadsl-usermode
> > (Подозреваю, что в данном случае мне посоветуют переписать скрипты,
> > чтобы они не использовали route/ifconfig, однако ответ про общий случай
> > тоже хотелось бы услышать)
>
> Наверное надо либо переписать на полный путь (/bin/su) либо ставить
> эти пакеты в сборочную среду. Иначе поиск зависимостей не может
> понять, толи это внешняя программа вызывается, толи внутренняя функция
> из какого-нибудь вложенного файла.
Хм, оба предложенные варианта представляются overkill'ом в общем случае
(да и в конкретном обсуждаемом тоже):
1. Канонизация всех путей в скрипте -- кажется неоправданным перепахиванием
исходного текста: а как, например, потом патчи накладывать?
2. Включение в сборочную среду всех фактически установочных зависимостей
пакета тоже кажется неоправданным раздуванием сборочной среды.
Иначе говоря, этот (skip) следует читать так:
"тут автоматика по поиску зависимостей справиться не смогла, поэтому
ув. мантейнер, проверьте полноту установочных зависимостей пакета"
Верно?
--
Kirill Maslinsky
ALT Linux Team
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] how to treat "shell.req ... (skip)" warnings?
2008-03-31 9:08 [devel] how to treat "shell.req ... (skip)" warnings? Kirill Maslinsky
2008-03-31 10:02 ` Damir Shayhutdinov
@ 2008-03-31 11:16 ` Alexey Tourbin
2008-03-31 11:41 ` Kirill Maslinsky
1 sibling, 1 reply; 6+ messages in thread
From: Alexey Tourbin @ 2008-03-31 11:16 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2056 bytes --]
On Mon, Mar 31, 2008 at 01:08:52PM +0400, Kirill Maslinsky wrote:
> Подскажите, пожалуйста, как правильно реагировать на предупреждения
> от shell.req с пометкой "X not found (skip)"?
В данном случае это стоит воспринимать как информацию о "грязной
сборке". Грязная сборка может привести к недостающим зависимостям
у пакета. Сборка является грязной, если она проходит либо в урезанной
хост-системе (в которой некоторые пактеты, нужные для разрешения
зависимостей, не установлены), либо в хешере без contents_index_bin.
Последнее случается, когда хеш репозитария не синхронизируется, а хешер
по отдельности выкачивает недостающие пакеты через apt-get.
При чистовой сборке все названия команд из shell.req пробиваются по
contents_index_bin (то есть по полному индексу команд репозитария,
который формируется на основе Sisyphus/*/base/contents_index),
и зависимости теряться не будут.
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-config-text: su not found (skip)
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-doctor: lspci not found (skip)
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-doctor: route not found (skip)
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-start: ifconfig not found (skip)
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-start: lspci not found (skip)
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-start: route not found (skip)
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-testconnection: beep not found (skip)
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-testconnection: ifconfig not found (skip)
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-testconnection: lsusb not found (skip)
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-testconnection: ping not found (skip)
Кажется, Вы собираете хешером без contents_index_bin.
ifconfig и ping в живых системах обычно бывают.
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] how to treat "shell.req ... (skip)" warnings?
2008-03-31 11:16 ` Alexey Tourbin
@ 2008-03-31 11:41 ` Kirill Maslinsky
2008-03-31 11:56 ` Alexey Tourbin
0 siblings, 1 reply; 6+ messages in thread
From: Kirill Maslinsky @ 2008-03-31 11:41 UTC (permalink / raw)
To: ALT Devel discussion list
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), только пока непонятно, что необходимо
сделать, чтобы "хэш репозитория синхронизировался". Простите за
несообразительность, можно поподробнее об этом?
> При чистовой сборке все названия команд из shell.req пробиваются по
> contents_index_bin (то есть по полному индексу команд репозитария,
> который формируется на основе Sisyphus/*/base/contents_index),
> и зависимости теряться не будут.
[...]
Вопрос уточняющий: будут ли недостающие зависимости, вызванные грязной
сборкой на стороне мантейнера, восполнены при пересборке пакета при
прохождении в Sisyphus?
--
Kirill Maslinsky
ALT Linux Team
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] how to treat "shell.req ... (skip)" warnings?
2008-03-31 11:41 ` Kirill Maslinsky
@ 2008-03-31 11:56 ` Alexey Tourbin
0 siblings, 0 replies; 6+ messages in thread
From: Alexey Tourbin @ 2008-03-31 11:56 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2833 bytes --]
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?
Да.
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-03-31 11:56 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-31 9:08 [devel] how to treat "shell.req ... (skip)" warnings? Kirill Maslinsky
2008-03-31 10:02 ` Damir Shayhutdinov
2008-03-31 10:32 ` Kirill Maslinsky
2008-03-31 11:16 ` Alexey Tourbin
2008-03-31 11:41 ` Kirill Maslinsky
2008-03-31 11:56 ` Alexey Tourbin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git