[devel] tcl.req.files: re-exec check implemented

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Сен 10 12:48:13 MSD 2007


On Mon, Sep 10, 2007 at 02:27:11AM +0300, Led wrote:
> 2007/9/10, Alexey Tourbin <at на altlinux.ru>:
> > > TclTutor-2.0-alt0.2
> > >       find-requires: running scripts
> > >       (files,lib,pam,perl,pkgconfig,python,shebang,shell,static,symlinks,tcl)
> > >       /usr/lib/rpm/tcl.req: line 3: /usr/bin/tclsh: No such file or directory
> > >       /usr/lib/rpm/tcl.req: line 3: exec: /usr/bin/tclsh: cannot execute: No such file or
> > >       directory
> > >       error: /bin/sh failed
> > >       RPM build errors:
> > >       error: Failed to find Requires
> > >       /bin/sh failed
> >
> > Этот пакет содержит некоторое количество tcl скриптов.
> > $ rpmfile /ALT/Sisyphus/files/noarch/RPMS/TclTutor-2.0-alt0.2.noarch.rpm |grep tcl
> > /usr/bin/TclTutor.tcl   100755  Bourne shell script text executable
> > /usr/bin/tcltutor       120777  symbolic link to `TclTutor.tcl'
> > /usr/share/TclTutor/htmllib.tcl 100644  Bourne shell script text executable
> > /usr/share/TclTutor/scaler.tcl  100644  ASCII English text
> > $
> >
> > Эти скрипты, по-видимому, не требуют никаких tcl пакетов.
> 
> Там вот такое:
> $ head -3 /usr/bin/TclTutor.tcl
> #!/bin/sh
> # \
> exec wish "$0" "$@"
> 
> Наветное, имеет смысл заменить на явное
> #!/usr/bin/wish
> ?

В общем я реализовал проверку на "exec tclsh" и "exec wish" в
tcl.req.files.  Это означает, что все #!/bin/sh скрипты будут
проверяться, нет ли в первой значащей строчке "exec tclsh".
Это не очень красиво с точки зрения скорости поиска зависимостей,
то есть как бы немножко нарушается идея того, что *.req.files скирпты
не должны делать ничего лишнего.  Но и не критично.

См. /people/at/packages/rpm-build-tcl.git

$ file -NF$'\t' /usr/bin/* |grep 'Bourne shell script text' |./tcl.req.files
/usr/bin/gitk
/usr/bin/movaMTK-real
/usr/bin/movaTK-real
/usr/bin/mova_sendTK
/usr/bin/pentaxsetup
$
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070910/a0518959/attachment-0002.bin>


Подробная информация о списке рассылки Devel