私は初心者です。私は自分のアプリ用に rpm パッケージを作成していますが、distutils を使用してそれを実現することにしました。この Web サイトのアドバイスを使用して、%post の代替を作成できました。これには本当に感謝していますが、%postun に問題があります。私がしたことを説明しましょう。setup.py で、アプリケーションの実行に必要なシンボリック リンクを作成するコマンドを実行します。問題はありませんが、問題はrpmを削除したいときにリンクが残っていることです。だから私はスペックファイルで %postun を使うべきだと考えました。私の質問は次のとおりです: setup.py でこれを行う方法はありますか、それとも仕様ファイルを手動で編集する必要がありますか? アドバイスやマニュアルなどを教えてください。ありがとうございました
2 に答える
はい、ポスト インストール スクリプトを指定できます。必要なのは、使用するファイルを options arg の bdist_rpm で宣言することだけです。
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 での Eggs と Buildout のデプロイ - パート 1
Python での Eggs と Buildout のデプロイ - パート 2
Python での Eggs と Buildout のデプロイ - パート 3
How to Build Applications Linux Distributions will Packageというビデオがあります。見てないけど、似合いそう。