それはすべて非常に混乱しています。たとえば、次のようなさまざまな例があります。
<package-name>_<Epoch>:<upstream-version>-<debian.version>-<architecture>.deb
ソース: debianパッケージファイル名
セクション5.6.12バージョン またはDebianポリシーマニュアルも実際のパッケージファイル名に関連していますか?または、制御ファイルのフィールドだけに?
リポジトリ形式 に関するこのWikiトピックでは、 開発者のベストプラクティスガイド と同じように、規則については何も触れていません。
たぶん私は間違ったものを探しているだけなのですが、私を助けて、Debianパッケージ名の規則の場所を教えてください。特に、Debianのコードネームをどこに置くか知りたいです。私はこのようなことをしたいです:
<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb
どこ <debiancodename>
はsqueeze
またはwheezy
です。
私の理解では、パッケージを複数のDebianベースのディストリビューションに配布/展開したいと考えています。
Debian/Ubuntuの世界では、ダウンロードしてインストールする個別の.deb
ファイルを提供しないでください。代わりに、APTリポジトリを提供する必要があります(Fedora/Red Hat/CentOSの世界では、YUMリポジトリを提供するために同様のアドバイスをします)。名前を付ける方法の問題を解決するだけではありませんdebファイルですが、リポジトリはバグ修正やセキュリティ更新など、パッケージの新しいバージョンを提供する効果的な方法です。APTリポジトリの作成は、このページ/質問の目的を超えています。検索してください。 for "aptリポジトリのセットアップ方法"
ここであなたの質問に戻ります:「パッケージの命名規則」:
dpkg-buildpackage
を使用してパッケージを生成すると、パッケージには標準的な方法で名前が付けられます。引用 dpkg-name マンページ:
完全なパッケージ名は、パッケージの制御ファイルで指定されているpackage_version_architecture.package-typeで構成されます。
package_version_architecture.package-type
Debianポリシーは、制御ファイルの構文を知るのに最適な場所です: name (ソースパッケージとバイナリパッケージの両方) 、 バージョン 、 アーキテクチャ 、 パッケージタイプ 。
これは物事がどのように進むかではないので、配布を述べる規定はありません。
複数のディストリビューション用に同じバージョンのパッケージをコンパイルする必要がある場合、version
フィールドを変更します(debian/changelog
およびdebian/control
ファイル)。バージョンフィールドでディストリビューション名を使用する人もいます。たとえば openssl :
0.9.8o-4squeeze14
1.0.1e-2+deb7u14
1.0.1k-1
それがあなたがやりたいことなら、 version のdebian_revision
に関するdebian-policyを必ず読んでください。