web-dev-qa-db-ja.com

Debianパッケージの命名規則?

それはすべて非常に混乱しています。たとえば、次のようなさまざまな例があります。

<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です。

10
Preexo

私の理解では、パッケージを複数の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 

それがあなたがやりたいことなら、 versiondebian_revisionに関するdebian-policyを必ず読んでください。

10
Franklin Piat