web-dev-qa-db-ja.com

.runインストーラーを.debインストーラーに変換する方法は?

Ubuntu14.04を実行しています。

プロジェクトに使用するサードパーティのシステムライブラリがたくさんありますが、ライブラリのインストールを管理するのは困難です。一部のライブラリは.debファイルであり、一部はソースから構築され(次に、.debを作成します)、一部は.runファイルです。

私の目標は、これらのサードパーティシステムライブラリを.debファイルの形式でホストする独自の個人用リポジトリを作成することです。私の問題は、.runファイルを.debファイルに変換することです。

Checkinstallを使用して.debファイル(具体的にはUEyeカメラドライバーが見つかりました ここ )を実行しようとしましたが、checkinstallがファイルシステムへの変更をキャプチャすることを期待していましたが、残念ながらそれは惨事でした。

.runファイルを.debファイルに変換するクリーンな方法はありますか?

3
trianta2

これを行うための簡単で普遍的な方法はありません。一般的な.runファイルの最初の部分(参照としてATIドライバインストールファイルを使用します)はスクリプトであり、その後に圧縮データのストリームが続き、すぐにファイルシステムに保存されます。それをdebファイルに変換するには、ディレクトリ内のストリームを解凍し、debian/ディレクトリを作成し、rulesファイル内に編集して、dhmakeがディレクトリ構造を取得してファイルをコピーするようにする必要があります。 Makefileスクリプトを使用するinstallまたは同等のものがないためです。

これらの実行ファイルのほとんどは DFSG互換 でもないので、ソフトウェアディストリビューターに Debianパッケージ を作成するように依頼することを強くお勧めします。

2
Braiam

私がやったことは:

  1. .runファイルを含むカスタム.debを作成します
  2. .runファイルを/ tmpに「インストール」します
  3. postinstを使用して.runファイルを実行します(後で削除します)
  4. この特定の.runファイルは、実際には、元の.runファイルを必要としない独自のアンインストールスクリプトを提供します。そのため、postrmを使用してそのスクリプトを実行します。

すべてが非常にうまく機能します。不満はなく、とてもシンプルです。

1
trianta2