web-dev-qa-db-ja.com

最も単純なDebianパッケージングガイドとは何ですか?

Ubuntu wikiに行きましたが、混乱しました。あまりにも多くの方法がありました。 Debianパッケージングの簡単なガイドを教えてください。

149
akshatj

This は、基本的な.debファイルを作成するための優れたHOWTOです。個人用の.debファイルを作成するのに適していますが、パッケージをDebian/Ubuntuに含める場合は十分に厳密ではありません-そのためには Debian New Maintainer's Guide と/または buntu Packaging Guide (これはすでに試したことがあると思います)。

.debファイルのコンプライアンスを確認するための優れたツールは、lintian(リポジトリからインストール可能)です。

ここではUbuntuのチャットルームで2つのセッションがありました。

buntuでのパッケージングの基本(パッケージング:パート1)

ランチパッドPPAのUbuntuパッケージ(パッケージ:パート2)

102
dv3500ea

どの部分に問題がありますか?複雑ではありますが、ガイドは私がそれをフォローしているときに非常に明確に見えました。

クイックサマリー:

  • ソースを抽出.tar.gz
  • dh_makeを実行します
  • Debianファイルを編集する
  • デビルドを実行する
14
Nathan Osman

dpkg-debを使用して単純なパッケージを作成することもできます。

buntuforums からの素敵なチュートリアルです。

10
Searock

何かをパッケージ化する最も簡単な方法は、 checkinstall を使用することです。

5
e8johan

もともと StackOverFlow に投稿されたこのガイドは、プリコンパイルまたは解釈されたソフトウェアを対象としています。

Debパッケージを構築する正しい方法はdpkg-buildpackageを使用することですが、時にはそれが少し複雑になることもあります。代わりにdpkg -b <folder>を使用すると、Debianパッケージが作成されます。

これらは、dpkg -b <folder>で任意のバイナリまたは手動コンパイルを必要とせずに自動的に実行されるスクリプト(Python、Bash、Pearl、Ruby)でDebianパッケージを作成するための基本です:

  1. 次の構造を再作成するには、ファイルとフォルダーを作成します。

    ProgramName-Version/
    ProgramName-Version/DEBIAN
    ProgramName-Version/DEBIAN/control
    ProgramName-Version/usr/
    ProgramName-Version/usr/bin/
    ProgramName-Version/usr/bin/your_script
    

    /usr/bin/に配置されたスクリプトは、ターミナルから直接呼び出されます。スクリプトに拡張子を追加していないことに注意してください。また、debパッケージの構造は、インストールされるとプログラムの構造になることに気付くことができます。したがって、プログラムに単一のファイルがある場合にこのロジックに従うと、ProgramName-Version/usr/bin/your_scriptの下に直接配置できますが、複数のファイルがある場合は、ProgramName-Version/usr/share/ProgramName/all your filesの下に配置し、/usr/bin/の下に1つのファイルのみを配置して、/usr/share/ProgramName/からスクリプトを呼び出します

  2. すべてのフォルダーのアクセス許可をルートに変更します。

     chown root:root -R /path/to/ProgramName-Version  
    
  3. スクリプトのアクセス許可を変更します。

     chmod 0755 /path/to/the/script
    
  4. 最後に、実行できます:dpkg -b /path/to/the/ProgramName-Versionとdebパッケージが作成されます! (post/pre instスクリプトと必要なものすべてを追加することもできます。通常のDebianパッケージのように機能します)

controlファイルの例を次に示します。 「control」という空のファイルにコピーして貼り付け、DEBIANフォルダーに入れるだけです。

Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
 Here you put the long description, indented by 1 space.
5
user438925

いいえ、この世界で最もシンプルで明確なパッケージングガイドは

buntuおよび他のDebianのパッケージングJavaアプリケーション

数日前、最初のアプリケーションでは、このチュートリアルに従ってDEBパッケージを作成しました。非常に明確で、アプリが正常にパッケージ化されました。はい、少なくともそれは私にとって最も簡単です。

Debianパッケージングガイドと比較できます。

3