9

私の会社には、Linux プラットフォーム用に C で記述されたソフトウェア製品があり、autotools で構築され、バイナリ パッケージを介して配布されています。バイナリを作成するには、まずソース RPM を生成し、SRPM からソースをコンパイルします。

現在、64 ビットの Fedora 10 用の RPM パッケージのみを提供していますが、複数の Linux ディストリビューション (32 ビットと 64 ビット)、および場合によっては各ディストリビューションの異なるバージョン (Fedora 11 など) 用のパッケージの提供を開始したいと考えています。 Fedora 10 など)。

複数の Linux フレーバーのビルドを作成する最善の方法は、単一のビルド サーバーを用意し、ビルドするパッケージ セットごとに異なる chroot 環境を使用することだと聞いています。おそらく、このビルドメカニズムを使用するよく知られたプロジェクトの例を使用して、これをより詳細に説明する優れたリソースを持っているか、同じ目標を達成するためのより良い代替手段がありますか?

4

5 に答える 5

3

おそらく、次のプロジェクトを調査して開始できます。

Novellビルドサービス

フェドラコウジ

于 2009-05-12T22:24:32.940 に答える
2

LSB appcheckerを使用して、アプリケーション/dynlib/シェル スクリプトの互換性をテストできます。その後、すべての RPM ディストリビューションに RPM を使用し、すべての apt-get ディストリビューションにエイリアンを使用し、他のディストリビューションには tar.gz を使用できます。

于 2009-05-13T07:15:59.810 に答える
1

のようなツールcheckinstallは、さまざまなディストリビューションのパッケージを作成するのに役立ちます。個人的には、既存のパッケージ管理システムとの統合を検討している場合は、サーバー上で複数のリポジトリをホストしてそこにパッケージを提供し、ユーザーにパッケージマネージャーを構成してサーバーからアプリをプルさせることもできます。

于 2009-05-13T07:28:39.103 に答える
0

あなたのソフトウェアが正確に何をするか、ローカルライブラリにどのような依存関係があるか (もしあれば) によっては、古い glibc ディストリビューションを使用してソフトウェアを構築し、多くの異なるディストリビューションで動作させることができる場合があります。これがInstallBuilderで行うことです。特定のパッケージに依存していない場合は、ほとんどの RPM または DEB ベースの Linux ディストリビューションで実行される RPM または DEB パッケージを作成することもできます。クロス Linux 開発は、いずれにしても簡単ではありません :) 頑張ってください!

于 2009-09-12T11:15:29.773 に答える
0

これは、ビルド エージェントに関するこの記事でBob Aiello が取り上げたケースの 1 つです。このアプローチを使用して複数のプラットフォームで並行して構築する顧客が何人かいます。

于 2009-09-12T15:18:14.300 に答える