On Mon, Sep 10, 2007 at 02:27:11AM +0300, Led wrote: > 2007/9/10, Alexey Tourbin : > > > 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 $