OpenCore构建器
项目描述
这是fassembler,OpenCore的构建系统,主页: http://www.coactivate.org/projects/fassembler/project-home
概述
这可能是类似GNU Make,Buildit等通用构建软件。但它专门为运行CoActivate.org的软件的构建和部署需求而开发。
如何使用Fassembler
要求
Python >= 2.4
… 以及?
许可
见doc/license.txt
修改Fassembler
添加项目
创建fassembler.project:Project的子类
在setup.py中的setup()中添加入口点
如果需要,更新doc/ports.txt和fassembler.topp:CheckBasePorts.port_range。
更改
0.7
Fassembler更改
添加了新的tasks.InstallSpecIfPresent,它检查要求规范路径是否存在于文件系统中,如果文件不存在则不执行任何操作。
tasks.VirtualEnv(never_create_virtualenv=True)不再运行任何子任务。
添加了新的任务fassembler.apache.CheckApache,它将检查所需的Apache模块列表的存在。它必须从子类fassembler.apache.ApacheMixin的项目中调用。
项目更改
fassembler:topp现在如果存在,将requirements/fassembler-req.txt安装到fassembler虚拟环境中。此文件可以指定提供额外fassembler项目的附加包,这些项目将在构建的其余部分中使用。
此操作之前由
opencore-fassembler_boot
中的rebuild-opencore-site
脚本执行,现在将其移动到这里以更好地封装构建。 (构建应该能够完全由fassembler运行;opencore-fassembler_boot应仅是一个方便的包,该包封装了fassembler的更复杂知识。)fassembler:buildmaster和buildslave中的各种配置更改。
fassembler:wordpress 现在检查其所需 Apache 模块的安装情况,包括 Apache PHP 模块。
为 opencore 的 i18ndude 子项目嵌入固定需求。
0.6
Fassembler更改
Fassembler 对用户的 $LANG 是英语有硬编码的期望 – Maker._get_repo_url 解析 Subversion 的错误信息时假设它是英文。这在新构建运行 fassembler:topp 并在 etc 目录上运行 svn info 时表现出来,该目录将作为未版本化的目录存在。
现在如果用户的 $LANG 是西班牙语,它也能正常工作。但其他语言不行!
当然,这非常愚蠢,应该立即更正。
在安装虚拟环境时,始终将 setuptools 0.6c11 安装到新的虚拟环境中。这可以防止在虚拟环境版本默认安装了损坏的 setuptools 0.6c8 的系统上出现问题。症状:如“未识别的格式”和“全局名称‘log’未定义”之类的错误。
修复项目中 use_pip=True 的间歇性错误:“未找到预期的可执行文件 [‘pip’,‘-E’,…]。” 当 use_pip=True 时,Fassembler 现在将在虚拟环境创建期间 easy_install pip,并在尝试运行 pip 之前将 virtualenv_bin_path 添加到 $PATH 中。这应该可以保证可以找到可执行文件 pip。
项目更改
向 fassembler:cabochon 项目添加布尔设置 use_pip。默认情况下,fassembler:cabochon 使用 pip 而不是 easy_install,因为在这里它似乎表现更好。
修改 zeo skel 的配置,使用 {{env.var}}/zeo/zdsock(一个 Unix 套接字)而不是端口号进行连接。同样修改 zope skels 的配置,使其连接到 {{env.var}}/zeo/zdsock。见 http://www.coactivate.org/projects/opencore/lists/opencore-dev/archive/2010/07/1278617074321/forum_view
RunZopeScriptsWithZeo 作业现在查找 config.skip_zopectl_scripts 设置。如果将其设置为 True 值,则作业不执行任何操作。这可以用来防止在另一个 ZEO 实例已运行且用户知道 zopectl 初始化脚本不需要运行的情况下,构建在此任务上挂起,即当并行构建运行中的站点的代码升级时。
fassembler:maildrop 和 fassembler:zeo 项目现在包括此 skip_zopectl_scripts 设置,默认为 0。
向 supervisor 项目添加设置 supervisor_var,默认为 {{env.var}}/supervisor。这用于构建 supervisor 使用的 Unix 套接字文件和 pidfile 的路径。如果构建与运行中的站点并行的升级,则将此设置为不同于 {{env.var}}/supervisor 的值可能很有用,以便旧的和新 supervisor 进程可以同时运行而不会相互干扰。
extrazope 项目现在在 zcmlloader 源目录中运行 python setup.py zinstall,将 zcmlloader 的 zcml 入口点复制到每个额外的 Zope 的 package-includes 中。(不久的将来,opencore 将停止使用 zcmlloader,转而使用 z3c.autoinclude,届时这些 zinstall 便不再需要。)
extrazope 项目现在为每个实例创建一个单独的 var 目录,并将 zope.conf 中实例的 pidfile、锁文件等指向该目录。
0.5
向 environ 对象添加 num_extra_zopes 属性,它查找 build.ini 的 [general] 部分中的 num_extra_zopes 设置,并返回它作为整数或 0(如果不存在此类设置)。
此设置将用于在前端配置中填充 opencore_remote_uri 的值,允许前端代理到一组负载均衡的 Zope 实例。
fassembler:topp 项目中已添加了 num_extra_zopes 设置,并将其保存到 build.ini 文件中。
0.4
这是为 fassembler 制定的第一个标签。在此之前发生了许多事情,但从未进行过发布。
在本版本中
添加了 fassembler:extrazope 项目,它将构建一个连接到同一 ZEO 服务器的附加 Zope 实例。
在 fassembler:opencore 中,使 debug 设置真正生效,以控制是否在运行 ./opencore/bin/zopectl fg(其中它之前始终以 debug-mode=on 运行)或 ./bin/start-opencore(其中它之前始终以 debug-mode=off 运行)时以调试模式启动 zope。
为 fassembler.tasks.VirtualEnv 添加了一个设置 never_create_virtualenv,如果设置该值,则使该任务作为给定 virtualenv 存在的断言,因此如果 virtualenv 还未创建,则构建会失败。
项目详细信息
fassembler-0.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 887d2256538aae82f2ae8b07f145220764606476652ed2c3236c5a0453a861d5 |
|
MD5 | c17a015eced741149de79f641ffb6bff |
|
BLAKE2b-256 | 15c63f97ea0f4a6dabc2c70c1ebb25489d678dfd7ca9d099c7f32e1ebd63dd4d |