[devel] Наши опыты над питоном ( или новые пакеты в дедалусе )
Andrey Orlov
=?iso-8859-1?q?cray_=CE=C1_neural=2Eru?=
Пн Апр 26 10:34:55 MSD 2004
Hi!
Алексей и я довели т.н. "новую схему сборки питоновских модулей" до того
состояния, когда этим можно попробовать воспольоваться. Я пересобрал
почти все свои пакеты (включая Zope) и некоторое количество
чужих (так как иначе мои не ставятся), все это лежит в дедалусе:
python-2.3.3-alt7.5.d.src.rpm
python-module-bsddb3-4.2.4-alt5.d.src.rpm
python-module-egenix-mx-base-2.0.3-alt6.d.src.rpm
python-module-egenix-mx-experimental-0.8.0-alt4.d.src.rpm
python-module-MySQLdb-0.9.2-alt5.d.src.rpm
python-module-pexpect-0.999-alt3.d.src.rpm
python-module-psycopg-1.1.11-alt5.d.src.rpm
python-module-pyparsing-1.1.2-alt3.d.src.rpm
python-module-Reportlab-1.19-alt3.d.src.rpm
rpm-4.0.4-alt36.d8.src.rpm
rpm-build-python-0.8-alt2.src.rpm
Zope-2.6.4-alt3.src.rpm
Что сделано:
1. Работают макросы Алексея, пример спека можно посмотреть в
/usr/share/doc/rpm-build-python-0.8/python-module-SAMPLE.spec, кроме
того в /etc/rpm/macros.d/python есть комментаии к макросам;
2. Работает автоматическое определение зависимостей, подробнее об этом в
/usr/share/doc/rpm-build-python-0.8/doc/ByteCompilator.txt,
должен обратить внимание, по умолчанию определение зависимостей сейчас
отключено, по этому в вашем спеке должен быть явно указано :
AutoReqProv: all, python
3. Работает улчшенный скрипт байт-компиляции, позволяющий выборочно
компилировать файлы пакета, подробнее см. в
/usr/share/doc/rpm-build-python-0.8/doc/ByteCompilator.txt
4. Написана простенькая приблуда к distutils, позволяющая быстро создать
спек нового пакета командой:
python setup.py bdist_altrpm --daedalus --spec-only
и последующим небольшим редактированием, подробнее см.
/usr/share/doc/rpm-build-python-0.8/doc/DistUtils.txt
Что недоделано:
1. Пакет python будет дорабоатыватся дальше - там pre / post скрипты
срабатывают не там где надо и не так, как надо, и я еще не готов
выложить распиленную версию;
2. Я сейчас проверяю возможность отказатся от повторной байт компиляции при
использовании для сборки distutils (т.е. setup.py), там есть необходимый
код, осталось проверить насколько юзабелен.
Замечание:
Для того, чбы реально воспользоватся автоматическим определением
зависимостей, т.е. не ставит все подряд модули питона, а только реально
необходимые, нужно поставить пакет python-slight (вместо python-strict).
Опять-таки, чбы получить стандартный набор пакетов python - нужно
поставить python-strict.
PS: К сожалению, тот пакет rpm-build-python, который лежит в дедалусе
(0.8-alt1) не содержит док (сорри), на которые я ссылаюсь, но новый пакет (alt2) я уже залил. Там
обновленное FAQ и полиси, все еще в состоянии draft. Напоминаю, я
по-прежнему принимаю вопросы и советы по поводу полиси на адрес
python на neural.ru.
--
WthBstRgrds -- Андрей Орлов --
--- http: www.neural.ru, mail: cray на neural.ru, jid: cray на altlinux.org ---
----------------------------------------
Подробная информация о списке рассылки Devel