在虚拟化环境中构建银河系
starforge的Python项目详细描述
快速启动
对于所有类型的构建,从安装docker开始。
工具库依赖项
有两个脚本可以使用,这取决于包配方 可用:
$ ./build.sh <package> $ python build.py <package> --version 1.0
build.sh 是较旧的格式,只需使用一个 <;package>;build.sh 文件,如Atlas。 build.py 是较新的格式,并且 在 <;package>;/<;version>;/build.yml中使用yaml元数据
Galaxy软件包的基本图像是Debian Squence。希望这样 生成可用于Galaxy目标平台的二进制文件(编写时: CentOS 6+,Debian 6.0+,ubuntu 12.04+。
$ ./build galaxy <package> $ python build.py <package>
要针对不同的操作系统构建软件包,可以使用 –image 标志,例如:
$ ./build <dist>[:tag] <package> $ python build.py <package> --image <dist>[:tag]<>
$ ./build ubuntu:trusty nginx $ python build.py nginx --image debian:squeeze
构建所有东西:
有一个单独的build all.sh,它允许您构建 使用其首选生成机制的包
有关两个生成脚本的说明
生成.py
<;version>; 选项是可选的,默认为字符串 'default' , 对于没有版本特定更改(例如 bcftools 1.0的版本与1.2相同)
蟒蛇轮
starforge可以将纯python和c扩展python模块构建到wheels中 对于Docker下的Linux和QEMU/KVM下的Mac OS X。要做到这一点,你需要 使用pip install安装starforge(最好在python virtualenv中) starforge (从 pypi 安装)或 python setup.py install 安装 从源头出发。
要使用的Docker(和QEMU)映像在starforge/config/default.yml>中指定。 若要修改此文件,请将其复制到 $xdg_config_home/galaxy starforge/config.yml ( $xdg_config_home 是 默认设置。示例文件 wheels/build/wheels.yml 用于 确定可以建造哪些轮子及其建造规则。使用此 文件,使用 --wheels-c配置或复制 Wheels.yml 到 $xdg_config_home/galaxy starforge/wheels.yml
车轮可以使用StarForge车轮<;套装>; 制造,例如:
$ starforge wheel pycrypto $ starforge wheel --no-qemu pysam # only build on docker
有关使用StarForge命令行界面的帮助,请参见StarForge的输出
有关图像的说明
Linux
用于生成控制盘的图像上载到starforge docker hub 必要时会被拖走。通常您只使用 manylinux1轮子 和 manylinux1-32-wheel 图片,它们是 manylinux 基于centos 5的图像 通常会在所有银河系支持的平台上生成可用的轮子。
您还可以使用全轮来生产"特定于平台"的车轮 小精灵。如果要链接到特定于分发的系统,这将非常有用 不将非标准库捆绑到控制盘的版本。
Mac OS X
由于法律原因,不提供Mac OS X映像。咨询OSX 有关详细信息的文档。