Debian用Djangoのウェブサイト(PythonパッケージやEggではない)をパッケージ化するには?

Debian用Djangoのウェブサイト(PythonパッケージやEggではない)をパッケージ化するには?

私は過去2週間にわたって様々な路地にぶつかり、私が行きたい場所に連れて行く方法を見つけようとしました。しかし、私はついに私の答えがどこにも明示的に投稿されていないことを認めなければなりませんでした。

明確にすることから始めます。私は「プラグイン」を意味するように見える再配布可能なDjango「アプリケーション」を構築したくありません。これはPythonプラグインではなく、FCGIサーバー、/ etc / initを含む完全なウェブサイトです。 dスクリプト、/etc/djangoappsの設定ファイル、私のWebサイトで使用されるプラグインの要件。txt。

ビルドサーバーから開発サーバーと本番サーバーにデプロイできるdebパッケージをビルドしたいと思います。 (Bambooを使用していますが、Jenkinsも同じ原則を使用する必要があります。)

私もUbuntuではなくDebian 7 Wheezyでこれをやりたいと思います。 PKGMEはUbuntuとDebian 8でこれらのタスクを実行しているように見えますが、Wh​​eezyでは動作している状態でインストールされず、解決方法を見つけることができません。

そのため、setuptools、steb、debuildを使用してパッケージを作成しようとしましたが、結果として/etcまたは/usrファイルがまったく含まれていないdebに卵ができました。

それでは、ここで正しいアプローチは何ですか?

答え1

1つの.debファイルを明確にインストールし/etcてダウンロードできます/usr。それ以外の場合、Debian 7 システムはこのファイルを使用してインストールできないため、そうする必要があります。

問題は、タスクを実行しようとしたときに使用するツールで発生しているようです。ツールを間違った方法で使用したり、「使いやすさ」により、操作を.deb実行するために必要な基本パッケージの機能が非表示になります。

ファイル.debはただar 3つのファイルを含むアーカイブ:バージョン番号ファイル1個とtarアーカイブ2個(通常圧縮)。いくつかのコマンドを使用して(別々に)解凍し、再度(別々に)結合するのar x ...は簡単です。 `debian_versionファイルを最初にアーカイブに移動する必要があります。tar xvf ..tar cvzf ...ar mc ....

パッケージを作成する必要がある場合は、.deb必要な部分をすでに実行している既存のパッケージから始め、必要に応じてアイテムを追加/変更します。

もっと詳細もちろん、インストーラがパッケージ内のさまざまな特殊スクリプトを実行し、依存関係を追加する方法を知る必要がある場合に使用できます。

関連情報