The definition would be %_pythonlibdir %(%__python -c \"from distutils import sysconfig; print sysconfig.get_python_lib()\") While we are at it, change %__python_version to %__python_version %(%__python -c \"import sys; print sys.version.split(\' \')[0]\") Don\'t let anyone know that you are more skilled in shell than in Python ;) --- ---
1. Your version of %__python_version differs from current one: $ rpm --eval %__python_version 2.2 $ python -c \"import sys; print sys.version.split(\' \')[0]\" 2.2.2 I won\'t change behaviour. 2. Who needs this new macro?
Agreed, although it would be better to print out the trimmed value using only Python, e.g. %(python -c \"import sys, re; print re.match(\'[0-9]+\\.[0-9]+\', sys.version.split(\' \')[0]).group(0)\" 2>/dev/null)
The %_pythonlibdir macro is useful for Python modules installed with help of distutils (e.g. pretty much every Python module today). Instead of using inflexible globs like %_libdir/python*/site-packages/, the exact path could be determined programmatically.
Andrey?
Извините за русский, но с моим локализованным английским ваша продвинутая версия понимается с трудом, тем не менее: 1. Обратите внимание на то, как %__python_version считается сейчас __python_version %(%__python -c 'import sys; print "%u.%u" % sys.version_info[0:2]' 2>/dev/null || echo unknown) . Это лучше и шелловских скриптов и каких-то регекспов на питоне. 2. Чгря слабо понимаю как стыкуется чисто python'вский distutils с rpm-овскими макросами, в любом случае, все модули, использованные во время эксперимента на дедали ставились с помощью distutils и отсутствие такой переменной никому не мешало. Подробнее см. python-module-SAMPLE.spec. 3. Если человеку удобен такой макрос - то почему бы не создать, может пригодится если ставить __БЕЗ__ distutils, что иногда приходится делать.
Немного бюрократии.
(In reply to comment #9) > Немного бюрократии. Я не против бюрократии, только я не понял, чего предполагается сделать?
*** This bug has been marked as a duplicate of 4815 ***