展開のためにポストインストール フックを必要とするプロジェクトがあります。私の方法は、setuptools を使用してスケルトン rpm 仕様ファイルを生成し、ソース ファイルを tar することです。
問題は、この方法で権限を制御する方法がわからないことです。仕様ファイルは次のようになります。
%install
python setup.py install --single-version-externally-managed --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
%files -f INSTALLED_FILES
%defattr(755,%{user},%{user})
これは、すべてのファイルが適切なユーザーと権限に設定されるという点で、かなりうまく機能します。ただし、ディレクトリには属性が設定されていません。これが問題なのかどうかはわかりませんが、奇妙に思えます。すべてのディレクトリは、755 パーミッションを持つ root によって所有されています。ディレクトリを所有する良い(合理的に標準的な)方法を知っている人はいuser
ますか?私の会社は、アプリケーション固有の役割アカウントの下でデプロイされるアプリケーションをパッケージ化することを好む傾向があるためです。setuptools を使用して結果をサイト パッケージに入れると、.pyc
ファイルがコピーされます。しかし、構成ファイルのディレクトリをパスから外して作成したい場合は、回避するのに十分な量のようです。