[devel] ldconfig и %post

Vladimir V. Kamarzin vvk на altlinux.ru
Чт Авг 12 06:13:42 UTC 2010


Hi

Недавно столкнулся с неприятным последствием неработы ldconfig при вызове из
rpm
http://git.altlinux.org/gears/g/glibc.git?p=glibc.git;a=commitdiff;h=49e4633da51d71d4bbb1ed3d88996b1381ae4344;hp=21c141ed10e17ffb15245e08b281034340825553

Имеется упакованный в rpm django проект, в %post которого выполняется
перезапуск wsgi-сервера uwsgi.

Так же в проекте косвенно используется
/usr/lib/python2.6/site-packages/django/contrib/gis/gdal/libgdal.py который
для поиска libgdal использует find_library() из
/usr/lib/python2.6/ctypes/util.py, в котором как раз и используется вызов
`ldconfig -p` для поиска библиотек.

Таким образом, после рестарта uwsgi из rpm обламывается импорт одного из
классов, и проект становится неработоспособен.

Локально я конечно решил проблему заданием GDAL_LIBRARY_PATH в settings.py
django-проекта, но хотелось бы придумать что-то более
дистрибутивное. Например, добавить в ctypes/util.py нечто вроде
if os.environ.has_key('RPM_INSTALL_NAME'):
    os.unsetenv('RPM_INSTALL_NAME')

Но это, опять же, узкое решение.

-- 
vvk



Подробная информация о списке рассылки Devel