[devel] и снова PyQt4
Sergey Vlasov
vsu на altlinux.ru
Сб Мар 13 15:07:04 UTC 2010
On Sat, Mar 13, 2010 at 12:54:56PM +0200, Artem Zolochevskiy wrote:
> Господа, повторно ищу помощи с питоном.
>
> Я, увы, самостоятельно не могу в точности определить проблемное место.
> У меня не собирается пакет. Как мне видится из-за того, что на x86_64
> не находится питон-овый dbus.mainloop.qt
>
> Картина выглядит следующим образом:
>
> $ rpm -qf /usr/lib64/python2.6/site-packages/dbus/mainloop/qt.so
> python-module-PyQt4-4.7-alt2
google:"/usr/lib64/python2.6/site-packages/dbus/mainloop/qt.so"
показывает, что подобное размещение этого файла использовалось только
в SUSE; причём даже там в свежих версиях этот файл уехал в /usr/lib:
http://www.rpmfind.net//linux/RPM/opensuse/11.2/x86_64/python-qt4-4.6.1-1.1.1.x86_64.html
> $ ls /usr/lib64/python2.6/site-packages/dbus/mainloop/__init__.py
> ls: cannot access
> /usr/lib64/python2.6/site-packages/dbus/mainloop/__init__.py: No such
> file or directory
>
> $ rpm -qf /usr/lib/python2.6/site-packages/dbus/mainloop/__init__.py
> python-module-dbus-data-0.83.1-alt1
>
> Нормальна ли такая картина?
> Может ли мне кто-то подсказать, что не так и что должно быть сделано
> чтоб на x86_64 у питона заработало
> import dbus.mainloop.qt
Как уже обсуждалось, файл __init__.py у пакета модулей Python может
быть только один - а вот каталогов, где он может лежать в системе, у
нас в общем случае два (arch и noarch), но на i386 каталоги arch и
noarch у питона совпадают, поэтому там проблема не видна. Решать её
можно одним из двух способов:
1) Так, как делается как минимум в fedora и opensuse - класть qt.so в
каталог /usr/lib/python2.6/site-packages/dbus/mainloop даже на
x86_64. Сейчас sisyphus_check блокирует этот вариант.
2) Так, как, похоже, не делается больше нигде - в пакете
python-module-dbus перенести site-packages/dbus/mainloop/ из
noarch-части в arch - в этом случае существующий пакет
python-module-PyQt4 заработает без изменений (и даже без его
пересборки).
Хотя перенести только dbus/mainloop совсем просто не получится
из-за того, что подпакет python-module-dbus-data сделан noarch и
должен быть одинаковым на всех архитектурах - придётся добавлять
условия в %files. Вероятнее всего, наиболее простое и надёжное
решение - полностью отказаться от выделения noarch-части в
подпакет python-module-dbus-data (в конце концов, большинство
arch-specific пакетов python-module-* содержат и некоторое
количество *.py, лежащих в arch-каталоге рядом с *.so, и никто по
этому поводу не возмущается).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20100313/24ecdd26/attachment-0001.bin>
Подробная информация о списке рассылки Devel