web-dev-qa-db-ja.com

Ubuntu Software Centreにある同じアプリの複数のバージョン?

Ubuntuソフトウェアセンター(https://myapps.developer.ubuntu.com)で独自のアプリを既に公開していたので、新しいバージョンで更新したいと考えています。

今回は、1つのアプリ(Ubuntu 12.04 i386用、Ubuntu 12.04用、AMD64、Ubuntu 11.10 i386用など)に複数のビルドをアップロードしたかったのです。問題は、それが不可能だということです。新しいアップロードは古いアップロードを上書きします。

Software Centerがアプリケーションごとに1つのバイナリパッケージのみをサポートしているのは正しいですか?ビルドごとに新しいアプリを作成してみることもできますが、それは間違ったソリューションのようです。

問題を解決するためのヒントはありますか?

13
user1099994

MyAppsは、Arch /シリーズごとに別々のバイナリの状況を処理するようにセットアップされていません。

すべてのバイナリがレビュアーに届き、PPAへの正しいバイナリのアップロードを処理することを確認することをお勧めします(myappsが更新されてこの状況が処理されるまで)。

  • オプション1:バイナリが小さい場合は、それらを1つのファイルにgzipし、パッケージアップロードフィールドを使用します
  • オプション2:サイズが大きい場合は、他の場所(Ubuntu1またはdropbox)にアップロードし、URLで共有する方が簡単です。これは、myappsのサブミッションに記載されています。
  • オプション3:(これが問題ないか、ポリシーとして確認する必要があります)バイナリがLaunchpadのビルドサービスで正常にビルドされる場合、PPAを作成し、IRC(noodles775 on freenode)そして、PPAを民営化できます。その後、ソースを出力し、LPによってdistroseries/arches用に自動的に構築できます。
2
Michael Nelson

Myappsサイトは主にPython/GTKアプリケーション(最新バージョンのみのクロスプラットフォームアプリ)に対応するように設計されているように見えます。これらの理由により、CPUとバージョンに基づいた選択を許可する機能はありませんが、明らかに、Software Centerおよびリポジトリを使用した自動更新用の機能は存在します。

さまざまなリリースやCPU向けにプログラムのコンパイル済みバージョン(バイナリ)を公開したい場合、myappsは仕事にとって間違ったツールだと思います。 Launchpadでプロジェクトをセットアップし、開発を主流にする必要があるかもしれません。

https://launchpad.net/projects/+new

あるいは、PPAは32ビットバージョンと64ビットバージョンに関して希望することを行うように設定できるはずですが、誰かがPPAをソースに追加するまでアクセスできないため、myappsで公開するのと同じではありません。

0
fabricator4

Michael Nelsonの答え 考慮すべきである、ああ、「標準的な」、しかし私はほとんど草案が終わったので、ここに私の2セントがある:)

プロプライエタリパッケージをアップロードする方法に関するDev Portalのポリシーは、この問題が発生する理由と代替手段を説明していると思います。

enter image description here

分解しましょう:

  1. ソースまたはバイナリ

    • 複数のバイナリをアップロードしたいようです。一般的に、プロプライエタリバイナリアプリは静的にリンクされるか、必要な依存関係を相対パスにバンドルするため、_apt-get_を除き、_ia32-libs_を介して余分なものをインストールする必要はありません。
    • このようなバイナリが、プラットフォームで失敗することなく、Ubuntu 11.04/11.10/12.04(ターゲットに設定されている方)で実行されることを確認するのはあなた次第です。知る限り、コア要件は、アプリ/ライブラリのコンパイルに使用されるlibcが、ターゲットとする最も古い可能性のあるカーネルと後方互換性があることです。 Preciseの現在のlibc 2.15では、Lucid以降のものは何でも問題ないと思います。
    • Debian化されていないソースを送信した場合、商用開発者に対するCanonicalのパッケージングサービスがどれほど広範囲かはわかりませんが、上記の「ユニバーサル」バイナリに類似したものにコンパイルできる必要があると思います。
  2. Debianソースパッケージ:

    • このオプションを使用する場合、必要なことは、(a)対象とする最も古いリリースのリポジトリで依存関係が利用可能であること、および(b)アプリが新しい機能を使用しないことです/たとえば、12.04では機能するが11.04では失敗するような依存関係のAPI/ABI。
    • この場合、Canonical/Soyuz(ビルドシステム)がリリースごとに複数のパッケージを作成してくれると思います。
  3. 人間を巻き込む-さまざまなバイナリをすべて巨大なtarballに詰めて、noodles775; p

0
ish