Bug 34485

Summary: Не работает импорт большей части модулей, предоставляемых в качестве provides
Product: Sisyphus Reporter: Антон Мидюков <antohami>
Component: python3-module-OpenGLAssignee: Антон Мидюков <antohami>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: antohami, cas, cow, evg, george, grenka, imz, kotopesutility, lav, nbr, qa_viy, rider, sem, shaba, sin, slev, toni, vitty, viy
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Скрипты проверки импорта провайдесов python 2 и 3 none

Description Антон Мидюков 2018-01-27 06:15:16 MSK
Created attachment 7360 [details]
Скрипты проверки импорта провайдесов python 2 и 3

Я не буду приводить весь список, это 2009 не импортируемых модулей, представленных, как provides.
Вот пример неудачного импорта:
import OpenGL.platform.darwin
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/site-packages/OpenGL/platform/__init__.py", line 35, in <module>
    _load()
  File "/usr/lib/python3/site-packages/OpenGL/platform/__init__.py", line 26, in _load
    plugin_class = plugin.load()
  File "/usr/lib/python3/site-packages/OpenGL/plugins.py", line 16, in load
    return importByName( self.import_path )
  File "/usr/lib/python3/site-packages/OpenGL/plugins.py", line 38, in importByName
    module = __import__( ".".join(moduleName), {}, {}, moduleName)
  File "/usr/lib/python3/site-packages/OpenGL/platform/glx.py", line 4, in <module>
    from OpenGL.platform import baseplatform, ctypesloader
  File "/usr/lib/python3/site-packages/OpenGL/platform/baseplatform.py", line 354, in <module>
    class _NullFunctionPointer( object ):
  File "/usr/lib/python3/site-packages/OpenGL/platform/baseplatform.py", line 378, in _NullFunctionPointer
    __bool__ = __nonzero__
NameError: name '__nonzero__' is not defined

В тоже время у пакета python-module-OpenGL таких не рабочих импортов насчиталось  444. Правда не в чистом hasher проверял. Проверял сценариями от imz@, во вложении.
Конкретно мне очень нужны работающие импорты модулей OpenGL.GL, OpenGL.platform для новой версии pyCAM.

Возможно стоит попробовать обновить пакет до версии 3.3.1a1
Comment 1 Антон Мидюков 2018-01-27 09:24:18 MSK
Проверил в чистом hasher. У python-module-OpenGL 2007 неработающих provides, но все они ссылаются на то, что не может быть загружен модуль, например, так:
import OpenGL.platform.baseplatform
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/OpenGL/platform/__init__.py", line 35, in <module>
    _load()
  File "/usr/lib/python2.7/site-packages/OpenGL/platform/__init__.py", line 32, in _load
    plugin.install(globals())
  File "/usr/lib/python2.7/site-packages/OpenGL/platform/baseplatform.py", line 92, in install
    namespace[ name ] = getattr(self,name,None)
  File "/usr/lib/python2.7/site-packages/OpenGL/platform/baseplatform.py", line 14, in __get__
    value = self.fget( obj )
  File "/usr/lib/python2.7/site-packages/OpenGL/platform/glx.py", line 96, in GetCurrentContext
    return self.GL.glXGetCurrentContext
  File "/usr/lib/python2.7/site-packages/OpenGL/platform/baseplatform.py", line 14, in __get__
    value = self.fget( obj )
  File "/usr/lib/python2.7/site-packages/OpenGL/platform/glx.py", line 20, in GL
    raise ImportError("Unable to load OpenGL library", *err.args)
ImportError: ('Unable to load OpenGL library', 'GL: cannot open shared object file: No such file or directory', 'GL', None)

А у python3-module-OpenGL все ошибки касаются языка, например, вот такая ошибка:
import OpenGL.constant
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/site-packages/OpenGL/constant.py", line 3, in <module>
    from OpenGL._bytes import bytes,str,as_8_bit, int, integer_types, maxsize
ImportError: cannot import name 'int'

Я так понимаю, что текущая версия python3-module-OpenGL вообще не работает, так как python3 не поддерживается (или его текущая версия). Соответственно, пакет нужно обновлять.
Затем нужно определиться каких зависимостей не хватает пакетам python3-module-OpenGL и python-module-OpenGL.
Comment 2 Антон Мидюков 2018-01-27 18:37:03 MSK
Проблема вызвана преобразованием py2->py3. Но без этого преобразования python3-module не проходит проверку синтаксиса. Помогает обновление до 3.3.1a1. Но тесты в новой версии без этого преобразования также не проходят проверку синтаксиса. Если тесты после этого преобразования не будут работать, уберу их для python3 совсем.

Беру исправление бага на себя.

А недостающими зависимостями оказались пакеты mesa, libGL и компания.
Comment 3 Repository Robot 2018-01-28 18:51:11 MSK
python-module-OpenGL-3.1.1a1-alt1.S1 -> sisyphus:

Sat Jan 27 2018 Anton Midyukov <antohami@altlinux> 3.1.1a1-alt1.S1
- New version 3.1.1a1 (Closes: 34485)
- New subpackages python-module-tk and python3-module-tk