| Summary: | Files using relative Imports (PEP 328) are not supported and crash python.req.py | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Ivanov Maxim <ivanov.maxim> | ||||
| Component: | rpm-build-python | Assignee: | at <at> | ||||
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
| Severity: | blocker | ||||||
| Priority: | P2 | CC: | darktemplar, eostapets, evg, george, imz, ldv, rlz | ||||
| Version: | unstable | ||||||
| Hardware: | all | ||||||
| OS: | Linux | ||||||
| Attachments: |
|
||||||
Created attachment 2918 [details]
файл на котором валится
По сути валится, на конструкции "from .relative_module_name import name" (именно с точкой). Конструкция разрешена http://docs.python.org/ref/import.html, хоть и редко применяется Это новая фича в python2.5, но видимо at@ это не учёл когда ломал искалку... Ага, сидел и ломал искалку, ептыть. *** Bug 17820 has been marked as a duplicate of this bug. *** *** Bug 18922 has been marked as a duplicate of this bug. *** *** Bug 20612 has been marked as a duplicate of this bug. *** Заткнул дырку временно (совсем убрал проверку зависимостей, если используется относительная схема импорта). Это не очень хорошо, но 1) по крайней мере, не падает 2) ситуация, когда в файле из одного _пакета_ идёт относительный импорт файла из _другого_ пакета, представляется малоестественной. |
При проверке файла из аттача python.req.py вываливается с ошибкой: Traceback (most recent call last): File "/usr/lib/rpm/python.req.py", line 206, in <module> for item in match(lis) : File "/usr/lib/rpm/python.req.py", line 99, in match for item in match(node,deep) : File "/usr/lib/rpm/python.req.py", line 99, in match for item in match(node,deep) : File "/usr/lib/rpm/python.req.py", line 99, in match for item in match(node,deep) : File "/usr/lib/rpm/python.req.py", line 88, in match deps.append(node[2][1][1]) IndexError: string index out of range