Bug 13613 - jython collisions in python syntax checking
Summary: jython collisions in python syntax checking
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm-build-python3 (show other bugs)
Version: unstable
Hardware: all Linux
: P2 enhancement
Assignee: Ivan Zakharyaschev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-06 21:12 MSK by viy
Modified: 2021-11-27 12:31 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description viy 2007-12-06 21:12:33 MSK
добавить бы рычаг, что если в скрипте встречается
'import java'
то это jython скрипт, и пропускать его provides, requires и syntax chacking.



Actual Results:  
python.req: ERROR:
/usr/src/tmp/eclipse-pydev-buildroot/usr/share/eclipse/plugins/org.python.pydev.jython_1.3.9/Lib/javaos.py:
+invalid syntax (line 221)
Traceback (most recent call last):
  File "/usr/lib/rpm/python.req.py", line 195, in ?
    lis = parser.suite('\n'.join(lines)+'\n').tolist(line_info=1)
  File "<string>", line 221
    p = java.lang.Runtime.getRuntime().exec( shellCmd, env )
                                          ^
SyntaxError: invalid syntax
error: /bin/sh failed
error: Failed to find Requires


RPM build errors:
    /bin/sh failed
    Failed to find Requires
Command exited with non-zero status 1
75.21user 7.30system 2:15.18elapsed 61%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (2410major+1103995minor)pagefaults 0swaps
hsh-rebuild: rebuild of `eclipse-pydev-1.3.9-alt1_1jpp5.0.src.rpm' failed.
Comment 1 viy 2007-12-06 21:12:48 MSK
syntax checking
Comment 2 viy 2007-12-06 21:13:17 MSK
assigned to author
Comment 3 at@altlinux.org 2008-03-31 00:56:33 MSD
Как определить, что в скрипте втречается 'import java'?  Только грепом не
предлагайте.  Нужно ведь сначала распарсить, а потом уже можно анализировать,
что там импортируется.  А здесь действительно синтаксическая ошибка -- похоже,
что exec это keyword и его нельзя использовать в качестве названия метода. 
Впрочем, нужно проверить, так ли это для питона 2.5.
Comment 4 Ivan A. Melnikov 2008-12-18 14:59:32 MSK
(In reply to comment #3)
> Впрочем, нужно проверить, так ли это для питона 2.5.
> 

В питоне 2.5 использовать exec как метод можно, и даже рекомендуется ввиду грядущего 3.0.

Проверено на python-2.5.2-alt5.
Comment 5 Anton Farygin 2021-11-27 12:31:55 MSK
Если эта ошибка ещё существует, то её чинить надо уже для python3.