1

複数のバルドアウトで部品を再利用する方法はありますか? ビルドアウト間で変わらない、ビルドアウトに追加したいツールがいくつかあります。次に例を示します。

  • download-cache=~/.buildout/downloads などの構成されたグローバル ビルドアウト オプション
  • ビルドアウト A には cmake 2.8.4 が必要です
  • ビルドアウト B には cmake 2.8.4 が必要です

これを行う 1 つの方法は、それぞれの構成に以下を配置することです。

[cmake]
recipe = zc.recipe.cmmi
url = http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

これは 2 つのビルドアウト間で変わらないため、卵がキャッシュされる方法と同様に設定できれば、より多くのディスク容量を節約できます。しかし、これを行う良い方法がわかりません。buildout はこれを念頭に置いて設計されたとは思いません。


アイデア:

  • cmake tarball を Python の卵として再配布することは可能ですか? おそらく、さまざまなプラットフォーム用に tarball をコンパイルし、卵内のバイナリを再配布しますか?

  • 別のアイデアは、この種の動作を処理できるレシピを用意することです。おそらく、他のレシピをラップして、パーツがグローバルにインストールされているかどうかを確認するレシピです。おそらく、次のようになります。

[cmake]
recipe = my.recipe.reusuableparts
real-recipe = zc.recipe.cmmi
url = http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
4

1 に答える 1

1

zc.recipe.cmmiレシピはユースケースを直接サポートしていますが、十分に文書化されていません (卵には完全な文書が含まれています)shared選択したディレクトリにオプションを設定するだけです。

[cmake]
recipe = zc.recipe.cmmi
url = http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
shared = ~/shared-buildout-cmmi-builds/cmake/

または、単にTrueビルドアウト ダウンロード キャッシュに入れるように設定します。

[cmake]
recipe = zc.recipe.cmmi
url = http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
shared = True

このような共有動作をサポートするかどうかは、個々のレシピ次第です。ビルドアウトレシピはほとんど何でもできるので、ラッピングレシピは簡単に見られるとは思いません.

于 2011-05-24T16:49:16.960 に答える