ソースコードをコンパイルしてデプロイ用のバイナリに再パッケージする方法は?

ソースコードをコンパイルしてデプロイ用のバイナリに再パッケージする方法は?

現在のソースからGDAL3.0.4ライブラリをコンパイルしてインストールしていますが、そのためにはProj6.0.0もコンパイルしてインストールする必要があります。良い結果。

そのため、次の部分は、ソースから再コンパイルすることなく他のサーバーにインストールできるように実行可能ファイル(おそらくバイナリ)をパッケージ化することです。

私はこれに本当に新しいものです。そのため、フォルダ全体を持ち上げて移動し、圧縮して別のサーバーに移動し、sudo make install新しいサーバーでGDALを使用してみました。動作しているようですが、gdalinfo: error while loading shared libraries: libproj.so.15: cannot open shared object file: No such file or directorygdalinfoコマンドを呼び出すとエラーが発生します。これにより、proj6に対してsamwを実行するようになりました。しかし、今はg ++を使用できないので、proj6でも同じことをする必要があります。

このサーバーでリポジトリが無効になっているredhat7.7を実行しています。

私の現在のアプローチが完全に間違っている可能性があるので、アドバイスを聞きたいです。究極の目標は、ソースからコンパイルせずに他のサーバーにインストールできるようにgdalバージョンをパッケージ化することです。

編集:だからrpmを使ってビルドできることがわかったので、それの仕様ファイルを自分で書く必要がありますか?

答え1

私はいつも読書をお勧めします。RPMパッケージングガイドrpmパッケージを始める人のためです。

rpm仕様ファイルを使用するには、「rpmdevtools」パッケージをインストールすることをお勧めします。このガイドでは、利用可能ないくつかのサンプル仕様ファイルも提供しています。このrpmdev-newspecコマンドは、テンプレート(Python、Perl、ライブラリなど)からさまざまな種類のパッケージを生成できます。

仕様ファイルがあれば、さまざまなツールを使用してパッケージを構築できます。このmockコマンドはchrootedビルドプロセスからすべてをビルドするため、ビルドシステムを汚染したり、ビルドシステムがパッケージングプロセスを汚染したりすることを心配する必要がないため、このコマンドをお勧めします。また、他のバージョンをビルドすることもできるため、FedoraシステムでRHELパッケージをビルドできます。

関連情報