Вопрос

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

Это было полезно?

Решение

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

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

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

rm -f /var/lib/mylink

Другие советы

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top