zc.recipe.cmmi中的错误?

时间:2011-06-29 14:10:16

标签: plone buildout

如果我在环境中提供带有嵌入空间的变量,如下所示:

environment =
    CPPFLAGS="-D_GNU_SOURCE -I${openssl:location}/include"

我收到此错误:

ValueError:字典更新序列元素#1的长度为1; 2是必需的

这是一个错误吗?有解决方法吗?

2 个答案:

答案 0 :(得分:3)

这是zc.recipe.cmmi的一个缺点;它没有空格就无法处理环境变量。 bugtracker for the recipe中有一个补丁。

除了应用补丁之外,我目前还没有意识到解决方法。您可以使用collective.recipe.patch配方在现有鸡蛋上应用补丁,在这种情况下也可以使用(未​​经验证):

[buildout]
parts =
    patch-z.r.cmmi
    yourcmmipart

[patch-z.r.cmmi]
recipe = collective.recipe.patch
egg = zc.recipe.cmmi <= 1.3.4
patch = patches/environ_section_trunk_r101308.patch

这假设您有一个patches目录,其中包含已下载错误的补丁。需要在cmmi部件之前列出该部件才能在该部件之前执行(或者您可以构造依赖关系)。

答案 1 :(得分:1)

另一种解决方案是滥用配方的'configure-command',如下所示:

[buildthis]
recipe = zc.recipe.cmmi
...
configure-command =
  export CPPFLAGS="-D_GNU_SOURCE -I${openssl:location}/include";
  ./configure