基本についての簡潔なハウツーを探しています。
buntuパッケージガイド は良い入門書です。残りの部分は、既存のパッケージを調べ、マニュアル(CDBS、そしてもちろん Debian Policy )を読むことで学ぶことができます。ただし、directhexが言ったように、それはあなたが取り組んでいるパッケージの種類に大きく依存します。
RPMについては、 Mandriva wiki 、およびいくつかの Fedora RPMガイド および ガイドライン が好きでした。
RPMの場合は、「最大RPM」(ダウンロード ここ )から始めることができます。これは古いですが、非常に精巧で、学習を開始するのに適した場所です。 IBM DeveloperWorksには course もあります。これはチュートリアルです。
基本を理解したら、FedoraまたはOpenSUSE(非常によく似ています)のパッケージングガイドラインを読んで、実際にパッケージングがどのように行われるかを確認する必要があります。
Ubuntuにはしばらく前にIRCにパッケージャークラスがあったことは知っていますが、現在の状況はわかりません。Debian(およびUbuntu)のパッケージングチュートリアルは豊富にあります。Debianについても同様です。 、パッケージングガイドラインを読んで、実際にどのように行われるかを確認してください。
多くの場合、パッケージ化する特定の種類のものをパッケージ化する方法を学ぶのが最善です。 MonoアプリはPythonアプリとは大きく異なります。何よりもまず、自分に関連する情報を学ぶことができれば最高です。
FreeBSDでは、インストールされているポートの場合:
cd /usr/ports/category/myport
make package
または
make package-recursive
1つ目はポートからパッケージを作成し、2つ目はすべての依存関係も含みます。または、pkg_create
を使用してより詳細に制御することもできます。 make package
と同様に、ポートもインストールする必要があります。
pkg_create -Rb mysoftware myswpkgname
残念ながら、最初にインストールせずにパッケージを作成するためのクリーンで簡単な方法はありません。ただし、ポートのメンテナンスとパッケージの作成の要点を詳しく調べない限り、 ここ について読むことができます。これは、自分で作成したものをパッケージ化する場合に必要になります。
ただし、システムにインストールされていないソフトウェアパッケージを作成する必要がある場合は、作業を楽にするためのいくつかの選択肢があります。 1つ目は、ビルドジェイルを使用することです。あるいは(または同時に)、インストールしたソフトウェアを削除することもできます。
make deinstall
ポートディレクトリから、または
pkg_delete -r mypackage
これにより、より詳細な制御が提供されます(-r
スイッチは依存関係も削除します)。詳細については、 ports 、 pkg_delete 、および pkg_create のマニュアルページを参照してください。
パッケージ化する特定のシステムのガイドを探す必要があります。それらは異なり、場合によっては異なるアプローチが必要です。共通点がある場合は、1つのシステムをかなりよく学ぶことでそれを理解できます。他の人は、それらが機能するように設計された方法を理解すれば、少し簡単に学ぶことができます。
ただし、どのシステムでも覚えておく価値のあるアイデア:元のソースと無人ビルド。