distutils setup.py и% post% postun - PullRequest
       35

distutils setup.py и% post% postun

4 голосов
/ 10 сентября 2009

Я новичок. Я собираю пакет rpm для своего собственного приложения и решил использовать distutils для его достижения. Мне удалось создать некоторую замену% post, используя советы с этого сайта, за что я действительно благодарен, но у меня проблемы с% postun. Позвольте мне описать, что я сделал. В setup.py я запускаю команду, которая создает символическую ссылку, которая необходима для запуска приложения. Это работает хорошо, но проблема в том, когда я хочу удалить rpm, ссылка остается там. Поэтому я решил использовать% postun в spec-файле. Мой вопрос: есть ли способ сделать это в setup.py или мне нужно вручную редактировать файл спецификации? Пожалуйста, посоветуйте или укажите мне некоторые руководства или что-нибудь. Спасибо

Ответы [ 2 ]

2 голосов
/ 02 октября 2009

Да, вы можете указать скрипт после установки, все что вам нужно, это объявить в bdist_rpm в опциях arg файл, который вы хотите использовать:

setup(
...
options = {'bdist_rpm':{'post_install' : 'post_install',
                        'post_uninstall' : 'post_uninstall'}},
...)

В файле post_uninstall укажите код, необходимый для удаления ссылки, например:

rm -f /var/lib/mylink
0 голосов
/ 24 сентября 2009

Ни distutils, ни setuptools не имеют функции удаления.

В какой-то момент сообщество python согласилось, что деинсталляция должна выполняться системой упаковки. В этом случае вы хотите использовать rpm, так что, вероятно, внутри системы rpm есть способ удалить пакеты, но вы не найдете этого в distutils или setuptools.

@ pycon2009, была презентация по distutils и setuptools. Вы можете найти все видео здесь

Развертывание яиц и сборки в Python - часть 1

Развертывание яиц и сборки в Python - часть 2

Развертывание яиц и сборки в Python - часть 3

Существует видео под названием Как создавать приложения. В дистрибутивах Linux будет пакет . Я этого не видел, но, похоже, это уместно.

...