* [devel] rpm-build-4.0.4-alt78 rebuild status
@ 2007-09-09 18:19 Alexey Tourbin
2007-09-09 19:45 ` [devel] rpm-build-4.0.4-alt78 beehive_status Alexey Tourbin
2007-09-10 22:25 ` [devel] rpm-build-4.0.4-alt78 rebuild status Michael Shigorin
0 siblings, 2 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-09 18:19 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 2098 bytes --]
Слава Столлману, проша пересборка сизифа с новым rpm-build,
почти сразу после последней плановой пересборки (в пятницу).
Теперь есть возможность сравнить статус этих пересборок.
Часть пакетов не собралось, что с высокой вероятностью указывает
на то, что они не собрались именно из-за изменений в rpm-build.
Вот список не собравшихся пакетов (по сравнению с плановой пересборкой).
[at@basalt beehive]$ comm -13 <(ls -1 old-logs/i586/2007/0907/error) <(ls -1 error)
AutoScan-1.01-alt1
GroupUserFolder-3.2-alt1.1
ORBit2-2.14.7-alt1
TclTutor-2.0-alt0.2
Zope-2.7.7-alt1
alterator-firewall-0.5-alt3
carol-0:2.2.7-alt1_1jpp1.7
cherry-2.0.cvs20060301-alt1
devhelp-0.14-alt1
eciadsl-usermode-0.11beta1-alt1
fedora-ds-adminutil-1.1.2-alt1.20070817
freesci-0.3.5-alt2
fvwm-tcl-1.2-alt1
geany-0.11-alt1
geda-utils-20070526-alt1
gettext-0.14.6-alt2
git-1.5.3.1-alt1
gsm-tools-0.0.4-alt5
jakarta-commons-latka-0:1.0-alt2_0.r389670.2jpp1.7
kdesdk-3.5.7-alt1
koules-1.4-alt5
lazarus-0.9.22-alt1
libalut-1.1.0-alt1.2
libgtkmathview-0.7.7-alt1
libopenal-0.0.8-alt3
libunwind-0.99-alt1
ltsp5-5.0-alt0.44
micq-0.5.0.3-alt1.1
nemerle-0.9.3.99.6733-alt2.1
openmpi-1.2.3-alt4
perl-WWW-Mechanize-1.18-alt1
planner-0.14.2-alt3
python-module-gst-0.10.8-alt1
remind-03.01.00-alt1
rp-pppoe-3.7-alt2
sandman-0.5.6-alt1
seiros-pbx-fax-1.1-alt1
tcl-snack-2.2.10-alt1
timetool-2.8-alt7
tkeca-4.0.2-alt0.5
vim-plugin-lh_cpp-ftplugin-20040316-alt1.1
vtcl-1.6.0-alt1
wanpipe-3.1.3-alt1
wbxml2-0.9.2-alt2.svn49synce
xmms2-0.2-alt5.DrHouse
xorg-x11-proto-devel-7.3.0-alt4
[at@basalt beehive]$
В свою очередь пакеты, которые собрались, у некоторых из них изменились
зависимости. Первичный осмотр показывает, что в ряде случаев изменение
зависимостей совсем нетривиальное.
Я собираюсь осмотреть все неперсобравшиеся пакеты, а также все
нетривиальные изменения зависимостей, и отписать по каждому случаю
или по классу случаев в devel@. К тривиальным изменениям зависимостей
я отношу добавление зависимостей на coreutils, grep, sed и т.д. -- от
добра добра не ищут.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 18:19 [devel] rpm-build-4.0.4-alt78 rebuild status Alexey Tourbin
@ 2007-09-09 19:45 ` Alexey Tourbin
2007-09-09 19:54 ` Slava Semushin
` (4 more replies)
2007-09-10 22:25 ` [devel] rpm-build-4.0.4-alt78 rebuild status Michael Shigorin
1 sibling, 5 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-09 19:45 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 19886 bytes --]
On Sun, Sep 09, 2007 at 10:19:38PM +0400, Alexey Tourbin wrote:
> Вот список не собравшихся пакетов (по сравнению с плановой пересборкой).
Вот этот же самый список с диагностикой, отформатированный при помощи
скрипта beehive_status из qa-robot.git.
I: Sisyphus-20070909 beehive_status: +46 (106)
46 NEW error logs
AutoScan-1.01-alt1
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
error: Failed to find Requires
RPM build errors:
GroupUserFolder-3.2-alt1.1
(Missing operator before $?)
syntax error at
/usr/src/tmp/GroupUserFolder-buildroot/usr/lib/zope/lib/python/Products/GroupUserFolder/cvs2cl.pl
line 2, near "$0 $"
/usr/src/tmp/GroupUserFolder-buildroot/usr/lib/zope/lib/python/Products/GroupUserFolder/cvs2cl.pl
had compilation errors.
#
/usr/src/tmp/GroupUserFolder-buildroot/usr/lib/zope/lib/python/Products/GroupUserFolder/cvs2cl.pl:
deparse failed. isPerl=0.0337665222703543.
error: /bin/sh failed
error: Failed to find Requires
RPM build errors:
ORBit2-2.14.7-alt1
Testing Async invocations ...
** ERROR **: file client.c: line 1982 (testAsync): assertion failed: (ev->_major ==
CORBA_NO_EXCEPTION)
aborting...
././test.sh: line 24: 30519 Aborted ./client $1
Test failed with params: --ORBIIOPIPv4=1 --ORBIIOPUSock=0 --ORBCorbaloc=1
if this is an IPv4 test, can you ping apiary.office.altlinux.org ?
FAIL: ./test.sh
1 of 1 tests failed
Please report to http://bugzilla.gnome.org/enter_bug.cgi?product=ORBit2
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
Zope-2.7.7-alt1
/usr/lib/rpm/python.req.py:
/usr/src/tmp/Zope-buildroot/usr/lib/python2.4/site-packages/ZPublisher/xmlrpc.py:
line=157 IGNORE module=traceback
/usr/src/tmp/Zope-buildroot/usr/lib/python2.4/site-packages/ZPublisher/Client.py:
line 47: syntax error near unexpected token `('
/usr/src/tmp/Zope-buildroot/usr/lib/python2.4/site-packages/ZPublisher/Client.py: line 47:
`class BadReply(Exception):'
error: /bin/sh failed
error: Failed to find Requires
RPM build errors:
alterator-firewall-0.5-alt3
shell.req:
/usr/src/tmp/alterator-firewall-buildroot/usr/lib/alterator/backend3/template-oldfw:
message_loop not found (skip)
/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
error: Failed to find Requires
RPM build errors:
carol-0:2.2.7-alt1_1jpp1.7
[junit] Tests run: 11, Failures: 0, Errors: 0, Time elapsed: 2.912 sec
[junit] Exception in thread "main" java.lang.OutOfMemoryError: unable to create new
native thread
[junit] at java.lang.Thread.start(Native Method)
--
[junit] Tests run: 11, Failures: 1, Errors: 1, Time elapsed: 3.428 sec
[junit] Test org.objectweb.carol.jtests.conform.basic.clients.MultiProtocolTests FAILED
process.stopper:
--
process.stopper:
hasher-priv: master: idle time limit (3600 seconds) exceeded
cherry-2.0.cvs20060301-alt1
(Missing operator before ?)
syntax error at /usr/src/tmp/cherry-buildroot/usr/lib/cherry/tariffsrv/CALC.pl line 2,
near "/bin/sh "
/usr/src/tmp/cherry-buildroot/usr/lib/cherry/tariffsrv/CALC.pl had compilation errors.
# /usr/src/tmp/cherry-buildroot/usr/lib/cherry/tariffsrv/CALC.pl: deparse
failed. isPerl=0.00157232704402516.
error: /bin/sh failed
error:
devhelp-0.14-alt1
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
Package libgnomeui-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libgnomeui-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libgnomeui-2.0', required by 'devhelp', not found
RPM build errors:
error: /bin/sh failed
error: Failed to find Provides
/bin/sh failed
eciadsl-usermode-0.11beta1-alt1
shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-start: fatal not found
(skip)
/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
RPM build errors:
error: /bin/sh failed
error: Failed to find Requires
/bin/sh failed
fedora-ds-adminutil-1.1.2-alt1.20070817
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
Package icu was not found in the pkg-config search path.
Perhaps you should add the directory containing `icu.pc'
to the PKG_CONFIG_PATH environment variable
Package 'icu', required by 'adminutil', not found
error: /bin/sh failed
error: Failed to find Provides
RPM build errors:
freesci-0.3.5-alt2
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
error: Failed to find Requires
RPM build errors:
fvwm-tcl-1.2-alt1
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
/usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
/usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
or directory
RPM build errors:
error: /bin/sh failed
error: Failed to find Provides
/bin/sh failed
geany-0.11-alt1
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
RPM build errors:
error: /bin/sh failed
error: Failed to find Requires
/bin/sh failed
geda-utils-20070526-alt1
MemoryError
error: /bin/sh failed
error: Failed to find Requires
RPM build errors:
gettext-0.14.6-alt2
shell.req: /usr/src/tmp/gettext-buildroot/usr/bin/gettextize: func_modify_Makefile_am
not found (skip)
/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
error: Failed to find Requires
RPM build errors:
git-1.5.3.1-alt1
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
gsm-tools-0.0.4-alt5
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
/usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
/usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
or directory
error: /bin/sh failed
error: Failed to find Provides
RPM build errors:
jakarta-commons-latka-0:1.0-alt2_0.r389670.2jpp1.7
find-requires: running scripts
(files,lib,pam,perl,pkgconfig,python,shebang,shell,static,symlinks,tcl)
/usr/src/tmp/jakarta-commons-latka-buildroot/usr/share/jakarta-commons-latka-1.0/bin/latka.sh:
line 19: syntax error near unexpected token `do\r'
/usr/src/tmp/jakarta-commons-latka-buildroot/usr/share/jakarta-commons-latka-1.0/bin/latka.sh:
line 19: `do\r'
error: /bin/sh failed
error: Failed to find Requires
RPM build errors:
kdesdk-3.5.7-alt1
/usr/src/tmp/kdesdk-buildroot/usr/bin/svnlastchange syntax OK
/usr/src/tmp/kdesdk-buildroot/usr/bin/kde-build: line 839: syntax error near unexpected
token `|'
/usr/src/tmp/kdesdk-buildroot/usr/bin/kde-build: line 839: ` |'
RPM build errors:
error: /bin/sh failed
error: Failed to find Requires
/bin/sh failed
koules-1.4-alt5
gccmakedep -- -Ixlib -I/usr/include -I/usr/include -Dlinux -D__i386__
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE
-D_XOPEN_SOURCE -D_BSD_SOURCE
-D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DFUNCPROTO=15 -DNARROWPROTO -DSOUND -DJOYSTICK -DNETSUPPORT -DMITSHM -DHAVEUSLEEP -Wall
-ffast-math -Ixlib -DASSEMBLY -DSOUNDSERVER=\"/usr/games/koules.sndsrv.linux\"
-DSOUNDDIR=\"/usr/share/games/koules\" -DSOUNDDEV=\"/dev/dsp\" -- koules.c menu.c
gameplan.c font.c intro.c rcfiles.c framebuffer.c cmap-x11.c sound.c nas_sound.c
rsound.c client.c server.c sock.c objectsio.c mygetopt.c
rm: cannot remove `mdep27049.tmp': No such file or directory
rm: cannot remove `Makefile.bak': No such file or directory
rm: cannot remove `mdep27049.tmp*': No such file or directory
make: Leaving directory `/usr/src/RPM/BUILD/koules1.4'
--
shell.req: /usr/src/tmp/koules-buildroot/usr/games/koules: mainmenu not found (skip)
/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
RPM build errors:
error: /bin/sh failed
error: Failed to find Requires
/bin/sh failed
lazarus-0.9.22-alt1
(Missing operator before $?)
syntax error at /usr/src/tmp/lazarus-buildroot/usr/lib/lazarus/tools/cvs2cl.pl line 2,
near "$0 $"
/usr/src/tmp/lazarus-buildroot/usr/lib/lazarus/tools/cvs2cl.pl had compilation errors.
--
RPM build errors:
error: /bin/sh failed
error: Failed to find Requires
/bin/sh failed
libalut-1.1.0-alt1.2
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
Package libopenal was not found in the pkg-config search path.
Perhaps you should add the directory containing `libopenal.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libopenal', required by 'freealut', not found
RPM build errors:
error: /bin/sh failed
error: Failed to find Provides
/bin/sh failed
libgtkmathview-0.7.7-alt1
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
Package mathmlview-backend-gtk was not found in the pkg-config search path.
Perhaps you should add the directory containing `mathmlview-backend-gtk.pc'
to the PKG_CONFIG_PATH environment variable
Package 'mathmlview-backend-gtk', required by 'GtkMathView', not found
RPM build errors:
error: /bin/sh failed
error: Failed to find Provides
/bin/sh failed
libopenal-0.0.8-alt3
./usr/lib:
/sbin/ldconfig: Cannot stat ./usr/lib/libopenal.so: No such file or directory
/sbin/ldconfig: Cannot stat ./usr/lib/libopenal.so.0: No such file or directory
libopenal.so.0 -> libopenal.so.0.0.0 (changed)
--
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
Package @requirements@ was not found in the pkg-config search path.
Perhaps you should add the directory containing `@requirements@.pc'
to the PKG_CONFIG_PATH environment variable
Package '@requirements@', required by 'OpenAL', not found
error: /bin/sh failed
error: Failed to find Provides
RPM build errors:
libunwind-0.99-alt1
latex2man -t ./libunwind.trans unw_create_addr_space.tex unw_create_addr_space.man
make[1]: latex2man: Command not found
make[1]: Leaving directory `/usr/src/RPM/BUILD/libunwind-0.99-alpha/doc'
ltsp5-5.0-alt0.44
symlinks.req: /usr/src/tmp/ltsp5-buildroot/etc/X11/xorg.conf.auto:
/var/cache/ltspconf/xorg.conf -> /var/cache/ltspconf/xorg.conf (raw, not found)
/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
RPM build errors:
error: /bin/sh failed
error: Failed to find Requires
/bin/sh failed
micq-0.5.0.3-alt1.1
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
RPM build errors:
error: /bin/sh failed
error: Failed to find Requires
File listed twice: /usr/share/micq/contrib
nemerle-0.9.3.99.6733-alt2.1
** (process:13190): WARNING **: Missing method .ctor in assembly
/usr/src/tmp/nemerle-buildroot/usr/lib/mono/gac/Nemerle.Macros/0.9.3.19849__5291d186334f6101/Nemerle.Macros.dll,
type Nemerle.Internal.OperatorAttribute
** ERROR **: Can't find custom attr constructor image:
/usr/src/tmp/nemerle-buildroot/usr/lib/mono/gac/Nemerle.Macros/0.9.3.19849__5291d186334f6101/Nemerle.Macros.dll
mtoken: 0x0a0002e2
aborting...
error: /bin/sh failed
error:
openmpi-1.2.3-alt4
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
error: Failed to find Requires
RPM build errors:
perl-WWW-Mechanize-1.18-alt1
t/local/back............# Started http://localhost:56839/
# Failed test '404 check'
# at t/local/back.t line 148.
--
dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 28
Failed 1/38 tests, 97.37% okay (less 2 skipped tests: 35 okay, 92.11%)
--
9 tests and 10 subtests skipped.
Failed 1/40 test scripts. 1/448 subtests failed.
Files=40, Tests=448, 188 wallclock secs ( 5.38 cusr + 0.54 csys = 5.92 CPU)
Failed 1/40 test programs. 1/448 subtests failed.
make: *** [test_dynamic] Error 255
planner-0.14.2-alt3
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
Package libgsf-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libgsf-1.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libgsf-1', required by 'libplanner', not found
RPM build errors:
error: /bin/sh failed
error: Failed to find Provides
File listed twice: /usr/share/gnome/help/planner
python-module-gst-0.10.8-alt1
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
Package pygtk-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `pygtk-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'pygtk-2.0', required by 'gst-python', not found
RPM build errors:
error: /bin/sh failed
error: Failed to find Provides
/bin/sh failed
remind-03.01.00-alt1
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
rp-pppoe-3.7-alt2
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
Macro %b not found
sandman-0.5.6-alt1
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
/usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
/usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
or directory
RPM build errors:
error: /bin/sh failed
error: Failed to find Provides
/bin/sh failed
seiros-pbx-fax-1.1-alt1
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
RPM build errors:
error: /bin/sh failed
error: Failed to find Requires
/bin/sh failed
tcl-snack-2.2.10-alt1
shell.req: /usr/src/tmp/tcl-snack-buildroot/usr/share/tcl/snack2.2.10/demos/mapChan.tcl:
wish8.3 not found (skip)
hasher-priv: master: idle time limit (3600 seconds) exceeded
timetool-2.8-alt7
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
RPM build errors:
error: /bin/sh failed
error: Failed to find Requires
/bin/sh failed
tkeca-4.0.2-alt0.5
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
error:
vim-plugin-lh_cpp-ftplugin-20040316-alt1.1
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
error:
vtcl-1.6.0-alt1
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
/usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
/usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
or directory
RPM build errors:
error: /bin/sh failed
error: Failed to find Provides
/bin/sh failed
wanpipe-3.1.3-alt1
shell.req: /usr/src/tmp/wanpipe-buildroot/etc/wanpipe/lib/x25_lib.sh: menu_name not found
(skip)
/usr/src/tmp/wanpipe-buildroot/etc/wanpipe/samples/redialer: line 17: syntax error near
unexpected token `newline'
/usr/src/tmp/wanpipe-buildroot/etc/wanpipe/samples/redialer: line 17: `PHONE1=<INSERT
PHONE NUMBER>'
error: /bin/sh failed
error:
wbxml2-0.9.2-alt2.svn49synce
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libxml-2.0', required by 'libwbxml2', not found
error: /bin/sh failed
error: Failed to find Provides
RPM build errors:
xmms2-0.2-alt5.DrHouse
pkgconfig.prov: /usr/src/tmp/xmms2-buildroot/usr/lib/pkgconfig/xmms2-client-cpp-glib.pc:
invalid pkg-config output: xmms2-client-cpp-glib = 0.2 DrHouse
error: /bin/sh failed
error:
xorg-x11-proto-devel-7.3.0-alt4
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
Package xau was not found in the pkg-config search path.
Perhaps you should add the directory containing `xau.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xau', required by 'PrintProto', not found
error: /bin/sh failed
error: Failed to find Provides
RPM build errors:
Total 106 error logs.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 19:45 ` [devel] rpm-build-4.0.4-alt78 beehive_status Alexey Tourbin
@ 2007-09-09 19:54 ` Slava Semushin
2007-09-09 19:57 ` Slava Semushin
2007-09-09 20:12 ` Alexey Tourbin
2007-09-09 22:28 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Alexey Tourbin
` (3 subsequent siblings)
4 siblings, 2 replies; 29+ messages in thread
From: Slava Semushin @ 2007-09-09 19:54 UTC (permalink / raw)
To: ALT Linux Team development discussions
2007/9/10, Alexey Tourbin <at / altlinux.ru>:
> On Sun, Sep 09, 2007 at 10:19:38PM +0400, Alexey Tourbin wrote:
> > Вот список не собравшихся пакетов (по сравнению с плановой пересборкой).
[...]
> geany-0.11-alt1
> 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
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Requires
> /bin/sh failed
[...]
Я так понимаю, что это ложное срабатывание:
[c0der@rock ~/git/geany/geany.git]$ grep -r tclsh .
./geany/data/filetypes.tcl:compiler=tclsh8.4 "%f"
./geany/data/filetypes.tcl:run_cmd=tclsh8.4 "%f"
[c0der@rock ~/git/geany/geany.git]$ file geany/data/filetypes.tcl
geany/data/filetypes.tcl: ASCII C++ program text, with very long lines
На самом же деле это файл для подсветки синтаксиса языка tcl. И из-за
его расширения подумали, что это скрипт на tcl, что явно не так:
[c0der@rock ~/git/geany/geany.git]$ head -5 geany/data/filetypes.tcl
# For complete documentation of this file; please see Geany's main documentation
[styling]
# foreground;background;bold;italic
default=0x000000;0xffffff;false;false
comment=0xd00000;0xffffff;false;false
Мне нужно делать что-то по этому поводу?
--
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 19:54 ` Slava Semushin
@ 2007-09-09 19:57 ` Slava Semushin
2007-09-09 20:15 ` Alexey Tourbin
2007-09-09 20:12 ` Alexey Tourbin
1 sibling, 1 reply; 29+ messages in thread
From: Slava Semushin @ 2007-09-09 19:57 UTC (permalink / raw)
To: ALT Linux Team development discussions
2007/9/10, Slava Semushin <slava.semushin / gmail.com>:
> 2007/9/10, Alexey Tourbin <at / altlinux.ru>:
> > On Sun, Sep 09, 2007 at 10:19:38PM +0400, Alexey Tourbin wrote:
> > > Вот список не собравшихся пакетов (по сравнению с плановой пересборкой).
> [...]
> Я так понимаю, что это ложное срабатывание:
Эээ... похоже япрогнал.
[build_settings]
# %f will be replaced by the complete filename
# %e will be replaced by the filename without extension
# (use only one of it at one time)
compiler=tclsh8.4 "%f"
run_cmd=tclsh8.4 "%f"
Если правильно понимаю, то будет вызываться эта команда, а такой у
нас, видимо, нет.
> Мне нужно делать что-то по этому поводу?
Что, заменить tclsh84 на tclsh?
--
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 19:54 ` Slava Semushin
2007-09-09 19:57 ` Slava Semushin
@ 2007-09-09 20:12 ` Alexey Tourbin
2007-09-09 20:16 ` Led
2007-09-09 20:39 ` Alexey I. Froloff
1 sibling, 2 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-09 20:12 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 2075 bytes --]
On Mon, Sep 10, 2007 at 02:54:32AM +0700, Slava Semushin wrote:
> 2007/9/10, Alexey Tourbin <at / altlinux.ru>:
> > On Sun, Sep 09, 2007 at 10:19:38PM +0400, Alexey Tourbin wrote:
> > > Вот список не собравшихся пакетов (по сравнению с плановой пересборкой).
> [...]
> > geany-0.11-alt1
> > 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
> > RPM build errors:
> > error: /bin/sh failed
> > error: Failed to find Requires
> > /bin/sh failed
> [...]
>
> Я так понимаю, что это ложное срабатывание:
>
> [c0der@rock ~/git/geany/geany.git]$ grep -r tclsh .
> ./geany/data/filetypes.tcl:compiler=tclsh8.4 "%f"
> ./geany/data/filetypes.tcl:run_cmd=tclsh8.4 "%f"
> [c0der@rock ~/git/geany/geany.git]$ file geany/data/filetypes.tcl
> geany/data/filetypes.tcl: ASCII C++ program text, with very long lines
>
> На самом же деле это файл для подсветки синтаксиса языка tcl. И из-за
> его расширения подумали, что это скрипт на tcl, что явно не так:
>
> [c0der@rock ~/git/geany/geany.git]$ head -5 geany/data/filetypes.tcl
> # For complete documentation of this file; please see Geany's main documentation
> [styling]
> # foreground;background;bold;italic
> default=0x000000;0xffffff;false;false
> comment=0xd00000;0xffffff;false;false
>
> Мне нужно делать что-то по этому поводу?
Осталось понять, почему этот пакет раньше собирался.
Файлы с расширением *.tcl всегда обрабатывались.
Просто раньше в find-requires была проверка на [ -x /usr/bin/tcl ].
Теперь ее там нет.
Однако кажется, что tcl.req охотно кушает твой filetypes.tcl
[builder@mash .in]$ RPM_BUILD_ROOT=/usr/src/tmp/geany-buildroot /usr/lib/rpm/tcl.req <<< /usr/src/tmp/geany-buildroot/usr/share/geany/filetypes.tcl
[builder@mash .in]$
Будем разбираться.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 19:57 ` Slava Semushin
@ 2007-09-09 20:15 ` Alexey Tourbin
0 siblings, 0 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-09 20:15 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1166 bytes --]
On Mon, Sep 10, 2007 at 02:57:03AM +0700, Slava Semushin wrote:
> 2007/9/10, Slava Semushin <slava.semushin / gmail.com>:
> > 2007/9/10, Alexey Tourbin <at / altlinux.ru>:
> > > On Sun, Sep 09, 2007 at 10:19:38PM +0400, Alexey Tourbin wrote:
> > > > Вот список не собравшихся пакетов (по сравнению с плановой пересборкой).
> > [...]
> > Я так понимаю, что это ложное срабатывание:
>
> Эээ... похоже япрогнал.
>
> [build_settings]
> # %f will be replaced by the complete filename
> # %e will be replaced by the filename without extension
> # (use only one of it at one time)
> compiler=tclsh8.4 "%f"
> run_cmd=tclsh8.4 "%f"
>
> Если правильно понимаю, то будет вызываться эта команда, а такой у
> нас, видимо, нет.
Нет, ты наверное неправильно понял. Файлы с расширением *.tcl
(и дополнительно файл если file(1) опознает их как text)
считаются кодом на языке tcl и обрабатываются при помощи tcl.req
из пакета rpm-build-tcl. У пакета rpm-build-tcl сейчас нет
зависимости на tcl, поэтому запуск tcl.req обламывается.
Короче я буду постепенно всё объяснять, не надо задавать вопросов
раньше, чем начнёт казаться, что не будет ответов.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 20:12 ` Alexey Tourbin
@ 2007-09-09 20:16 ` Led
2007-09-09 22:30 ` Alexey Tourbin
2007-09-09 20:39 ` Alexey I. Froloff
1 sibling, 1 reply; 29+ messages in thread
From: Led @ 2007-09-09 20:16 UTC (permalink / raw)
To: ALT Linux Team development discussions
2007/9/9, Alexey Tourbin <at@altlinux.ru>:
> On Mon, Sep 10, 2007 at 02:54:32AM +0700, Slava Semushin wrote:
> > 2007/9/10, Alexey Tourbin <at / altlinux.ru>:
> > > On Sun, Sep 09, 2007 at 10:19:38PM +0400, Alexey Tourbin wrote:
> > > > Вот список не собравшихся пакетов (по сравнению с плановой пересборкой).
> > [...]
> > > geany-0.11-alt1
> > > 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
> > > RPM build errors:
> > > error: /bin/sh failed
> > > error: Failed to find Requires
> > > /bin/sh failed
> > [...]
> >
> > Я так понимаю, что это ложное срабатывание:
> >
> > [c0der@rock ~/git/geany/geany.git]$ grep -r tclsh .
> > ./geany/data/filetypes.tcl:compiler=tclsh8.4 "%f"
> > ./geany/data/filetypes.tcl:run_cmd=tclsh8.4 "%f"
> > [c0der@rock ~/git/geany/geany.git]$ file geany/data/filetypes.tcl
> > geany/data/filetypes.tcl: ASCII C++ program text, with very long lines
> >
> > На самом же деле это файл для подсветки синтаксиса языка tcl. И из-за
> > его расширения подумали, что это скрипт на tcl, что явно не так:
> >
> > [c0der@rock ~/git/geany/geany.git]$ head -5 geany/data/filetypes.tcl
> > # For complete documentation of this file; please see Geany's main documentation
> > [styling]
> > # foreground;background;bold;italic
> > default=0x000000;0xffffff;false;false
> > comment=0xd00000;0xffffff;false;false
> >
> > Мне нужно делать что-то по этому поводу?
>
> Осталось понять, почему этот пакет раньше собирался.
> Файлы с расширением *.tcl всегда обрабатывались.
>
> Просто раньше в find-requires была проверка на [ -x /usr/bin/tcl ].
> Теперь ее там нет.
>
> Однако кажется, что tcl.req охотно кушает твой filetypes.tcl
>
> [builder@mash .in]$ RPM_BUILD_ROOT=/usr/src/tmp/geany-buildroot /usr/lib/rpm/tcl.req <<< /usr/src/tmp/geany-buildroot/usr/share/geany/filetypes.tcl
> [builder@mash .in]$
>
> Будем разбираться.
А можно заодно разобраться python-зависимостями? А то приходится в
%install переименовывать все python-скрипты, добавляя расширения .py,
смотреть, какие зависимости нашлись и потом прописывать их в спеке
вручную :(
--
Led.
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 20:12 ` Alexey Tourbin
2007-09-09 20:16 ` Led
@ 2007-09-09 20:39 ` Alexey I. Froloff
2007-09-09 23:05 ` Alexey Tourbin
1 sibling, 1 reply; 29+ messages in thread
From: Alexey I. Froloff @ 2007-09-09 20:39 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 573 bytes --]
* Alexey Tourbin <at@> [070910 00:14]:
> Просто раньше в find-requires была проверка на [ -x /usr/bin/tcl ].
> Теперь ее там нет.
Вот интересно, а должны ли rpm-build-скриптовойязык требовать
обязательного наличия /usr/bin/скриптовойязык? Особенно если от
rpm-build-скриптовойязык зависит сам rpm-build? perl есть в
basesystem, но есть ещё tcl и python, а скоро может появиться и
ruby.
Получается, дешевле вручную проставлять зависимость на
rpm-build-XXX и требовать интертрепатор, чем вносить их всех в
зависимости rpm-build...
--
Regards,
Sir Raorn.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* [devel] rpm-build-4.0.4-alt78 tcl dependencies
2007-09-09 19:45 ` [devel] rpm-build-4.0.4-alt78 beehive_status Alexey Tourbin
2007-09-09 19:54 ` Slava Semushin
@ 2007-09-09 22:28 ` Alexey Tourbin
2007-09-09 23:27 ` Led
` (3 more replies)
2007-09-10 10:13 ` [devel] rpm-build-4.0.4-alt78 beehive_status Sergey Bolshakov
` (2 subsequent siblings)
4 siblings, 4 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-09 22:28 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 20598 bytes --]
Есть два класса, к которым можно отнести большую часть
несобравшихся пакетов. Первый класс связан с падением на поиске
tcl зависимостей. Поиск tcl зависимостей стал менее опциональным,
что пока считается правильным без дополнительных пояснений.
Проверка на наличие интерпретатора [ -x /usr/bin/tclsh ] пред
запуском /usr/lib/rpm/tcl.req в принципе убрана. Кроме того,
раньше на поиск зависимостей шли только файлы с расширением
*.tcl. Теперь для отсева файлов используется скрипт tcl.req.files,
который, кроме tcl модулей, отбирает также tcl скрипты. Вот он.
#!/bin/sh -efu
while IFS=$'\t' read -r f t; do
# tcl modules
case "$f" in
*.tcl)
case "$t" in
*"symbolic link to"*)
continue ;;
*" text"*)
echo "$f"; continue ;;
*)
echo "${0##*/}: $f: $t" >&2
echo "$f"; continue ;;
esac
esac
# scripts
case "$t" in
#!/usr/bin/tclsh
*"/tclsh script text"*)
echo "$f"; continue ;;
#!/usr/bin/env tclsh
*" tclsh script text"*)
echo "$f"; continue ;;
#!/usr/bin/wish
*"/wish script text"*)
echo "$f"; continue ;;
#!/usr/bin/env wish
*" wish script text"*)
echo "$f"; continue ;;
esac
done
Поясню также, что сейчас пакет rpm-build-tcl не содержит зависимости
на tcl, то есть фактическая возможность запуска tcl.req ничем не
гарантируется. Всё это вместе приводит к падению tcl.req и,
следовательно, невозможности сборки некоторых пакетов.
> AutoScan-1.01-alt1
> 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
> error: Failed to find Requires
> RPM build errors:
Этот пакет содержит wish скрипт:
$ rpmfile /ALT/Sisyphus/files/i586/RPMS/AutoScan-1.01-alt1.i586.rpm |grep wish
/usr/bin/AutoScan_Network_Error.sh 100755 a /usr/bin/wish script text executable
$
Это скрипт, по-видимому, не требует никаких tcl пакетов.
$ rpmpeek /ALT/Sisyphus/files/i586/RPMS/AutoScan-1.01-alt1.i586.rpm grep require ./usr/bin/AutoScan_Network_Error.sh
$
> 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 пакетов.
$ rpmpeek /ALT/Sisyphus/files/noarch/RPMS/TclTutor-2.0-alt0.2.noarch.rpm grep require ./usr/bin/TclTutor.tcl ./usr/share/TclTutor/htmllib.tcl ./usr/share/TclTutor/scaler.tcl
./usr/bin/TclTutor.tcl:# Using packages would be good, but would require some more installation
./usr/share/TclTutor/htmllib.tcl:# package require http 2
./usr/share/TclTutor/htmllib.tcl:# Applications can overwrite this procedure, as required, or
./usr/share/TclTutor/htmllib.tcl:# HM$win structure. We don't need to check for the existance of required
./usr/share/TclTutor/htmllib.tcl: HMextract_param $param name ;# required
./usr/share/TclTutor/scaler.tcl:# Throws an error if unrecognized arguments or required args
$
> alterator-firewall-0.5-alt3
> shell.req:
> /usr/src/tmp/alterator-firewall-buildroot/usr/lib/alterator/backend3/template-oldfw:
> message_loop not found (skip)
> /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
> error: Failed to find Requires
> RPM build errors:
Этот пакет содержит tcl скрипт, который, кажется, ничего не требует.
$ rpmfile /ALT/Sisyphus/files/i586/RPMS/alterator-firewall-0.5-alt3.i586.rpm |grep tcl
/etc/dwall-alt/expert/scripts/parse.tcl 100644 a /usr/bin/tclsh script text executable
$
> eciadsl-usermode-0.11beta1-alt1
> shell.req: /usr/src/tmp/eciadsl-usermode-buildroot/usr/bin/eciadsl-start: fatal not found
> (skip)
> /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
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Requires
> /bin/sh failed
$ rpmfile /ALT/Sisyphus/files/i586/RPMS/eciadsl-usermode-0.11beta1-alt1.i586.rpm |grep wish
/usr/bin/eciadsl-config-tk 100755 a /usr/bin/wish script text executable
$
Кажется, этот скрипт ничего не требует.
> freesci-0.3.5-alt2
> 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
> error: Failed to find Requires
> RPM build errors:
/usr/bin/freesci-setup 100755 a /usr/bin/wish script text executable
не требует
> fvwm-tcl-1.2-alt1
> find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
> /usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
> /usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
> or directory
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Provides
> /bin/sh failed
/usr/lib/fvwm-tcl/fvwm.tcl 100644 ASCII text
/usr/lib/fvwm-tcl/pkgIndex.tcl 100644 ASCII English text
Скрипт fvwm.tcl может что-то требовать.
$ rpmpeek /ALT/Sisyphus/files/i586/RPMS/fvwm-tcl-1.2-alt1.i586.rpm grep require ./usr/lib/fvwm-tcl/fvwm.tcl
package require Tcl 8.0 ;# we need binary command
if {[catch {package require Tclx}]} {
error "Tclx is required for all systems except Linux"
$
Примечательно однако, что пакет fvwm-tcl не предоставляет ни одной
tcl(...) зависимости:
$ rpm -qp --provides /ALT/Sisyphus/files/i586/RPMS/fvwm-tcl-1.2-alt1.i586.rpm
fvwm-tcl = 1.2-alt1
$
> geany-0.11-alt1
> 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
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Requires
> /bin/sh failed
/usr/share/geany/filetypes.tcl 100644 ASCII C++ program text, with very long lines
похоже на ложное срабатывание по расширению *.tcl
> gettext-0.14.6-alt2
> shell.req: /usr/src/tmp/gettext-buildroot/usr/bin/gettextize: func_modify_Makefile_am
> not found (skip)
> /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
> error: Failed to find Requires
> RPM build errors:
$ rpmfile gettext-tools-0.14.6-alt2.i586.rpm |grep tcl
/usr/share/gettext/msgunfmt.tcl 100644 ASCII English text
$
не требует
> git-1.5.3.1-alt1
> 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
$ rpmfile gitk-1.5.3.1-alt1.i586.rpm
/usr/bin/gitk 100755 Bourne shell script text executable
/usr/share/man/man1/gitk.1.gz 100644 gzip compressed data, from Unix, max compression
$
файл /usr/bin/gitk написан на wish, но ничего не требует
> gsm-tools-0.0.4-alt5
> find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
> /usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
> /usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
> or directory
> error: /bin/sh failed
> error: Failed to find Provides
> RPM build errors:
$ rpmfile gsm-tools-0.0.4-alt5.noarch.rpm |grep tcl
/usr/bin/gsm-tools 100755 a /usr/bin/tclsh script text executable
/usr/share/tcl/gsm-tools 40755 directory
/usr/share/tcl/gsm-tools/gui.tcl 100644 ASCII text, with very long lines
/usr/share/tcl/gsm-tools/lib_phone_common.tcl 100644 ASCII text
/usr/share/tcl/gsm-tools/lib_siemens.tcl 100644 ASCII text
/usr/share/tcl/gsm-tools/lib_t39.tcl 100644 ASCII text
/usr/share/tcl/gsm-tools/phonebooklib.tcl 100644 a /usr/bin/tclsh script text executable
/usr/share/tcl/gsm-tools/pkgIndex.tcl 100644 ASCII English text
/usr/share/tcl/gsm-tools/smslib.tcl 100644 ASCII C program text
$
Здесь очень плохая ситуация -- обламывается tcl.prov (а не req).
По идее должна появиться зависимость Provides: tcl(smslib).
Если она не появится, то это чревато анметами.
Замечу, что tcl.prov ЗАПУСКАЕТСЯ ТОЛЬКО НА ФАЙЛЫ pkgIndex.tcl,
которые ЗАВЕДОМО ДОЛЖНЫ ЧТО-ТО ПРЕДОСТАВЛЯТЬ.
> koules-1.4-alt5
> gccmakedep -- -Ixlib -I/usr/include -I/usr/include -Dlinux -D__i386__
> -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE
> -D_XOPEN_SOURCE -D_BSD_SOURCE
> -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -DFUNCPROTO=15 -DNARROWPROTO -DSOUND -DJOYSTICK -DNETSUPPORT -DMITSHM -DHAVEUSLEEP -Wall
> -ffast-math -Ixlib -DASSEMBLY -DSOUNDSERVER=\"/usr/games/koules.sndsrv.linux\"
> -DSOUNDDIR=\"/usr/share/games/koules\" -DSOUNDDEV=\"/dev/dsp\" -- koules.c menu.c
> gameplan.c font.c intro.c rcfiles.c framebuffer.c cmap-x11.c sound.c nas_sound.c
> rsound.c client.c server.c sock.c objectsio.c mygetopt.c
> rm: cannot remove `mdep27049.tmp': No such file or directory
> rm: cannot remove `Makefile.bak': No such file or directory
> rm: cannot remove `mdep27049.tmp*': No such file or directory
> make: Leaving directory `/usr/src/RPM/BUILD/koules1.4'
> --
> shell.req: /usr/src/tmp/koules-buildroot/usr/games/koules: mainmenu not found (skip)
> /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
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Requires
> /bin/sh failed
/usr/games/koules.tcl 100755 a /usr/bin/wish script text executable
не требует
> ltsp5-5.0-alt0.44
> symlinks.req: /usr/src/tmp/ltsp5-buildroot/etc/X11/xorg.conf.auto:
> /var/cache/ltspconf/xorg.conf -> /var/cache/ltspconf/xorg.conf (raw, not found)
> /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
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Requires
> /bin/sh failed
$ rpmfile ltsp5-client-5.0-alt0.44.i586.rpm |grep tcl
/usr/sbin/ltsconf 100755 a /usr/bin/tclsh script text executable
/usr/share/ltsp-client/conffile.tcl 100644 ASCII English text
$ rpmpeek ltsp5-client-5.0-alt0.44.i586.rpm grep require -A1 ./usr/sbin/ltsconf
#package require conffile
source /usr/share/ltsp-client/conffile.tcl
$
Требует самого себя...
> micq-0.5.0.3-alt1.1
> 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
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Requires
> File listed twice: /usr/share/micq/contrib
/usr/share/micq/contrib/logconv.tcl 100644 a /usr/bin/tclsh script text executable
/usr/share/micq/contrib/logmod.tcl 100644 a /usr/bin/tclsh script text executable
не требует
> openmpi-1.2.3-alt4
> 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
> error: Failed to find Requires
> RPM build errors:
/etc/openmpi/openmpi-totalview.tcl 100644 ASCII English text
не требует
> remind-03.01.00-alt1
> 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
/usr/bin/cm2rem.tcl 100755 Bourne shell script text executable
не требует
> rp-pppoe-3.7-alt2
> 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
> Macro %b not found
$ rpmfile rp-pppoe-gui-3.7-alt2.i586.rpm |grep wish
/usr/bin/tkpppoe 100755 a /usr/bin/wish script text executable
вероятно что-то требует:
set problem [catch {package require msgcat} err]
> sandman-0.5.6-alt1
> find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
> /usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
> /usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
> or directory
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Provides
> /bin/sh failed
$ rpmfile sandman-0.5.6-alt1.noarch.rpm |grep tcl
/usr/bin/sandcl 100755 a /usr/bin/tclsh script text executable
/usr/share/sandlib/pkgIndex.tcl 100644 ASCII English text
/usr/share/sandlib/sandbox.tcl 100644 ASCII English text
/usr/share/sandlib/sandcl.tcl 100644 ASCII English text
/usr/share/sandlib/sandcvs.tcl 100644 ASCII English text
/usr/share/sandlib/sandlib.tcl 100644 ASCII English text
/usr/share/sandlib/sandpm.tcl 100644 ASCII English text
/usr/share/sandlib/sandrep.tcl 100644 ASCII English text
/usr/share/sandlib/sandserv.tcl 100644 ASCII English text
/usr/share/sandlib/sandtask.tcl 100644 ASCII English text
/usr/share/sandlib/sandtool.tcl 100644 ASCII English text
$
Опять не отрабатывает prov.
> seiros-pbx-fax-1.1-alt1
> 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
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Requires
> /bin/sh failed
/usr/bin/fax-send 100755 a /usr/bin/tclsh script text executable
Требует!
$ rpmpeek seiros-pbx-fax-1.1-alt1.noarch.rpm grep require ./usr/bin/fax-send
package require mime
package require smtp
$
> tcl-snack-2.2.10-alt1
> shell.req: /usr/src/tmp/tcl-snack-buildroot/usr/share/tcl/snack2.2.10/demos/mapChan.tcl:
> wish8.3 not found (skip)
> hasher-priv: master: idle time limit (3600 seconds) exceeded
Хех, shell.req завис.
Кажется, я знаю почему.
> timetool-2.8-alt7
> 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
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Requires
> /bin/sh failed
/usr/lib/timetool/dialog.tcl 100644 ASCII English text
почти не требует
catch {source $env(CONTROL_PANEL_LIB_DIR)/colorscheme.tcl}
> tkeca-4.0.2-alt0.5
> 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
> error:
/usr/bin/tkeca.tcl 100755 Bourne shell script text executable
не требует
> vim-plugin-lh_cpp-ftplugin-20040316-alt1.1
> 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
> error:
$ rpmfile vim-plugin-lh_cpp-ftplugin-20040316-alt1.1.noarch.rpm |grep tcl
/usr/share/vim/vimfiles/after/template/template.tcl 100644 ISO-8859 text, with CRLF line terminators
$
ошибочное опознание по расширению *.tcl
> vtcl-1.6.0-alt1
> find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
> /usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
> /usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
> or directory
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Provides
> /bin/sh failed
Очень много tcl файлов, не срабатывает prov.
/usr/share/vtcl-1.6.0/lib/color.tcl 100644 ASCII English text
/usr/share/vtcl-1.6.0/lib/command.tcl 100644 ASCII English text
/usr/share/vtcl-1.6.0/lib/compound.tcl 100644 ASCII English text
/usr/share/vtcl-1.6.0/lib/compounds.tcl 100644 ASCII English text
Вроде всё.
Итого, имеется более 20 поломанных пакетов.
Надо обсудить, что с ними делать.
Можно обратить внимание на то, что большинство скриптов на самом деле
не требуют каких-либо tcl пактов (то есть внешних модулей). В принципе
можно было бы в tcl.req.files добавить проверку типа 'grep -w require',
и если заведомо ничего не требуется, то зависимости можно не искать.
Это починило бы большую часть пакетов. В остальные же пакеты пришлось
бы добавить BuildRequires: tcl.
Но мне этот вариант не нравится вот в каком отношении. Поиск tcl
зависимостей даёт больше, чем просто зависимости, которых почти нет.
По идее, дополнительно происходит syntax check. Это очень мощный
и притом бесплатный способ проверки скриптов, он фактически защищает
от запаковки заведомо поломанного кода. Фактически такой подход
уже является "нашим стилем" в rpm-build в других аналогичных случаях.
Проверка синтаксиса при анализе шелл-зависимостей мне пару раз помогала
обнаружить ошибки в шелл-скриптах. В перле то же самое. Недавно
я помогал migor@ собирать перловую софтину OpenCA, и практически
вынужден был исправить все ошибки в перловых скриптах (настоящие!),
чтобы пакет собрался.
Так что я предлагаю другой вариант: внести tcl в базовую сборочную
среду. Это решает все проблемы. Единственный недостаток -- это
внесение нового пакета в базовую сборочную среду per se. Это в общем-то
не слишком популярный интерпретатор, но не "левый", то есть с давней
традицией, историей и т.п.
Вместе с тем, я не предлагаю ПРОСТО внести tcl в базовую сборочную
среду. Я предлагаю решить проблему НАЛИЧИЯ в базовой сборочной среде
скриптов rpm-build-tcl, возможность запуска которых ничем не
гарантируется. То есть нужно либо вынести rpm-build-tcl из базовой
сборочной среды, либо добавить в него зависимость на tcl, чтобы скрипты
поиска зависимостей всегда работали. Я предлагаю второй вариант.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 20:16 ` Led
@ 2007-09-09 22:30 ` Alexey Tourbin
0 siblings, 0 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-09 22:30 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 490 bytes --]
On Sun, Sep 09, 2007 at 11:16:24PM +0300, Led wrote:
> А можно заодно разобраться python-зависимостями? А то приходится в
> %install переименовывать все python-скрипты, добавляя расширения .py,
> смотреть, какие зависимости нашлись и потом прописывать их в спеке
> вручную :(
Так и сделано. В смысле, не переименование в *.py, а поиск зависимостей
в не-*.py питоновских скриптах. :) Но там в двух-трёх случаях стали
появляться какие-то анметы очень нехорошие. Дойдём и до них.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 20:39 ` Alexey I. Froloff
@ 2007-09-09 23:05 ` Alexey Tourbin
0 siblings, 0 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-09 23:05 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2303 bytes --]
On Mon, Sep 10, 2007 at 12:39:40AM +0400, Alexey I. Froloff wrote:
> * Alexey Tourbin <at@> [070910 00:14]:
> > Просто раньше в find-requires была проверка на [ -x /usr/bin/tcl ].
> > Теперь ее там нет.
> Вот интересно, а должны ли rpm-build-скриптовойязык требовать
> обязательного наличия /usr/bin/скриптовойязык? Особенно если от
> rpm-build-скриптовойязык зависит сам rpm-build? perl есть в
> basesystem, но есть ещё tcl и python, а скоро может появиться и
> ruby.
>
> Получается, дешевле вручную проставлять зависимость на
> rpm-build-XXX и требовать интертрепатор, чем вносить их всех в
> зависимости rpm-build...
Кое-что на эту тему я написал в письме про 'tcl dependencies'.
Мое мнение таково: зависимости всех популярных языков программирования
должны искаться в безусловном порядке, то есть, по сути, в rpm-build
в идеале должны появиться зависимости на все пакеты rpm-build-язык.
Иначе мы получаем не только плавающие зависимости Requires, но и,
что гораздо хуже, плавающие зависимости Provides.
Особенно если пакеты возьмётся собирать какой-нибудь неофит при помощи
так называемого rpmrb скрипта. Автоматически обнаружить такое
обстоятельство не проще, чем выяснить, пьет ли maintainer коньяк
по утрам.
Но конечно, с другой стороны, нельзя тащить в базовую сборочную среду
всё подряд. Прежде чем подсистема "язык-зависимости" сможет стать
кандидатом на внесение в зависимости rpm-build, она должна отвечать
целому ряду требований.
Первое требование такое: язык должен широко и незавимо использоваться.
То есть его скритпы должны всплывать "тут и там", а не только в
специфических для этого языка пакетах. Если все языковые пакеты как
один называются язык-*, то нет смысла вносить это в базовую сборочную
среду, а есть смысл написать полиси для сборки язык-* пакетов.
Конечно, все реальные случаи скорее "серые". Но не безнадёжно серые.
Далее, нужено очень квалифицированный maintainer, который, во-первых,
способен самостоятельно написать скрипты поиска зависимостей (или хотя
бы хорошо разобраться в тех, которые он утащил из другого дистрибутива),
а также "всё понимать" и, следовательно, быть способным решать вопросы,
когда поиск зависимостей идет не очень гладко.
С таким maintainer'ом в принципе есть что дальше обсуждать.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 tcl dependencies
2007-09-09 22:28 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Alexey Tourbin
@ 2007-09-09 23:27 ` Led
2007-09-09 23:48 ` [devel] #! shebang fixer Alexey Tourbin
2007-09-10 8:48 ` [devel] tcl.req.files: re-exec check implemented Alexey Tourbin
2007-09-10 10:46 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Sergey Bolshakov
` (2 subsequent siblings)
3 siblings, 2 replies; 29+ messages in thread
From: Led @ 2007-09-09 23:27 UTC (permalink / raw)
To: ALT Linux Team development discussions
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
?
___
Led
^ permalink raw reply [flat|nested] 29+ messages in thread
* [devel] #! shebang fixer
2007-09-09 23:27 ` Led
@ 2007-09-09 23:48 ` Alexey Tourbin
2007-09-10 8:48 ` [devel] tcl.req.files: re-exec check implemented Alexey Tourbin
1 sibling, 0 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-09 23:48 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 3163 bytes --]
On Mon, Sep 10, 2007 at 02:27:11AM +0300, Led wrote:
> > Этот пакет содержит некоторое количество 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
> ?
Здесь есть два подхода.
Во-первых, можно написать shebang fixer. То есть чтобы на стадии fixup,
перед поиском зависимостей, совершенно автоматически выправлять все
кривые шебанги. Но этот фиксер будет эвристическим, и если он
облажается, то это будет пшик и автору фиксера дадут подзатыльник.
Подумайте: на самом деле придётся писать full-fledged шелл-парсер.
Ведь "$0" "$@" это простейший вариант, а любая менее тривиальная
манипуляция с аргументами может ввести фиксер в глубокий ступор.
В лучшем случае он просто ничего не зафиксит. А в худшем случае
зафиксит так что мало не покажется.
Кроме того, есть такие случаи, которые зафиксить принципиально нельзя,
и которые, вместе с тем, имеют свой глубокий смысл.
$ head -3 /usr/lib/rpm/tcl.req
#!/bin/sh
# -*- tcl -*- \
exec ${RPM_TCLSH:-/usr/bin/tclsh} "$0" "$@"
$
Поэтому я решил, что можно реализовать менее навязчивые варианты.
В частности, в новом rpm-build уже реализовано распознавание
/usr/bin/env для всех типичных случаев. В частности,
релевантная часть анализатора шебанга (shebang.req) выглядит так:
local f="$1" line=; shift
line=$(sed -n '1s|^#![[:space:]]*/|/|p' "$f")
[ -n "$line" ] || return 0
set -- $line
case "$#,$1" in
2,/usr/bin/env)
FindPackage "$f" "$1" "$2" ;;
*)
FindPackage "$f" "$1" ;;
esac
То есть скрыть зависимость на интерпретатор через /usr/bin/env
в типичном случае (если всего один аргумент у env) уже нельзя.
Теперь только остаётся придумать, что делать с re-exec'ом.
В принципе, подход тоже есть, он реализован в shell.req:
if ! reqs="$($sh --rpm-requires "$f")"; then
# sh --rpm-requires failed, and stderr is already there.
# We are almost dead. The last chance to escape is to see
# if the shell is used only to re-exec another interpreter, e.g.
# exec tclsh "$0" "$@"
if line1=$(egrep -m1 -v '^[[:space:]]*(#|$)' "$f"); then
set -- $line1
if [ $# -gt 1 ] && [ "$1" = exec ]; then
Info "$f is $2 script!"
FindPackage "$f" "$2"
return 0
fi
fi
Fatal "$f: $sh --rpm-requires failed"
fi
Проблема тут в том, что этот код нельзя сделать вполне универсальным,
то есть реализовать на его основе диспетчерезацию на другой тип
зависимостей. Но можно просто вставить аналогичный код в tcl.req.files.
Кажется, это единственный язык, который в котором любят делать
шебанг-хак через re-exec в первой значащей строчке.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* [devel] tcl.req.files: re-exec check implemented
2007-09-09 23:27 ` Led
2007-09-09 23:48 ` [devel] #! shebang fixer Alexey Tourbin
@ 2007-09-10 8:48 ` Alexey Tourbin
1 sibling, 0 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-10 8:48 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1898 bytes --]
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
$
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 beehive_status
2007-09-09 19:45 ` [devel] rpm-build-4.0.4-alt78 beehive_status Alexey Tourbin
2007-09-09 19:54 ` Slava Semushin
2007-09-09 22:28 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Alexey Tourbin
@ 2007-09-10 10:13 ` Sergey Bolshakov
2007-09-10 22:28 ` [devel] rpm-build-tcl Requires += tcl? Michael Shigorin
2007-09-11 16:13 ` [devel] Zope-2.7.7-alt1 Alexey Tourbin
4 siblings, 0 replies; 29+ messages in thread
From: Sergey Bolshakov @ 2007-09-10 10:13 UTC (permalink / raw)
To: devel
>>>>> "Alexey" == Alexey Tourbin <at@altlinux.ru> writes:
> On Sun, Sep 09, 2007 at 10:19:38PM +0400, Alexey Tourbin wrote:
>> Вот список не собравшихся пакетов (по сравнению с плановой пересборкой).
> Вот этот же самый список с диагностикой, отформатированный при помощи
> скрипта beehive_status из qa-robot.git.
[skipped]
> sandman-0.5.6-alt1
> find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
> /usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
> /usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
> or directory
> RPM build errors:
> error: /bin/sh failed
> error: Failed to find Provides
> /bin/sh failed
Этот зажился, пора в крем^W obsolete
--
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 tcl dependencies
2007-09-09 22:28 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Alexey Tourbin
2007-09-09 23:27 ` Led
@ 2007-09-10 10:46 ` Sergey Bolshakov
2007-09-10 20:46 ` Alexey Tourbin
` (2 more replies)
2007-09-10 20:39 ` [devel] rpm-build-4.0.4-alt78 tcl SCRIPTS DISABLED Alexey Tourbin
2007-09-10 22:38 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Michael Shigorin
3 siblings, 3 replies; 29+ messages in thread
From: Sergey Bolshakov @ 2007-09-10 10:46 UTC (permalink / raw)
To: devel
>>>>> "Alexey" == Alexey Tourbin <at@altlinux.ru> writes:
> Есть два класса, к которым можно отнести большую часть
> несобравшихся пакетов. Первый класс связан с падением на поиске
> tcl зависимостей. Поиск tcl зависимостей стал менее опциональным,
> что пока считается правильным без дополнительных пояснений.
> Проверка на наличие интерпретатора [ -x /usr/bin/tclsh ] пред
> запуском /usr/lib/rpm/tcl.req в принципе убрана. Кроме того,
> раньше на поиск зависимостей шли только файлы с расширением
> *.tcl. Теперь для отсева файлов используется скрипт tcl.req.files,
> который, кроме tcl модулей, отбирает также tcl скрипты. Вот он.
Прежде всего, замечательно, что у тебя нашлось время/желание этим
заняться.
[skipped]
> Поясню также, что сейчас пакет rpm-build-tcl не содержит зависимости
> на tcl, то есть фактическая возможность запуска tcl.req ничем не
> гарантируется. Всё это вместе приводит к падению tcl.req и,
> следовательно, невозможности сборки некоторых пакетов.
[skipped]
>> fvwm-tcl-1.2-alt1
>> find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
>> /usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
>> /usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
>> or directory
>> RPM build errors:
>> error: /bin/sh failed
>> error: Failed to find Provides
>> /bin/sh failed
> /usr/lib/fvwm-tcl/fvwm.tcl 100644 ASCII text
> /usr/lib/fvwm-tcl/pkgIndex.tcl 100644 ASCII English text
> Скрипт fvwm.tcl может что-то требовать.
> $ rpmpeek /ALT/Sisyphus/files/i586/RPMS/fvwm-tcl-1.2-alt1.i586.rpm grep require ./usr/lib/fvwm-tcl/fvwm.tcl
> package require Tcl 8.0 ;# we need binary command
> if {[catch {package require Tclx}]} {
> error "Tclx is required for all systems except Linux"
> $
> Примечательно однако, что пакет fvwm-tcl не предоставляет ни одной
> tcl(...) зависимости:
> $ rpm -qp --provides /ALT/Sisyphus/files/i586/RPMS/fvwm-tcl-1.2-alt1.i586.rpm
> fvwm-tcl = 1.2-alt1
> $
Вероятно, потому, что этот пакет располагает свои файлы в
нестандартном для tcl месте (не ниже /usr/share/tcl)
>> gsm-tools-0.0.4-alt5
>> find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
>> /usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
>> /usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
>> or directory
>> error: /bin/sh failed
>> error: Failed to find Provides
>> RPM build errors:
> $ rpmfile gsm-tools-0.0.4-alt5.noarch.rpm |grep tcl
> /usr/bin/gsm-tools 100755 a /usr/bin/tclsh script text executable
> /usr/share/tcl/gsm-tools 40755 directory
> /usr/share/tcl/gsm-tools/gui.tcl 100644 ASCII text, with very long lines
> /usr/share/tcl/gsm-tools/lib_phone_common.tcl 100644 ASCII text
> /usr/share/tcl/gsm-tools/lib_siemens.tcl 100644 ASCII text
> /usr/share/tcl/gsm-tools/lib_t39.tcl 100644 ASCII text
> /usr/share/tcl/gsm-tools/phonebooklib.tcl 100644 a /usr/bin/tclsh script text executable
> /usr/share/tcl/gsm-tools/pkgIndex.tcl 100644 ASCII English text
> /usr/share/tcl/gsm-tools/smslib.tcl 100644 ASCII C program text
> $
> Здесь очень плохая ситуация -- обламывается tcl.prov (а не req).
> По идее должна появиться зависимость Provides: tcl(smslib).
> Если она не появится, то это чревато анметами.
> Замечу, что tcl.prov ЗАПУСКАЕТСЯ ТОЛЬКО НА ФАЙЛЫ pkgIndex.tcl,
> которые ЗАВЕДОМО ДОЛЖНЫ ЧТО-ТО ПРЕДОСТАВЛЯТЬ.
Да, странно, я посмотрю.
[skipped]
>> vtcl-1.6.0-alt1
>> find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell,tcl)
>> /usr/lib/rpm/tcl.prov: line 3: /usr/bin/tclsh: No such file or directory
>> /usr/lib/rpm/tcl.prov: line 3: exec: /usr/bin/tclsh: cannot execute: No such file
>> or directory
>> RPM build errors:
>> error: /bin/sh failed
>> error: Failed to find Provides
>> /bin/sh failed
> Очень много tcl файлов, не срабатывает prov.
> /usr/share/vtcl-1.6.0/lib/color.tcl 100644 ASCII English text
> /usr/share/vtcl-1.6.0/lib/command.tcl 100644 ASCII English text
> /usr/share/vtcl-1.6.0/lib/compound.tcl 100644 ASCII English text
> /usr/share/vtcl-1.6.0/lib/compounds.tcl 100644 ASCII English text
По той же причине, что и fvwm-tcl.
Вообще, хотя в rpm-build-tcl есть механизм для расширения
путей поиска provides, я не думаю, что предоставлять такие
зависимости хорошая идея, поскольку нет способа указать
в дальнейшем путь поиска, по которому такой provides расположен.
> Вроде всё.
> Итого, имеется более 20 поломанных пакетов.
> Надо обсудить, что с ними делать.
> Можно обратить внимание на то, что большинство скриптов на самом деле
> не требуют каких-либо tcl пактов (то есть внешних модулей). В принципе
> можно было бы в tcl.req.files добавить проверку типа 'grep -w require',
> и если заведомо ничего не требуется, то зависимости можно не искать.
> Это починило бы большую часть пакетов. В остальные же пакеты пришлось
> бы добавить BuildRequires: tcl.
> Но мне этот вариант не нравится вот в каком отношении. Поиск tcl
> зависимостей даёт больше, чем просто зависимости, которых почти нет.
> По идее, дополнительно происходит syntax check. Это очень мощный
> и притом бесплатный способ проверки скриптов, он фактически защищает
> от запаковки заведомо поломанного кода. Фактически такой подход
> уже является "нашим стилем" в rpm-build в других аналогичных случаях.
> Проверка синтаксиса при анализе шелл-зависимостей мне пару раз помогала
> обнаружить ошибки в шелл-скриптах. В перле то же самое. Недавно
> я помогал migor@ собирать перловую софтину OpenCA, и практически
> вынужден был исправить все ошибки в перловых скриптах (настоящие!),
> чтобы пакет собрался.
> Так что я предлагаю другой вариант: внести tcl в базовую сборочную
> среду. Это решает все проблемы. Единственный недостаток -- это
> внесение нового пакета в базовую сборочную среду per se. Это в общем-то
> не слишком популярный интерпретатор, но не "левый", то есть с давней
> традицией, историей и т.п.
> Вместе с тем, я не предлагаю ПРОСТО внести tcl в базовую сборочную
> среду. Я предлагаю решить проблему НАЛИЧИЯ в базовой сборочной среде
> скриптов rpm-build-tcl, возможность запуска которых ничем не
> гарантируется. То есть нужно либо вынести rpm-build-tcl из базовой
> сборочной среды, либо добавить в него зависимость на tcl, чтобы скрипты
> поиска зависимостей всегда работали. Я предлагаю второй вариант.
Вынос rpm-build-tcl из базовой сборочной среды -- это упование
на то, что майнтайнер впишет его в buildreq(pre).
Как нетрудно убедиться, это не сработало (в варианте buildreq: tcl)
даже с автором rpm-build-tcl и sandman.
Последствия выноса -- некоторая деградация технологии сборки для
tcl, бонус -- убыстрение процесса сборки, в отдалённом будущем --
вычищение базы apt от пары-тройки сотен сущностей.
'Техносноб' (с) во мне внёс бы tcl в rpm-build, конформист --
вынес бы умирающее тело на воздух.
--
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 tcl SCRIPTS DISABLED
2007-09-09 22:28 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Alexey Tourbin
2007-09-09 23:27 ` Led
2007-09-10 10:46 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Sergey Bolshakov
@ 2007-09-10 20:39 ` Alexey Tourbin
2007-09-10 22:38 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Michael Shigorin
3 siblings, 0 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-10 20:39 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1161 bytes --]
On Mon, Sep 10, 2007 at 02:28:25AM +0400, Alexey Tourbin wrote:
> Проверка на наличие интерпретатора [ -x /usr/bin/tclsh ] пред
> запуском /usr/lib/rpm/tcl.req в принципе убрана. Кроме того,
> раньше на поиск зависимостей шли только файлы с расширением
> *.tcl. Теперь для отсева файлов используется скрипт tcl.req.files,
> который, кроме tcl модулей, отбирает также tcl скрипты.
Поиск зависимостей в Tcl скриптах пришось отключить. tcl.req работает
таким образом, что фактически исполняет весь код. В модулях с этим нет
проблем, потому что там весь код преимущественно сводится к определению
функций (а также загрузке других модулей, что и удается обнаружить).
Исполнять код в скриптах нельзя, мало ли что эти скрипты пытаются
делать.
Особенность Tcl интерпретатора такова, что, насколько я понял, у него
нету внутреннего syntax tree, оно обрывочно появляется лишь при
выполнении кода, то есть при группировках/подстановках. То есть
по идее это чистый интерпретатор, даже "хуже шелла".
Однако изучение документации к Tcl и самого Tcl несколько меня отвлекает
от того дела, за которое я здесь взялся. Не знаю хорошо это или плохо.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 tcl dependencies
2007-09-10 10:46 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Sergey Bolshakov
@ 2007-09-10 20:46 ` Alexey Tourbin
2007-09-10 21:52 ` [devel] rpm-build-4.0.4-alt78 -- remove rpm-build-tcl? Alexey Tourbin
2007-09-10 22:13 ` [devel] rpm-build-4.0.4-alt78 rpm-build-tcl vs BuildRequires(pre) Alexey Tourbin
2 siblings, 0 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-10 20:46 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 2228 bytes --]
On Mon, Sep 10, 2007 at 02:46:18PM +0400, Sergey Bolshakov wrote:
> > /usr/lib/fvwm-tcl/fvwm.tcl 100644 ASCII text
> > /usr/lib/fvwm-tcl/pkgIndex.tcl 100644 ASCII English text
> > Примечательно однако, что пакет fvwm-tcl не предоставляет ни одной
> > tcl(...) зависимости:
> > $ rpm -qp --provides /ALT/Sisyphus/files/i586/RPMS/fvwm-tcl-1.2-alt1.i586.rpm
> > fvwm-tcl = 1.2-alt1
> Вероятно, потому, что этот пакет располагает свои файлы в
> нестандартном для tcl месте (не ниже /usr/share/tcl)
> > Очень много tcl файлов, не срабатывает prov.
> > /usr/share/vtcl-1.6.0/lib/color.tcl 100644 ASCII English text
> > /usr/share/vtcl-1.6.0/lib/command.tcl 100644 ASCII English text
> > /usr/share/vtcl-1.6.0/lib/compound.tcl 100644 ASCII English text
> > /usr/share/vtcl-1.6.0/lib/compounds.tcl 100644 ASCII English text
>
> По той же причине, что и fvwm-tcl.
> Вообще, хотя в rpm-build-tcl есть механизм для расширения
> путей поиска provides, я не думаю, что предоставлять такие
> зависимости хорошая идея, поскольку нет способа указать
> в дальнейшем путь поиска, по которому такой provides расположен.
Да. Нужно внушать maintainer'ам, что файлы pkgIndex.tcl должны лежать
в каталоге типа /usr/share/tcl/$name.
С другой стороны, если в пакетах типа fwvm-tcl есть встроенный
интерпретатор, то в нём, наверное, зашит соответствующий "private"
путь к библиотекам. Но здесь может получиться несовпадение
по Requires и Provides.
> Вынос rpm-build-tcl из базовой сборочной среды -- это упование
> на то, что майнтайнер впишет его в buildreq(pre).
> Как нетрудно убедиться, это не сработало (в варианте buildreq: tcl)
> даже с автором rpm-build-tcl и sandman.
>
> Последствия выноса -- некоторая деградация технологии сборки для
> tcl, бонус -- убыстрение процесса сборки, в отдалённом будущем --
> вычищение базы apt от пары-тройки сотен сущностей.
> 'Техносноб' (с) во мне внёс бы tcl в rpm-build, конформист --
> вынес бы умирающее тело на воздух.
Плохо что всё же не удается реализовать поиск зависимостей в скриптах.
К сожалению, обнадеживаясь предыдущим опытом с питоном, я взялся за
дело, не изучив внимательно код tcl.req.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 -- remove rpm-build-tcl?
2007-09-10 10:46 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Sergey Bolshakov
2007-09-10 20:46 ` Alexey Tourbin
@ 2007-09-10 21:52 ` Alexey Tourbin
2007-09-11 9:49 ` Sergey Bolshakov
2007-09-10 22:13 ` [devel] rpm-build-4.0.4-alt78 rpm-build-tcl vs BuildRequires(pre) Alexey Tourbin
2 siblings, 1 reply; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-10 21:52 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 12395 bytes --]
On Mon, Sep 10, 2007 at 02:46:18PM +0400, Sergey Bolshakov wrote:
> Вынос rpm-build-tcl из базовой сборочной среды -- это упование
> на то, что майнтайнер впишет его в buildreq(pre).
Это не совсем так. См. ниже.
> Как нетрудно убедиться, это не сработало (в варианте buildreq: tcl)
> даже с автором rpm-build-tcl и sandman.
>
> Последствия выноса -- некоторая деградация технологии сборки для
> tcl, бонус -- убыстрение процесса сборки, в отдалённом будущем --
> вычищение базы apt от пары-тройки сотен сущностей.
> 'Техносноб' (с) во мне внёс бы tcl в rpm-build, конформист --
> вынес бы умирающее тело на воздух.
Можно обсудить вариант выноса rpm-build-tcl из базовой сборочной среды.
Мой старый аргумент ЗА сохранение rpm-build-tcl состоит в следующем:
Tcl скрипты встречаются тут и там, и для того, чтобы результат поиска
зависимостей не "плавал" в зависимости от укомплектовки buildroot'а,
а также в интересах syntax check, нужно иметь всегда работающий tcl.req
и tcl.prov.
Теперь следующие обстоятельства отменяют этот аргумент: в Tcl фактически
нет понятие syntax check; поиск зависимостей сводится чисто к выполнению
кода; поэтому он годится для модулей, но совершенно не годится для
скриптов. Следовательно, как зависимости скриптов, так и их syntax
check, это по сути моя преждевременная идея от недопонимания специфики
Tcl.
Если просто оторвать rpm-build-tcl от rpm-build, то, естественно,
сломается некоторое (довольно большое) число пакетов. Вариант решения
этой проблемы состоит в том, чтобы подшить rpm-build-tcl в зависимости
к tcl-devel. Тогда все пакеты, у которых сейчас в билдрут встаёт
tcl-devel, заведомо не должны сломаться от этой перетасовки. К этому
классу пакетов относятся как минимум все компилируемые tcl extensions.
Я грепю логи успешно собравшихся пакетов, чтобы показать, что пакеты
tcl и tcl-devel на самом деле, в большей половине случаев, соседствуют
в билдруте.
[at@basalt success]$ ls |xargs egrep -H '^tcl-(devel-)?8\.4'
FaxMail-2.3-ipl9mdk:tcl-8.4.13-alt1.0
R-base-2.4.1-alt1:tcl-8.4.13-alt1.0
R-base-2.4.1-alt1:tcl-devel-8.4.13-alt1.0
TiMidity++-2.13.2-alt7:tcl-8.4.13-alt1.0
TiMidity++-2.13.2-alt7:tcl-devel-8.4.13-alt1.0
alicq-0.8.9-alt5:tcl-8.4.13-alt1.0
asterisk1.4-1.4.11-alt1.20070713:tcl-8.4.13-alt1.0
asterisk1.4-1.4.11-alt1.20070713:tcl-devel-8.4.13-alt1.0
avr-libc-1:1.4.4-alt1:tcl-8.4.13-alt1.0
axiom-1:3.2006.09-alt3:tcl-8.4.13-alt1.0
axiom-1:3.2006.09-alt3:tcl-devel-8.4.13-alt1.0
bibtex2html-1.85-alt1:tcl-8.4.13-alt1.0
binutils-1:2.17.50.0.6-alt1:tcl-8.4.13-alt1.0
bwidget-1.8.0-alt1:tcl-8.4.13-alt1.0
catdoc-0.94.2-alt1:tcl-8.4.13-alt1.0
coq-8.0pl3-alt2:tcl-8.4.13-alt1.0
courier-authlib-0.59.1-alt1.0:tcl-8.4.13-alt1.0
darcs-1.0.9-alt2:tcl-8.4.13-alt1.0
dejagnu-1:1.4.4-alt2:tcl-8.4.13-alt1.0
dirdiff-2.1-alt2:tcl-8.4.13-alt1.0
dirdiff-2.1-alt2:tcl-devel-8.4.13-alt1.0
doxygen-1:1.5.1-alt1:tcl-8.4.13-alt1.0
dstool-2.0-alt2:tcl-8.4.13-alt1.0
dstool-2.0-alt2:tcl-devel-8.4.13-alt1.0
dstool_tk-0.2003-alt2:tcl-8.4.13-alt1.0
dstool_tk-0.2003-alt2:tcl-devel-8.4.13-alt1.0
dstool_tk-doc-2.0-alt1:tcl-8.4.13-alt1.0
eggdrop-1.6.18-alt1:tcl-8.4.13-alt1.0
eggdrop-1.6.18-alt1:tcl-devel-8.4.13-alt1.0
emacs-ruby-mode-1.59-alt3:tcl-8.4.13-alt1.0
emacs-text-modes-0.2-alt2:tcl-8.4.13-alt1.0
emacspeak-23.0-alt1:tcl-8.4.13-alt1.0
emacspeak-23.0-alt1:tcl-devel-8.4.13-alt1.0
erlang-R11B-alt2:tcl-8.4.13-alt1.0
erlang-R11B-alt2:tcl-devel-8.4.13-alt1.0
expect-1:5.43-alt3:tcl-8.4.13-alt1.0
expect-1:5.43-alt3:tcl-devel-8.4.13-alt1.0
findutils-4.2.29-alt1:tcl-8.4.13-alt1.0
foomatic-db-3.0.2-alt4:tcl-8.4.13-alt1.0
foomatic-db-engine-3.0.2-alt3:tcl-8.4.13-alt1.0
foomatic-filters-3.0.2-alt5:tcl-8.4.13-alt1.0
freewrl-1.18.9-alt0.1:tcl-8.4.13-alt1.0
gcl-2.6.8-alt0.09cvs20061026:tcl-8.4.13-alt1.0
gcl-2.6.8-alt0.09cvs20061026:tcl-devel-8.4.13-alt1.0
generator-0.35-alt0.3:tcl-8.4.13-alt1.0
generator-0.35-alt0.3:tcl-devel-8.4.13-alt1.0
geomview-1.8.2-alt5.rc9:tcl-8.4.13-alt1.0
geomview-1.8.2-alt5.rc9:tcl-devel-8.4.13-alt1.0
gnucap-20070329-alt0.1:tcl-8.4.13-alt1.0
gorilla-1.4-alt5:tcl-8.4.13-alt1.0
graphviz-2.2.1-alt2:tcl-8.4.13-alt1.0
graphviz-2.2.1-alt2:tcl-devel-8.4.13-alt1.0
grass-6.2.2-alt1:tcl-8.4.13-alt1.0
grass-6.2.2-alt1:tcl-devel-8.4.13-alt1.0
hping3-0.0.20051105-alt2:tcl-8.4.13-alt1.0
hping3-0.0.20051105-alt2:tcl-devel-8.4.13-alt1.0
ibutils-1.2-alt2:tcl-8.4.13-alt1.0
ibutils-1.2-alt2:tcl-devel-8.4.13-alt1.0
ical-2.3.1-alt2.1:tcl-8.4.13-alt1.0
ical-2.3.1-alt2.1:tcl-devel-8.4.13-alt1.0
inn-2.4.3-alt3:tcl-8.4.13-alt1.0
iozone-3.283-alt1:tcl-8.4.13-alt1.0
kernel-image-std-smp-2.6.18-alt7:tcl-8.4.13-alt1.0
kernel-image-xen-dom0-2.6.18-alt2:tcl-8.4.13-alt1.0
krb5-1.5.1-alt6:tcl-8.4.13-alt1.0
krb5-1.5.1-alt6:tcl-devel-8.4.13-alt1.0
lablGL-1.02-alt1:tcl-8.4.13-alt1.0
lablGL-1.02-alt1:tcl-devel-8.4.13-alt1.0
lablgtk2-1:2.6.0-alt3.1:tcl-8.4.13-alt1.0
libcamlimages-2.2.0-alt5:tcl-8.4.13-alt1.0
libdb4.3-4.3.29-alt4:tcl-8.4.13-alt1.0
libdb4.3-4.3.29-alt4:tcl-devel-8.4.13-alt1.0
libdb4.4-4.4.20-alt2:tcl-8.4.13-alt1.0
libdb4.4-4.4.20-alt2:tcl-devel-8.4.13-alt1.0
libgraphite-2.0-alt0.1:tcl-8.4.13-alt1.0
libocamlsdl-0.7.2-alt4:tcl-8.4.13-alt1.0
liboop-1.0-alt1.1:tcl-8.4.13-alt1.0
liboop-1.0-alt1.1:tcl-devel-8.4.13-alt1.0
linuxwacom-0.7.6-alt1:tcl-8.4.13-alt1.0
linuxwacom-0.7.6-alt1:tcl-devel-8.4.13-alt1.0
lyx13-1.3.7-alt2:tcl-8.4.13-alt1.0
maxima-5.12.0-alt1:tcl-8.4.13-alt1.0
metakit-2.4.9.6-alt1:tcl-8.4.13-alt1.0
metakit-2.4.9.6-alt1:tcl-devel-8.4.13-alt1.0
mldonkey-2.9.0-alt0.1:tcl-8.4.13-alt1.0
netwag-5.34.0-alt1:tcl-8.4.13-alt1.0
newt-0.50.39-alt3:tcl-8.4.13-alt1.0
obexftp-0.22-alt1.rc6:tcl-8.4.13-alt1.0
obexftp-0.22-alt1.rc6:tcl-devel-8.4.13-alt1.0
ocaml-3.09.3-alt0.1:tcl-8.4.13-alt1.0
ocaml-3.09.3-alt0.1:tcl-devel-8.4.13-alt1.0
ocamlnet-2.2.4-alt1:tcl-8.4.13-alt1.0
ocamlnet-2.2.4-alt1:tcl-devel-8.4.13-alt1.0
perl-Net-CUPS-0.51-alt1:tcl-8.4.13-alt1.0
pgtcl-1.6-alt3:tcl-8.4.13-alt1.0
pgtcl-1.6-alt3:tcl-devel-8.4.13-alt1.0
postgresql8.0-8.0.11-alt1:tcl-8.4.13-alt1.0
postgresql8.0-8.0.11-alt1:tcl-devel-8.4.13-alt1.0
postgresql8.1-8.1.8-alt3:tcl-8.4.13-alt1.0
postgresql8.1-8.1.8-alt3:tcl-devel-8.4.13-alt1.0
postgresql8.2-8.2.4-alt2:tcl-8.4.13-alt1.0
postgresql8.2-8.2.4-alt2:tcl-devel-8.4.13-alt1.0
ppracer-0.3.1-alt3:tcl-8.4.13-alt1.0
ppracer-0.3.1-alt3:tcl-devel-8.4.13-alt1.0
pybliographic-0.2-alt0.1:tcl-8.4.13-alt1.0
python-2.4.4-alt12:tcl-8.4.13-alt1.0
python-2.4.4-alt12:tcl-devel-8.4.13-alt1.0
python-module-Crypto-2.0-alt2.1:tcl-8.4.13-alt1.0
python-module-OpenGL-2.0.2.01-alt2:tcl-8.4.13-alt1.0
python-module-OpenSSL-0.6-alt2.1.1:tcl-8.4.13-alt1.0
python-module-imaging-1.1.4-alt11:tcl-8.4.13-alt1.0
python-module-imaging-1.1.4-alt11:tcl-devel-8.4.13-alt1.0
python-module-matplotlib-0.90.0-alt1:tcl-8.4.13-alt1.0
python-module-pybliographer-1.3.3-alt0.1:tcl-8.4.13-alt1.0
python-module-pyxmpp-1.0.0-alt2:tcl-8.4.13-alt1.0
python-module-ruledispatch-0.5a0-alt0.1:tcl-8.4.13-alt1.0
python-module-sybase-1:0.38-alt1:tcl-8.4.13-alt1.0
python-module-twisted-conch-0.8.0-alt1:tcl-8.4.13-alt1.0
python-module-twisted-lore-0.3.0-alt1:tcl-8.4.13-alt1.0
python-module-twisted-mail-0.4.0-alt2:tcl-8.4.13-alt1.0
python-module-twisted-names-0.4.0-alt1:tcl-8.4.13-alt1.0
python-module-twisted-news-0.3.0-alt1:tcl-8.4.13-alt1.0
python-module-twisted-runner-0.2.0-alt1:tcl-8.4.13-alt1.0
python-module-twisted-web-0.7.0-alt1:tcl-8.4.13-alt1.0
python-module-twisted-web2-0.2.0-alt1:tcl-8.4.13-alt1.0
python-module-twisted-words-0.5.0-alt1:tcl-8.4.13-alt1.0
qtcl-1.2-alt5:tcl-8.4.13-alt1.0
qtcl-1.2-alt5:tcl-devel-8.4.13-alt1.0
rrd-1.2.23-alt1:tcl-8.4.13-alt1.0
rrd-1.2.23-alt1:tcl-devel-8.4.13-alt1.0
ruby-1.8.6-alt2:tcl-8.4.13-alt1.0
ruby-1.8.6-alt2:tcl-devel-8.4.13-alt1.0
scilab-4.1.1-alt1.2:tcl-8.4.13-alt1.0
scilab-4.1.1-alt1.2:tcl-devel-8.4.13-alt1.0
scotty-2:3.0.0-alt4:tcl-8.4.13-alt1.0
scotty-2:3.0.0-alt4:tcl-devel-8.4.13-alt1.0
skencil-0.6.17-alt1:tcl-8.4.13-alt1.0
skencil-0.6.17-alt1:tcl-devel-8.4.13-alt1.0
sqlite-2.8.16-alt1.1.0:tcl-8.4.13-alt1.0
sqlite-2.8.16-alt1.1.0:tcl-devel-8.4.13-alt1.0
sqlite3-3.4.2-alt1:tcl-8.4.13-alt1.0
sqlite3-3.4.2-alt1:tcl-devel-8.4.13-alt1.0
swig-1.3.31-alt1:tcl-8.4.13-alt1.0
swig-1.3.31-alt1:tcl-devel-8.4.13-alt1.0
tcl-blt-2.4z-alt2:tcl-8.4.13-alt1.0
tcl-blt-2.4z-alt2:tcl-devel-8.4.13-alt1.0
tcl-ck-8.4-alt5:tcl-8.4.13-alt1.0
tcl-ck-8.4-alt5:tcl-devel-8.4.13-alt1.0
tcl-cost-2.2-alt5.p1:tcl-8.4.13-alt1.0
tcl-cost-2.2-alt5.p1:tcl-devel-8.4.13-alt1.0
tcl-dnotebook-0.1-alt0.1:tcl-8.4.13-alt1.0
tcl-dom-3.1-alt3:tcl-8.4.13-alt1.0
tcl-dom-3.1-alt3:tcl-devel-8.4.13-alt1.0
tcl-gpgme-1.0.1-alt4:tcl-8.4.13-alt1.0
tcl-gpgme-1.0.1-alt4:tcl-devel-8.4.13-alt1.0
tcl-httpd-3.5.1-alt0.4:tcl-8.4.13-alt1.0
tcl-httpd-3.5.1-alt0.4:tcl-devel-8.4.13-alt1.0
tcl-img-1.3.0-alt5:tcl-8.4.13-alt1.0
tcl-img-1.3.0-alt5:tcl-devel-8.4.13-alt1.0
tcl-incrtcl-3.3.0-alt4:tcl-8.4.13-alt1.0
tcl-incrtcl-3.3.0-alt4:tcl-devel-8.4.13-alt1.0
tcl-iwidgets-4.0.2-alt2:tcl-8.4.13-alt1.0
tcl-iwidgets-4.0.2-alt2:tcl-devel-8.4.13-alt1.0
tcl-ldap-3.0-alt9:tcl-8.4.13-alt1.0
tcl-ldap-3.0-alt9:tcl-devel-8.4.13-alt1.0
tcl-memchan-2.2.1-alt3:tcl-8.4.13-alt1.0
tcl-memchan-2.2.1-alt3:tcl-devel-8.4.13-alt1.0
tcl-plugin-3.1-alt1:tcl-8.4.13-alt1.0
tcl-plugin-3.1-alt1:tcl-devel-8.4.13-alt1.0
tcl-readline-2.1.1-alt7:tcl-8.4.13-alt1.0
tcl-readline-2.1.1-alt7:tcl-devel-8.4.13-alt1.0
tcl-sasl-1.0-alt0.3:tcl-8.4.13-alt1.0
tcl-sasl-1.0-alt0.3:tcl-devel-8.4.13-alt1.0
tcl-soap-1.6.8-alt0.2:tcl-8.4.13-alt1.0
tcl-soap-1.6.8-alt0.2:tcl-devel-8.4.13-alt1.0
tcl-syslog-2.0-alt1.0:tcl-8.4.13-alt1.0
tcl-syslog-2.0-alt1.0:tcl-devel-8.4.13-alt1.0
tcl-tile-0.7.8-alt1:tcl-8.4.13-alt1.0
tcl-tile-0.7.8-alt1:tcl-devel-8.4.13-alt1.0
tcl-tix-8.2.0-alt4:tcl-8.4.13-alt1.0
tcl-tix-8.2.0-alt4:tcl-devel-8.4.13-alt1.0
tcl-tkXwin-1.0-alt4:tcl-8.4.13-alt1.0
tcl-tkXwin-1.0-alt4:tcl-devel-8.4.13-alt1.0
tcl-tksystray-0.2-alt1:tcl-8.4.13-alt1.0
tcl-tksystray-0.2-alt1:tcl-devel-8.4.13-alt1.0
tcl-tktable-2.9-alt3:tcl-8.4.13-alt1.0
tcl-tktable-2.9-alt3:tcl-devel-8.4.13-alt1.0
tcl-tktreectrl-2.2-alt1:tcl-8.4.13-alt1.0
tcl-tktreectrl-2.2-alt1:tcl-devel-8.4.13-alt1.0
tcl-tls-1.5.1-alt4:tcl-8.4.13-alt1.0
tcl-tls-1.5.1-alt4:tcl-devel-8.4.13-alt1.0
tcl-togl-1.7-alt1:tcl-8.4.13-alt1.0
tcl-togl-1.7-alt1:tcl-devel-8.4.13-alt1.0
tcl-trf-2.1-alt7:tcl-8.4.13-alt1.0
tcl-trf-2.1-alt7:tcl-devel-8.4.13-alt1.0
tcl-vfs-1.3-alt7:tcl-8.4.13-alt1.0
tcl-vfs-1.3-alt7:tcl-devel-8.4.13-alt1.0
tcl-xml-3.1-alt4:tcl-8.4.13-alt1.0
tcl-xml-3.1-alt4:tcl-devel-8.4.13-alt1.0
tcl-xslt-3.1-alt3:tcl-8.4.13-alt1.0
tcl-xslt-3.1-alt3:tcl-devel-8.4.13-alt1.0
tcllib-1:1.9-alt1:tcl-8.4.13-alt1.0
tclx-1:8.4-alt6:tcl-8.4.13-alt1.0
tclx-1:8.4-alt6:tcl-devel-8.4.13-alt1.0
tetex-latex-babelbib-1.20-alt1:tcl-8.4.13-alt1.0
tetex-latex-rcs-3.1-alt2:tcl-8.4.13-alt1.0
tk-8.4.13-alt2.0:tcl-8.4.13-alt1.0
tk-8.4.13-alt2.0:tcl-devel-8.4.13-alt1.0
tkabber-0.10.0-alt2:tcl-8.4.13-alt1.0
tkabber-plugins-0.10.0-alt1:tcl-8.4.13-alt1.0
tkcon-2.4-alt3:tcl-8.4.13-alt1.0
tkcon-2.4-alt3:tcl-devel-8.4.13-alt1.0
tkdvd-4.0.6-alt1:tcl-8.4.13-alt1.0
torque-2.1.8-alt1.1:tcl-8.4.13-alt1.0
torque-2.1.8-alt1.1:tcl-devel-8.4.13-alt1.0
tuxracer-0.61-alt9:tcl-8.4.13-alt1.0
tuxracer-0.61-alt9:tcl-devel-8.4.13-alt1.0
uudeview-0.5.20-alt1:tcl-8.4.13-alt1.0
uudeview-0.5.20-alt1:tcl-devel-8.4.13-alt1.0
vim-4:7.1.094-alt1:tcl-8.4.13-alt1.0
vim-4:7.1.094-alt1:tcl-devel-8.4.13-alt1.0
vkeybd-1:0.1.17a-alt1:tcl-8.4.13-alt1.0
vkeybd-1:0.1.17a-alt1:tcl-devel-8.4.13-alt1.0
wavesurfer-1.8.5-alt1:tcl-8.4.13-alt1.0
wordnet-2.1-alt2:tcl-8.4.13-alt1.0
wordnet-2.1-alt2:tcl-devel-8.4.13-alt1.0
xen-3.1.0-alt2:tcl-8.4.13-alt1.0
yaz-2.1.54-alt1:tcl-8.4.13-alt1.0
yodl-1:1.31.18-alt1:tcl-8.4.13-alt1.0
[at@basalt success]$
Значит, относительно безопасная перетасовка rpm-build-tcl состоит
в следующем: 1) в любом случае добавить Reqruies: tcl в rpm-built-tcl;
2) в любом случае добавить Requires: rpm-build-tcl в tcl-devel;
3) возможно, убрать Requires: rpm-build-tcl из rpm-build.
Чтобы понять, насколько эта перетасовка действительно безопасна,
желательно выборочно проверить те пакеты из этого списка, у которых
в билдруте tcl-devel не стоит -- как минимум, на предмет использования
макросов типа %_tcllibdir.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 rpm-build-tcl vs BuildRequires(pre)
2007-09-10 10:46 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Sergey Bolshakov
2007-09-10 20:46 ` Alexey Tourbin
2007-09-10 21:52 ` [devel] rpm-build-4.0.4-alt78 -- remove rpm-build-tcl? Alexey Tourbin
@ 2007-09-10 22:13 ` Alexey Tourbin
2007-09-11 9:30 ` Sergey Bolshakov
2 siblings, 1 reply; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-10 22:13 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 862 bytes --]
On Mon, Sep 10, 2007 at 02:46:18PM +0400, Sergey Bolshakov wrote:
> Вынос rpm-build-tcl из базовой сборочной среды -- это упование
> на то, что майнтайнер впишет его в buildreq(pre).
> Как нетрудно убедиться, это не сработало (в варианте buildreq: tcl)
> даже с автором rpm-build-tcl и sandman.
Насколько я понимаю, buildreq(pre) в hasher требуется не для того,
чтобы можно было раскрыть вообще все макросы в spec-файле; а только
для того, чтобы можно было собрать src.rpm с правильным хедером.
То есть, buildreq(pre) нужен преимущественно в вариантах, когда
в зависимостях есть внешние макросы (типа Requires: apache2 > %apache2_version).
Кажется, у tcl пакетах нет такой потребности. В любом случае, лучше
не ставить зависимости на версию tcl в spec-файле, а линковать Tcl
extensions с libtcl (будет автоматическая зависимость через soname).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 rebuild status
2007-09-09 18:19 [devel] rpm-build-4.0.4-alt78 rebuild status Alexey Tourbin
2007-09-09 19:45 ` [devel] rpm-build-4.0.4-alt78 beehive_status Alexey Tourbin
@ 2007-09-10 22:25 ` Michael Shigorin
1 sibling, 0 replies; 29+ messages in thread
From: Michael Shigorin @ 2007-09-10 22:25 UTC (permalink / raw)
To: devel
On Sun, Sep 09, 2007 at 10:19:38PM +0400, Alexey Tourbin wrote:
> Вот список не собравшихся пакетов (по сравнению с плановой
> пересборкой).
>
> koules-1.4-alt5
> remind-03.01.00-alt1
Ого, что-то моих многовато зацепило.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 29+ messages in thread
* [devel] rpm-build-tcl Requires += tcl?
2007-09-09 19:45 ` [devel] rpm-build-4.0.4-alt78 beehive_status Alexey Tourbin
` (2 preceding siblings ...)
2007-09-10 10:13 ` [devel] rpm-build-4.0.4-alt78 beehive_status Sergey Bolshakov
@ 2007-09-10 22:28 ` Michael Shigorin
2007-09-11 16:13 ` [devel] Zope-2.7.7-alt1 Alexey Tourbin
4 siblings, 0 replies; 29+ messages in thread
From: Michael Shigorin @ 2007-09-10 22:28 UTC (permalink / raw)
To: devel
On Sun, Sep 09, 2007 at 11:45:13PM +0400, Alexey Tourbin wrote:
> koules-1.4-alt5
> gccmakedep -- -Ixlib -I/usr/include -I/usr/include -Dlinux -D__i386__
> -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE
> -D_XOPEN_SOURCE -D_BSD_SOURCE
> -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -DFUNCPROTO=15 -DNARROWPROTO -DSOUND -DJOYSTICK -DNETSUPPORT -DMITSHM -DHAVEUSLEEP -Wall
> -ffast-math -Ixlib -DASSEMBLY -DSOUNDSERVER=\"/usr/games/koules.sndsrv.linux\"
> -DSOUNDDIR=\"/usr/share/games/koules\" -DSOUNDDEV=\"/dev/dsp\" -- koules.c menu.c
> gameplan.c font.c intro.c rcfiles.c framebuffer.c cmap-x11.c sound.c nas_sound.c
> rsound.c client.c server.c sock.c objectsio.c mygetopt.c
> rm: cannot remove `mdep27049.tmp': No such file or directory
> rm: cannot remove `Makefile.bak': No such file or directory
> rm: cannot remove `mdep27049.tmp*': No such file or directory
> make: Leaving directory `/usr/src/RPM/BUILD/koules1.4'
> --
> shell.req: /usr/src/tmp/koules-buildroot/usr/games/koules: mainmenu not found (skip)
> /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
Это недостача сборочной зависимости на tcl?
Может, её в rpm-build-tcl засунуть?
> ltsp5-5.0-alt0.44
> symlinks.req: /usr/src/tmp/ltsp5-buildroot/etc/X11/xorg.conf.auto:
> /var/cache/ltspconf/xorg.conf -> /var/cache/ltspconf/xorg.conf (raw, not found)
> /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
То же.
> remind-03.01.00-alt1
> 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
Итого: поправить r-b-t и пересобрать эту стопку отвалов ещё раз?
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 tcl dependencies
2007-09-09 22:28 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Alexey Tourbin
` (2 preceding siblings ...)
2007-09-10 20:39 ` [devel] rpm-build-4.0.4-alt78 tcl SCRIPTS DISABLED Alexey Tourbin
@ 2007-09-10 22:38 ` Michael Shigorin
3 siblings, 0 replies; 29+ messages in thread
From: Michael Shigorin @ 2007-09-10 22:38 UTC (permalink / raw)
To: devel
On Mon, Sep 10, 2007 at 02:28:25AM +0400, Alexey Tourbin wrote:
> То есть нужно либо вынести rpm-build-tcl из базовой сборочной
> среды, либо добавить в него зависимость на tcl, чтобы скрипты
> поиска зависимостей всегда работали. Я предлагаю второй
> вариант.
+1
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 rpm-build-tcl vs BuildRequires(pre)
2007-09-10 22:13 ` [devel] rpm-build-4.0.4-alt78 rpm-build-tcl vs BuildRequires(pre) Alexey Tourbin
@ 2007-09-11 9:30 ` Sergey Bolshakov
2007-09-11 15:49 ` [devel] link tcl extensions with libtcl Alexey Tourbin
0 siblings, 1 reply; 29+ messages in thread
From: Sergey Bolshakov @ 2007-09-11 9:30 UTC (permalink / raw)
To: devel
>>>>> "Alexey" == Alexey Tourbin <at@altlinux.ru> writes:
> On Mon, Sep 10, 2007 at 02:46:18PM +0400, Sergey Bolshakov wrote:
>> Вынос rpm-build-tcl из базовой сборочной среды -- это упование
>> на то, что майнтайнер впишет его в buildreq(pre).
>> Как нетрудно убедиться, это не сработало (в варианте buildreq: tcl)
>> даже с автором rpm-build-tcl и sandman.
> Насколько я понимаю, buildreq(pre) в hasher требуется не для того,
> чтобы можно было раскрыть вообще все макросы в spec-файле; а только
> для того, чтобы можно было собрать src.rpm с правильным хедером.
> То есть, buildreq(pre) нужен преимущественно в вариантах, когда
> в зависимостях есть внешние макросы (типа Requires: apache2 > %apache2_version).
Я не имел ввиду подчеркнуть (pre) vs просто buildreq.
> Кажется, у tcl пакетах нет такой потребности. В любом случае, лучше
> не ставить зависимости на версию tcl в spec-файле, а линковать Tcl
> extensions с libtcl (будет автоматическая зависимость через
> soname).
Я не линкую extensions c libtcl, поскольку только libtcl
как правило недостаточно -- обычно предполагается, что
существует и содержимое /usr/share/tcl/tcl%major, начиная
с init.tcl, да и soname там введён мною, в апстриме его нет.
--
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 -- remove rpm-build-tcl?
2007-09-10 21:52 ` [devel] rpm-build-4.0.4-alt78 -- remove rpm-build-tcl? Alexey Tourbin
@ 2007-09-11 9:49 ` Sergey Bolshakov
2007-09-11 14:59 ` Alexey Tourbin
0 siblings, 1 reply; 29+ messages in thread
From: Sergey Bolshakov @ 2007-09-11 9:49 UTC (permalink / raw)
To: devel
>>>>> "Alexey" == Alexey Tourbin <at@altlinux.ru> writes:
> On Mon, Sep 10, 2007 at 02:46:18PM +0400, Sergey Bolshakov wrote:
>> Вынос rpm-build-tcl из базовой сборочной среды -- это упование
>> на то, что майнтайнер впишет его в buildreq(pre).
> Это не совсем так. См. ниже.
>> Как нетрудно убедиться, это не сработало (в варианте buildreq: tcl)
>> даже с автором rpm-build-tcl и sandman.
>>
>> Последствия выноса -- некоторая деградация технологии сборки для
>> tcl, бонус -- убыстрение процесса сборки, в отдалённом будущем --
>> вычищение базы apt от пары-тройки сотен сущностей.
>> 'Техносноб' (с) во мне внёс бы tcl в rpm-build, конформист --
>> вынес бы умирающее тело на воздух.
> Можно обсудить вариант выноса rpm-build-tcl из базовой сборочной среды.
> Мой старый аргумент ЗА сохранение rpm-build-tcl состоит в следующем:
> Tcl скрипты встречаются тут и там, и для того, чтобы результат поиска
> зависимостей не "плавал" в зависимости от укомплектовки buildroot'а,
> а также в интересах syntax check, нужно иметь всегда работающий tcl.req
> и tcl.prov.
> Теперь следующие обстоятельства отменяют этот аргумент: в Tcl фактически
> нет понятие syntax check; поиск зависимостей сводится чисто к выполнению
> кода; поэтому он годится для модулей, но совершенно не годится для
> скриптов. Следовательно, как зависимости скриптов, так и их syntax
> check, это по сути моя преждевременная идея от недопонимания специфики
> Tcl.
> Если просто оторвать rpm-build-tcl от rpm-build, то, естественно,
> сломается некоторое (довольно большое) число пакетов. Вариант решения
> этой проблемы состоит в том, чтобы подшить rpm-build-tcl в зависимости
> к tcl-devel. Тогда все пакеты, у которых сейчас в билдрут встаёт
> tcl-devel, заведомо не должны сломаться от этой перетасовки. К этому
> классу пакетов относятся как минимум все компилируемые tcl extensions.
> Я грепю логи успешно собравшихся пакетов, чтобы показать, что пакеты
> tcl и tcl-devel на самом деле, в большей половине случаев, соседствуют
> в билдруте.
Такое положение дел объясняется тем обстоятельством,
что стандартные для расширений tcl (необязательно бинарных)
сборочные скрипты (именуемые TEA -- tcl extension architecture)
опираются на информацию из /usr/lib/tclConfig.sh
Тем не менее, нет никаких способов форсировать применение этой
самой TEA, и вполне могут существовать расширения, для
которых наличие tcl-devel в билдруте избыточно.
[skipped]
> Значит, относительно безопасная перетасовка rpm-build-tcl состоит
> в следующем: 1) в любом случае добавить Reqruies: tcl в rpm-built-tcl;
> 2) в любом случае добавить Requires: rpm-build-tcl в tcl-devel;
> 3) возможно, убрать Requires: rpm-build-tcl из rpm-build.
> Чтобы понять, насколько эта перетасовка действительно безопасна,
> желательно выборочно проверить те пакеты из этого списка, у которых
> в билдруте tcl-devel не стоит -- как минимум, на предмет использования
> макросов типа %_tcllibdir.
Если таковые найдутся, их несложно будет починить.
Бишь, обсуждаемый вариант вполне возможен, осталось выяснить, зачем
такая перетасовка нужна -- мне кажется, мы несколько увлеклись
процессом и потеряли из виду желаемый результат (я, по крмере).
1) не может иметь фатальных последствий;
2) и далее -- я не могу сделать выбора, не представляя
шкалы приоритетов.
--
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 -- remove rpm-build-tcl?
2007-09-11 9:49 ` Sergey Bolshakov
@ 2007-09-11 14:59 ` Alexey Tourbin
2007-09-11 15:35 ` Led
0 siblings, 1 reply; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-11 14:59 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 2351 bytes --]
On Tue, Sep 11, 2007 at 01:49:21PM +0400, Sergey Bolshakov wrote:
> > Значит, относительно безопасная перетасовка rpm-build-tcl состоит
> > в следующем: 1) в любом случае добавить Reqruies: tcl в rpm-built-tcl;
> > 2) в любом случае добавить Requires: rpm-build-tcl в tcl-devel;
> > 3) возможно, убрать Requires: rpm-build-tcl из rpm-build.
>
> > Чтобы понять, насколько эта перетасовка действительно безопасна,
> > желательно выборочно проверить те пакеты из этого списка, у которых
> > в билдруте tcl-devel не стоит -- как минимум, на предмет использования
> > макросов типа %_tcllibdir.
>
> Если таковые найдутся, их несложно будет починить.
> Бишь, обсуждаемый вариант вполне возможен, осталось выяснить, зачем
> такая перетасовка нужна -- мне кажется, мы несколько увлеклись
> процессом и потеряли из виду желаемый результат (я, по крмере).
Мы пытаемся ответить на вопрос, какие подсистемы язык+зависимости должны
входить в базовую сборочную среду и почему. Цель состоит в том, чтобы
рационально ответить на этот вопрос, и, руководствуясь ответом, привести
в соответствие зависимости у пакетов (а также сформулировать
полиси/требования для всех будущих подсистем, например для руби).
Польза от подсистемы язык+зависимости в базовой сборочной среде
проявляется, когда этот язык широко и независимо используется,
и его скрипты встречаются "тут и там" без особой привязки к самому
языку. Помимо зависимостей, внесение в базовую сборочную среду
преследует также промежуточную, но очень важную цель -- syntax check,
чтобы не паковать заведомо кривые скрипты.
На данный момент tcl.req не умеет искать зависимости в Tcl скриптах,
только в модулях; syntax check скриптов также невозможен. Никакой
пользы для "случайных скриптов" от rpm-build-tcl нету; этот пакет
полезен только для сборки Tcl модулей.
Остается только вопрос в том, что могут сломаться некоторые Tcl модули,
потому что для сборки они не используют tcl-devel. Но это вопрос скорее
полиси для сборки Tcl модулей.
> 1) не может иметь фатальных последствий;
> 2) и далее -- я не могу сделать выбора, не представляя
> шкалы приоритетов.
Шкалу приоритетов на самом деле никто не знает. Если не деньги решают.
Но есть некий градиент технологической консистентности, и есть смысл
перемещаться туда, куда показывает этот градиент.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] rpm-build-4.0.4-alt78 -- remove rpm-build-tcl?
2007-09-11 14:59 ` Alexey Tourbin
@ 2007-09-11 15:35 ` Led
0 siblings, 0 replies; 29+ messages in thread
From: Led @ 2007-09-11 15:35 UTC (permalink / raw)
To: devel
В сообщении от Tuesday 11 September 2007 17:59:34 Alexey Tourbin написал(а):
> Остается только вопрос в том, что могут сломаться некоторые Tcl модули,
> потому что для сборки они не используют tcl-devel. Но это вопрос скорее
> полиси для сборки Tcl модулей.
$ rpm -qi tcl-devel | grep '^Summary'
Summary : Header files and C programming manual for TCL
Можно ещё и
$ rpm -ql tcl-devel | grep include
Если Tcl модуль не содержит *.so, то tcl-devel для его сборки не нужен.
Или я чего-то не понимаю?
--
Led
^ permalink raw reply [flat|nested] 29+ messages in thread
* [devel] link tcl extensions with libtcl
2007-09-11 9:30 ` Sergey Bolshakov
@ 2007-09-11 15:49 ` Alexey Tourbin
0 siblings, 0 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-11 15:49 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1095 bytes --]
On Tue, Sep 11, 2007 at 01:30:30PM +0400, Sergey Bolshakov wrote:
> > Кажется, у tcl пакетах нет такой потребности. В любом случае, лучше
> > не ставить зависимости на версию tcl в spec-файле, а линковать Tcl
> > extensions с libtcl (будет автоматическая зависимость через
> > soname).
>
> Я не линкую extensions c libtcl, поскольку только libtcl
> как правило недостаточно -- обычно предполагается, что
> существует и содержимое /usr/share/tcl/tcl%major, начиная
> с init.tcl, да и soname там введён мною, в апстриме его нет.
Я думаю, что линковка с libtcl дает более точный тип зависимостей.
Это зависимость типа "равно", а не "больше или равно".
По этому поводу уже имеется некоторый консенсус: в питоне 2.5 тоже
стали линковать питоновские расширения с libpython (если питон собран
в варианте с shared libaray). Я сбекпортил это изменение из svn в наш
питон 2.4.
Паковать отдельно библиотеку libtcl, если во всех случаях ее фактической
работы подразумеватся наличие init.tcl, похоже, не имеет смысла. Я на
самом деле не знаю, как там с ембедом дело обстоит.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* [devel] Zope-2.7.7-alt1
2007-09-09 19:45 ` [devel] rpm-build-4.0.4-alt78 beehive_status Alexey Tourbin
` (3 preceding siblings ...)
2007-09-10 22:28 ` [devel] rpm-build-tcl Requires += tcl? Michael Shigorin
@ 2007-09-11 16:13 ` Alexey Tourbin
4 siblings, 0 replies; 29+ messages in thread
From: Alexey Tourbin @ 2007-09-11 16:13 UTC (permalink / raw)
To: devel; +Cc: Andrey Orlov
[-- Attachment #1: Type: text/plain, Size: 1866 bytes --]
> Zope-2.7.7-alt1
> /usr/lib/rpm/python.req.py:
> /usr/src/tmp/Zope-buildroot/usr/lib/python2.4/site-packages/ZPublisher/xmlrpc.py:
> line=157 IGNORE module=traceback
> /usr/src/tmp/Zope-buildroot/usr/lib/python2.4/site-packages/ZPublisher/Client.py:
> line 47: syntax error near unexpected token `('
> /usr/src/tmp/Zope-buildroot/usr/lib/python2.4/site-packages/ZPublisher/Client.py: line 47:
> `class BadReply(Exception):'
> error: /bin/sh failed
> error: Failed to find Requires
> RPM build errors:
Файл ZPublisher/Client.py начинается так:
$ rpmpeek Zope-ZPublisher-2.7.7-alt1.i586.rpm head -5 ./usr/lib/python2.4/site-packages/ZPublisher/Client.py
#!/bin/sh
""":"
exec python $0 ${1+"$@"}
"""
#"
$
Раньше этот скрипт определялся ТОЛЬКО как шелл скрипт.
Это связано со старой логикой обработки скриптов в find-requires.
if шелл скрипт; then
найти шелл зависимости
elif перл скритп; then
найти перл зависимости
elif питон скрипт
найти питон зависимости
elif tcl скрипт
найти tcl зависимости
fi
То есть раньше поиск питоновских зависимостей в этом файле просто
не срабатывал, потому что он определялся как шелл-скрипт. В новом
rpm-build поиск зависимостей каждого типа идет полностью независимо.
Это значит, что определение данного скритпа как шелл-скрипта (из-за
#!/bin/sh) не может помешать его последующему определению как питон
скрипта (из-за расширения *.py). Новый подход в целом более правильный.
В общем, питон теперь просто не может распарсить этот код. К сожалению,
с ходу я не могу сказать, почему питон не может распарсить этот код.
$ rpmpeek Zope-ZPublisher-2.7.7-alt1.i586.rpm cat -n ./usr/lib/python2.4/site-packages/ZPublisher/Client.py |grep -w -C2 47
45 from urlparse import urlparse
46
47 class BadReply(Exception):
48 pass
49
$
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
end of thread, other threads:[~2007-09-11 16:13 UTC | newest]
Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-09 18:19 [devel] rpm-build-4.0.4-alt78 rebuild status Alexey Tourbin
2007-09-09 19:45 ` [devel] rpm-build-4.0.4-alt78 beehive_status Alexey Tourbin
2007-09-09 19:54 ` Slava Semushin
2007-09-09 19:57 ` Slava Semushin
2007-09-09 20:15 ` Alexey Tourbin
2007-09-09 20:12 ` Alexey Tourbin
2007-09-09 20:16 ` Led
2007-09-09 22:30 ` Alexey Tourbin
2007-09-09 20:39 ` Alexey I. Froloff
2007-09-09 23:05 ` Alexey Tourbin
2007-09-09 22:28 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Alexey Tourbin
2007-09-09 23:27 ` Led
2007-09-09 23:48 ` [devel] #! shebang fixer Alexey Tourbin
2007-09-10 8:48 ` [devel] tcl.req.files: re-exec check implemented Alexey Tourbin
2007-09-10 10:46 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Sergey Bolshakov
2007-09-10 20:46 ` Alexey Tourbin
2007-09-10 21:52 ` [devel] rpm-build-4.0.4-alt78 -- remove rpm-build-tcl? Alexey Tourbin
2007-09-11 9:49 ` Sergey Bolshakov
2007-09-11 14:59 ` Alexey Tourbin
2007-09-11 15:35 ` Led
2007-09-10 22:13 ` [devel] rpm-build-4.0.4-alt78 rpm-build-tcl vs BuildRequires(pre) Alexey Tourbin
2007-09-11 9:30 ` Sergey Bolshakov
2007-09-11 15:49 ` [devel] link tcl extensions with libtcl Alexey Tourbin
2007-09-10 20:39 ` [devel] rpm-build-4.0.4-alt78 tcl SCRIPTS DISABLED Alexey Tourbin
2007-09-10 22:38 ` [devel] rpm-build-4.0.4-alt78 tcl dependencies Michael Shigorin
2007-09-10 10:13 ` [devel] rpm-build-4.0.4-alt78 beehive_status Sergey Bolshakov
2007-09-10 22:28 ` [devel] rpm-build-tcl Requires += tcl? Michael Shigorin
2007-09-11 16:13 ` [devel] Zope-2.7.7-alt1 Alexey Tourbin
2007-09-10 22:25 ` [devel] rpm-build-4.0.4-alt78 rebuild status Michael Shigorin
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