web-dev-qa-db-ja.com

Ubuntu Software Center用にアプリケーションをパッケージ化するにはどうすればよいですか?

私はソフトウェア開発の経験がありますが、パッケージングの経験はあまりありません。以前にdpkgを1つ作成しましたが、ソースパッケージではありませんでした。

Ubuntuアプリストアにアプリケーションを送信する作業を行っています。パッケージングに関するドキュメントは、「Debianソースパッケージ形式」でパッケージ化する必要があることを言っているだけで、あいまいな面で少しです。

http://developer.ubuntu.com/publish/my-apps-packages/

Debianソースパッケージのtarballをまとめることで混乱する可能性があると確信していますが、いくつか疑問に思うことがあります。

  • 32-vs-64ビットはどのように処理されますか?彼らはソースを取得し、両方からアプリを構築しますか?
  • Ubuntuのさまざまなバージョン(10.04、10.10、11.04、11.10など)のサポートはどのように処理されますか?
  • 依存関係の処理方法。たとえば、私のアプリがSDLに依存している場合、どのように指定しますか?
  • アプリケーションのソースコード(プロプライエタリライセンス)を配布したくない場合、ソースをアプリに使用すべきでないことを明確に示す方法はありますか?
  • Autoconf/automakeを使用していない場合、Makefileを特定の方法でセットアップする必要がありますか、それともautotoolsが必要ですか?

Ubuntuの人々はおそらくソースを取得して、アプリの購入をサポートするさまざまなプラットフォームやアーキテクチャごとにビルドすると思いますが、送信プロセスにはアプリの実行内容を示す明確な方法がないため(GTK3と64ビットのサポート、またはARMサポート)なしのIntelのみの場合、ソース形式で指定できることのみが期待できます。

ソースパッケージの作成に関する明確で詳細なドキュメントはありますか?

5
Jason Champion

あなたがそれにリンクするページで言う:

Canonicalはこのパッケージサービスを無料で提供します。

さらに、バイナリを含むtarballのレイアウト方法を説明します。

このようなtarballを作成してMyApps経由で送信すると、すべてのパッケージ化が行われます。下部にあるように、必要に応じてソースパッケージを提供できますが、必須ではありません。これはクローズドソースまたは有料アプリに固有のものであることに注意してください。libreとgratisであるものはすべて、現在異なるプロセスを持っています。

あなたの他の質問に関しては:

32-vs-64ビットはどのように処理されますか?

64ビットでも機能するので、必要に応じて32ビットをアップロードできます。 32ビットと64ビットをアップロードする場合は、2回ビルドして、結果を「i386」および「AMD64」サブディレクトリに入れます。

Ubuntuのさまざまなバージョン(10.04、10.10、11.04、11.10など)のサポートはどのように処理されますか?

アップロードされたバイナリが送信プロセスの一部として機能するUbuntuのバージョンを指定できます。

依存関係の処理方法。たとえば、私のアプリがSDLに依存している場合、どのように指定しますか?

これは、パッケージングプロセスの一部として追加されます。依存関係を指定するコメントを追加したい場合は、おそらく速度が向上します。

アプリケーションのソースコード(プロプライエタリライセンス)を配布したくない場合、ソースをアプリに使用すべきでないことを明確に示す方法はありますか?

前述のように、ソースをまったく提供する必要はありません。

Autoconf/automakeを使用していない場合、Makefileを特定の方法でセットアップする必要がありますか、それともautotoolsが必要ですか?

Ubuntuでサポートされているビルドシステムはすべて許可されます。プレーンなMakefileを使用している場合は、それで問題ありません。ただし、バイナリのみをアップロードする場合は問題ありません。

7
James Westby