インストール/配布のために、PCにアプリケーションをパッケージしています。 Ubuntuのdpkg
機能を使用して、パッケージを正常に作成しました12.04。次に、同じファイル設定を使用して、複数のパッケージ(バイナリパッケージ(xxx.debなど)、ソースパッケージ(xxx.1.0-1-devel.deb))を作成する必要があります。 Debianフォルダーには、dpkg-buildpackage -rfakeroot
を使用したパッケージ化に必要なすべての変更されたファイルが含まれます。同じdebianファイルのセットアップを使用してすべての.debファイルを作成する必要がある場合。さらに何をする必要がありますか?
さらに、以下のものも私を混乱させます。 -develパッケージを含める必要があるもの開発ヘッダーファイルまたは開発ヘッダーファイルと、必要な共有ライブラリまたはヘッダーファイルを含むすべてのバイナリファイルのみですか?
ターゲットプログラムはc/c ++または同様の言語であると想定しています。
1つのバイナリパッケージにすべてのファイルを含めることができます。ただし、開発ファイルを別のファイルに分けるのが最善です。
*-dev
(-devel
ではなく)には、ヘッダー、静的ライブラリ、共有ライブラリ、およびバイナリツールのみを含める必要があります(これらのツールが開発にのみ使用される場合)。
debian/control
で単一ソースの複数のバイナリパッケージを宣言できます。最良の例は、samba
を例として学習することです:
ソースパッケージ: http://packages.ubuntu.com/source/trusty/samba 、同じソースからビルドされたバイナリパッケージの数を確認します。
1つ(メインパッケージ、samba-*。deb)を選択してみましょう: http://packages.ubuntu.com/trusty/samba 、右側を見る *-debian.tar.gz
。ダウンロードしてから開きます。 control
ファイルを読み取ります。
Source: samba
...
Package: samba
...
Package: samba-libs
...
各バイナリパッケージには、インストールされるファイルとその場所をリストする独自の*.install
ファイルがあります。例:samba.install
、samba-libs.install
、..
ライブラリの場合、*-dev
パッケージにのみ含まれる静的なもの。
同時にインストールできるバージョンが異なる場合は、共有バージョンを両方に含める必要があります。
例、 samba-dev
、ページの下部で ファイルのリスト をクリックし、これは静的ライブラリ libc6-dev を使用します。
そうでない場合は、共有ライブラリを通常のバイナリパッケージのみに配置し、開発パッケージの依存関係として追加します。
参照: