すべてがとても混乱しています。次のようなさまざまな例があります。
<package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb
はいバージョン 5.6.12それともDebian Policy Manualは実際のパッケージファイル名にも関連していますか?それとも、制御ファイルのフィールドにのみ適用されますか?
このウィキトピックではストレージフォーマットコンベンションについても何も言わない。開発者向けのベストプラクティスガイド。
おそらく私が間違ったものを探しているのかもしれません。助けて、Debianパッケージの命名規則をどこで見つけることができるか教えてください。特にDebianコードネームをどこに置くべきか疑問に思います。私はこのようなことをしたい:
<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb
またははどこに<debiancodename>
ありますか?squeeze
wheezy
答え1
私の理解は、パッケージを複数のDebianベースのディストリビューションに配布/配布したいということです。
.deb
Debian / Ubuntuの世界では、ダウンロードとインストールのために別々のファイルを提供しないでください。代わりにAPTリポジトリを提供する必要があります。 (Fedora / Red Hat / CentOSの世界では、YUMリポジトリを提供するために同様の提案を行います。)バージョンのパッケージを提供する効率的な方法です。 APTリポジトリの作成は、このページ/質問の目的を超えています。検索してみてください。「適切なストレージを設定する方法」
今、「パッケージ命名規則」という質問に戻ります。
ビルドパッケージを使用する場合、dpkg-buildpackage
パッケージ名は標準的な方法で指定されます。引用するdpkg名マンページ:
完全なパッケージ名は、パッケージの制御ファイルで指定された package_version_architecture.package-type で構成されます。
package_version_architecture.package-type
Debian ポリシーはい制御ファイルの構文がわかる正しい場所:名前(ソースコードパッケージとバイナリパッケージの場合)バージョン、建築学、包装タイプ。
デプロイが機能する方法ではないため、デプロイを指定する条項はありません。
複数のディストリビューションに対して同じバージョンのパッケージをコンパイルする必要がある場合version
、フィールド(debian/changelog
およびファイル内)を変更しますdebian/control
。一部のユーザーはバージョンフィールドにリリース名を使用します。例えばOpenSSL:
0.9.8o-4squeeze14
1.0.1e-2+deb7u14
1.0.1k-1
debian_revision
これがあなたがやりたいことなら、Debianポリシーを必ず読んでください。バージョン。