私たちは多少奇妙な制約を持つ企業環境で運営しており、この環境で機能するためにソフトウェアの構築と配布のための独自のシステムを作成しました。ソフトウェアは通常、次のように動作します。
ソフトウェアをダウンロードしてビルドし、一時的な場所にインストールします
$BUILD_ROOT/install
。手順1ですべてのパッケージが正常にインストールされた場合を使用して、「原子的
$BUILD_ROOT/install
に」コピーされます。$PREFIX
rsync
これはうまく機能しますが、問題は、最初のインストール段階で生成された一部のファイルを完全に再配置できず、インクルードパスを含むことです$BUILD_ROOT/install
。
$BUILD_ROOT/install
ディレクトリを(一時的に)次のように表示できるかどうか疑問に思います$PREFIX
。つまり、次のことができます。
mount-trick $PREFIX $BUILD_ROOT/install
- 使用 - ソフトウェアを設定してインストールします
$PREFIX
が、インストールトリックのためにファイルが実際に移動されます$BUILD_ROOT/install
。 - マウントキャンセルのヒント
rsync $BUILD_ROOT/install $PREFIX
バインドインストール、ループインストール、および/またはchrootなどのものを使用できる必要があると思いますか?