在干净的3级容器中测试gentoo包的容器方法
ebuildtester的Python项目详细描述
此脚本是测试gentoo ebuild及其 依赖关系。我们的想法是,包是在一个干净的(和 当前)3级码头集装箱。
要求
您需要Docker和FUSE。Docker必须是 配置为使用devicemapper 存储驱动器。这可以通过以下内部实现 /etc/docker/daemon.json:
{"storage-driver":"devicemapper"}
用法
我们假设用户在
/usr/local/git/gentoo
我们添加了一个新的ebuild,并希望验证 依赖关系都是正确的。我们可以使用:
ebuildtester --portage-dir /usr/local/git/gentoo \ --atom ATOM \ --use USE1 USE2
在这里我们指定了两个use标志,use1和use2。这个 ebuildtester命令现在将创建一个docker容器并启动 安装原子。所有指定的依赖项都将安装为 好。
命令行参数
该命令理解以下命令行参数:
usage: ebuildtester [-h][--version][--atom ATOM [ATOM ...]][--live-ebuild][--manual] --portage-dir PORTAGE_DIR [--overlay-dir OVERLAY_DIR][--update {yes,true,no,false}][--threads N][--use USE [USE ...]][--global-use GLOBAL_USE [GLOBAL_USE ...]][--unmask ATOM][--unstable][--gcc-version VER][--rm][--with-X][--with-vnc][--profile {default/linux/amd64/17.0,default/linux/amd64/17.0/systemd}] A dockerized approach to test a Gentoo package within a clean stage3. optional arguments: -h, --help show this help message and exit --version show program's version number and exit --atom ATOM [ATOM ...] The package atom(s) to install --live-ebuild Unmask the live ebuild of the atom --manual Install package manually --portage-dir PORTAGE_DIR The local portage directory --overlay-dir OVERLAY_DIR Add overlay dir (can be used multiple times) --update {yes,true,no,false} Update container before installing atom --threads N Use N (default 8) threads to build packages --use USE [USE ...] The use flags for the atom --global-use GLOBAL_USE [GLOBAL_USE ...] Set global USE flag --unmask ATOM Unmask atom (can be used multiple times) --unstable Globally 'unstable' system, i.e. ~amd64 --gcc-version VER Use gcc version VER --rm Remove container after session is done --with-X Globally enable the X USE flag --with-vnc Install VNC server to test graphical applications --profile {default/linux/amd64/17.0,default/linux/amd64/17.0/systemd}