5

これが私の問題です:

私はプログラムを持っているので、ユーザーが自分でコンパイルする必要がないように、バイナリ形式で配布したいと思います。

私はすでに .deb パッケージをビルドしています。ただし、私が覚えているように、1 つの構成ファイルを取り、.deb、.rpm、さらには .dmg、.msi などのさまざまなバイナリ パッケージをさまざまな形式で生成するプログラムが必要です。パッケージに含める必要のあるファイル (およびそのビルド方法) を指定すると、さまざまなパッケージが生成されます。

いくつかのキーワードをグーグルで検索した後、名前を知らずにそのようなプログラムを見つけるのは難しいことに気付きました。(そういうものがあるべきだと思います。実はどこかで見た記憶があります。)

4

2 に答える 2

6

Effing Package Management は rpm と deb の両方を実行できます ( https://github.com/jordansissel/fpmから入手して ください)

あなたが話している種類のクロスプラットフォーム展開については、http://project-builder.org/を試すことができます

*注 - これらのツールを使用したことはありませんが、聞いたことはあります

于 2012-07-03T00:48:27.050 に答える
4

私の意見ではあなたのアプローチは間違っています。開発者としてのあなたの仕事は、プログラムを開発することであり、すべての異なるLinuxディストリビューション用にパッケージ化することではありません。ディストリビューションにパッケージングを処理させます。それらのパッケージングガイドラインに関する知識が存在しないため、一部のシステムでは見事な方法で失敗する可能性があり、さらに悪いことに、ユーザーのシステムを破壊する可能性さえあるバイナリパッケージを作成する可能性があります。

ただし、できること

  • ライセンスが明確でシンプルであることを確認してください(できればOSI承認ライセンスの1つ)
  • バージョンを含む依存関係をリストし、それらをバンドルしないでください
  • 健全な更新ポリシーを用意します(つまり、ミニ/マイクロバージョンの更新はAPIを壊したり、大きな変更を導入したりしません)
  • 標準のビルドシステムの1つを使用します(プロジェクトに応じて、autotools、setup.py、mavenなどになります)
  • 理想的には奇妙なことをしないでください、しかしいくつかの素晴らしいプロジェクトがどのように物事を行うかを学びましょう(Apacheプロジェクトは通常賢明なアプローチを持っています)
  • 次に、ディストリビューションに連絡して、プログラムの保守に関心のあるいくつかのパッケージを入手してみてください
于 2012-07-10T09:10:25.913 に答える